#include <AlgObj3DInt.h>
Inheritance diagram for Go::AlgObj3DInt:
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< Alg3DElem > | terms_ |
bool | power_basis_ |
BernsteinTetrahedralPoly | implicit_ |
BaryCoordSystem3D | bc_ |
Supports two different representations: Polynomials on power basis, or Bernstein polynomials on a tetrahedron.
Definition at line 74 of file AlgObj3DInt.h.
Go::AlgObj3DInt::AlgObj3DInt | ( | int | degree | ) |
Constructor.
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.
terms | the terms in the algebraic expression, i.e. elements on the form . |
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.
implicit | the implicit object. | |
bc | the barycentric coordinate system for the representation. |
int Go::AlgObj3DInt::numTerms | ( | ) | [inline] |
Get the number of terms in the algebraic object.
Definition at line 102 of file AlgObj3DInt.h.
References terms_.
int Go::AlgObj3DInt::degree | ( | ) | [inline] |
Get the degree of the algebraic object.
Definition at line 107 of file AlgObj3DInt.h.
References degree_.
Alg3DElem Go::AlgObj3DInt::term | ( | int | index | ) |
Get the corresponding term from the algebraic object.
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.
impl | the implicit representation. | |
bc | the corresponding coordinate system. |
Definition at line 118 of file AlgObj3DInt.h.
bool Go::AlgObj3DInt::usingPowerBasis | ( | ) | [inline] |
Verify whether we are using a standard power basis representation for the object.
Definition at line 130 of file AlgObj3DInt.h.
References power_basis_.