Go to Overview over all GrAL packages.
Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

dimension_dependent_primitives_3d Struct Template Reference

#include <primitives3d.h>

Inheritance diagram for dimension_dependent_primitives_3d:

Inheritance graph
[legend]
Collaboration diagram for dimension_dependent_primitives_3d:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Norm_frobenius Norm_F
typedef Norm_1 Norm_columnsum
typedef Norm_infinity Norm_oo
typedef Norm_infinity Norm_rowsum

Static Public Methods

scalar det3 (const POINT &p1, const POINT &p2, const POINT &p3)
 returns the determinant of the matrix (p1,p2,p3). More...

scalar triangle_area (const POINT &p1, const POINT &p2, const POINT &p3)
 returns the area of the triangle with corners pi in . More...

POINT vectorproduct (const POINT &p, const POINT &q)
 returns . More...

void inverse (POINT const &r1, POINT const &r2, POINT const &r3, POINT &i1, POINT &i2, POINT &i3)
 Calculate inverse by Cramer's rule. More...

void solve (POINT const &A1, POINT const &A2, POINT const &A3, POINT &x, POINT const &b)
 Solve for . More...

real matrixnorm_infinity (POINT const &A1, POINT const &A2, POINT const &A3)
real matrixnorm_1 (POINT const &A1, POINT const &A2, POINT const &A3)
real matrixnorm_frobenius (POINT const &A1, POINT const &A2, POINT const &A3)
template<class NORM> real condition (POINT const &A1, POINT const &A2, POINT const &A3, NORM const &N)

Detailed Description

template<class POINT>
struct dimension_dependent_primitives_3d< POINT >

geometric functions specific to 3D

This can be used to specialize dimension_dependent_primitives<POINT> to dimension_dependent_primitives_3d<POINT> for 3D points.

Definition at line 18 of file primitives3d.h.


Member Typedef Documentation

template<class POINT>
typedef Norm_frobenius dimension_dependent_primitives_3d::Norm_F
 

Definition at line 133 of file primitives3d.h.

template<class POINT>
typedef Norm_1 dimension_dependent_primitives_3d::Norm_columnsum
 

Definition at line 139 of file primitives3d.h.

template<class POINT>
typedef Norm_infinity dimension_dependent_primitives_3d::Norm_oo
 

Definition at line 145 of file primitives3d.h.

template<class POINT>
typedef Norm_infinity dimension_dependent_primitives_3d::Norm_rowsum
 

Definition at line 146 of file primitives3d.h.


Member Function Documentation

template<class POINT>
scalar dimension_dependent_primitives_3d< POINT >::det3 const POINT &    p1,
const POINT &    p2,
const POINT &    p3
[inline, static]
 

returns the determinant of the matrix (p1,p2,p3).

Definition at line 23 of file primitives3d.h.

References basic_algebraic_primitives::scalar.

Referenced by condition, inverse, and solve.

template<class POINT>
scalar dimension_dependent_primitives_3d< POINT >::triangle_area const POINT &    p1,
const POINT &    p2,
const POINT &    p3
[inline, static]
 

returns the area of the triangle with corners pi in .

Definition at line 35 of file primitives3d.h.

References basic_algebraic_primitives::norm_2, basic_algebraic_primitives::scalar, and vectorproduct.

template<class POINT>
POINT dimension_dependent_primitives_3d< POINT >::vectorproduct const POINT &    p,
const POINT &    q
[inline, static]
 

returns .

Definition at line 40 of file primitives3d.h.

Referenced by triangle_area.

template<class POINT>
void dimension_dependent_primitives_3d< POINT >::inverse POINT const &    r1,
POINT const &    r2,
POINT const &    r3,
POINT &    i1,
POINT &    i2,
POINT &    i3
[inline, static]
 

Calculate inverse by Cramer's rule.

The inverse I = (i1,i2,i3) of the matrix (r1,r2,r3) with the rows ri is calculated using Cramer's rule.

Definition at line 54 of file primitives3d.h.

References det3, and basic_algebraic_primitives::scalar.

Referenced by condition.

template<class POINT>
void dimension_dependent_primitives_3d< POINT >::solve POINT const &    A1,
POINT const &    A2,
POINT const &    A3,
POINT &    x,
POINT const &    b
[inline, static]
 

Solve for .

The implementation uses Cramer's rule.

Definition at line 84 of file primitives3d.h.

References det3, and basic_algebraic_primitives::scalar.

template<class POINT>
real dimension_dependent_primitives_3d< POINT >::matrixnorm_infinity POINT const &    A1,
POINT const &    A2,
POINT const &    A3
[inline, static]
 

Definition at line 97 of file primitives3d.h.

References basic_algebraic_primitives::real.

Referenced by dimension_dependent_primitives_3d::Norm_infinity::operator().

template<class POINT>
real dimension_dependent_primitives_3d< POINT >::matrixnorm_1 POINT const &    A1,
POINT const &    A2,
POINT const &    A3
[inline, static]
 

Calculate the 1-norm

Definition at line 110 of file primitives3d.h.

References basic_algebraic_primitives::norm_1, and basic_algebraic_primitives::real.

Referenced by dimension_dependent_primitives_3d::Norm_1::operator().

template<class POINT>
real dimension_dependent_primitives_3d< POINT >::matrixnorm_frobenius POINT const &    A1,
POINT const &    A2,
POINT const &    A3
[inline, static]
 

Definition at line 122 of file primitives3d.h.

References basic_algebraic_primitives::real, and basic_algebraic_primitives::squared_norm_2.

Referenced by dimension_dependent_primitives_3d::Norm_frobenius::operator().

template<class POINT>
template<class NORM>
real dimension_dependent_primitives_3d< POINT >::condition POINT const &    A1,
POINT const &    A2,
POINT const &    A3,
NORM const &    N
[inline, static]
 

Definition at line 149 of file primitives3d.h.

References det3, inverse, basic_algebraic_primitives::norm_2, and basic_algebraic_primitives::real.


The documentation for this struct was generated from the following file:
Copyright (c) Guntram Berti 1997-2002. See the GrAL Homepage for up-to-date information.

Generated at Tue Feb 26 15:57:33 2002 for Geometry by doxygen 1.2.11-20011104 written by Dimitri van Heesch, © 1997-2000