Go::AlgObj3DInt Class Reference
[Intersections]

Class for 3-dimensional algebraic intersection objects. More...

#include <AlgObj3DInt.h>

Inheritance diagram for Go::AlgObj3DInt:

Go::AlgObjectInt Go::CylinderInt Go::PlaneInt Go::SphereInt List of all members.

Public Member Functions

 AlgObj3DInt (int degree)
 Constructor.
 AlgObj3DInt (const std::vector< Alg3DElem > &terms)
 Constructor.
 AlgObj3DInt (const BernsteinTetrahedralPoly &implicit, const BaryCoordSystem3D &bc)
 Constructor.
virtual ~AlgObj3DInt ()
 Destructor.
int numTerms ()
 Get the number of terms in the algebraic object.
int degree ()
 Get the degree of the algebraic object.
Alg3DElem term (int index)
 Get the corresponding term from the algebraic object.
void getImplicit (BernsteinTetrahedralPoly &impl, BaryCoordSystem3D &bc)
 Get the implicit representation of the object.
bool usingPowerBasis ()
 Verify whether we are using a standard power basis representation for the object.

Protected Attributes

int degree_
std::vector< Alg3DElemterms_
bool power_basis_
BernsteinTetrahedralPoly implicit_
BaryCoordSystem3D bc_

Detailed Description

Class for 3-dimensional algebraic intersection objects.

Supports two different representations: Polynomials on power basis, or Bernstein polynomials on a tetrahedron.

Definition at line 74 of file AlgObj3DInt.h.


Constructor & Destructor Documentation

Go::AlgObj3DInt::AlgObj3DInt ( int  degree  ) 

Constructor.

Parameters:
degree the total degree of the algebraic expression, i.e. the maximum sum of exponents of a term.

Go::AlgObj3DInt::AlgObj3DInt ( const std::vector< Alg3DElem > &  terms  ) 

Constructor.

Parameters:
terms the terms in the algebraic expression, i.e. elements on the form $a_{ijk} x^i y^j z^k$.

Go::AlgObj3DInt::AlgObj3DInt ( const BernsteinTetrahedralPoly &  implicit,
const BaryCoordSystem3D &  bc 
)

Constructor.

We define the algebraic expression using another representation than the standard power basis formulation. This will (typically) be the result from an approximative implicitization of a spline surface.

Parameters:
implicit the implicit object.
bc the barycentric coordinate system for the representation.


Member Function Documentation

int Go::AlgObj3DInt::numTerms (  )  [inline]

Get the number of terms in the algebraic object.

Returns:
The number of terms in the object.

Definition at line 102 of file AlgObj3DInt.h.

References terms_.

int Go::AlgObj3DInt::degree (  )  [inline]

Get the degree of the algebraic object.

Returns:
the degree

Definition at line 107 of file AlgObj3DInt.h.

References degree_.

Alg3DElem Go::AlgObj3DInt::term ( int  index  ) 

Get the corresponding term from the algebraic object.

Parameters:
index the index of the term in question. Indexing starts at 0.

void Go::AlgObj3DInt::getImplicit ( BernsteinTetrahedralPoly &  impl,
BaryCoordSystem3D &  bc 
) [inline]

Get the implicit representation of the object.

Parameters:
impl the implicit representation.
bc the corresponding coordinate system.

Definition at line 118 of file AlgObj3DInt.h.

References bc_, and implicit_.

bool Go::AlgObj3DInt::usingPowerBasis (  )  [inline]

Verify whether we are using a standard power basis representation for the object.

Returns:
True if we are using a standard power basis representation. For typical algebraic objects like spheres this will be the case, but not for approximative implicitizations of spline surfaces.

Definition at line 130 of file AlgObj3DInt.h.

References power_basis_.


The documentation for this class was generated from the following file:
Generated on Fri Nov 23 12:24:33 2007 for GoTools Intersections Library by  doxygen 1.5.1