Classes | |
class | BernsteinMulti |
Class that implements bivariate tensor product Bernstein polynomials on the domain [0,1]x[0,1]. More... | |
class | BernsteinPoly |
Class that implements Bernstein polynomials on the interval [0,1]. More... | |
class | BernsteinTetrahedralPoly |
Class that implements Bernstein polynomials on a tetrahedron. More... | |
class | BernsteinTriangularPoly |
Class that implements Bernstein polynomials on a triangle. More... | |
class | BezierTriangle |
Not documented. More... | |
class | Binomial |
Class that computes the binomial coefficients. More... | |
class | ImplicitizeCurveAlgo |
Class that implements an implicitization algorithm for spline curves. More... | |
class | ImplicitizeCurveAndVectorAlgo |
Class that implements an algorithm for finding an implicit ruled surface defined by a curve and a vector. More... | |
class | ImplicitizePointCloudAlgo |
Class that implements an algorithm for finding an implicit surface from a 3D point cloud. More... | |
class | ImplicitizeSurfaceAlgo |
Class that implements an implicitization algorithm for spline surfaces. More... | |
Functions | |
BernsteinMulti | operator * (const BernsteinMulti &m1, const BernsteinMulti &m2) |
Multiplication of two polynomials. | |
BernsteinMulti | operator * (const BernsteinMulti &m1, double c) |
Multiplication of a polynomial with a scalar. | |
BernsteinMulti | operator * (double c, const BernsteinMulti &m1) |
Multiplication of a scalar with a polynomial. | |
BernsteinMulti | operator+ (const BernsteinMulti &m1, const BernsteinMulti &m2) |
Addition of two polynomials. | |
BernsteinMulti | operator+ (const BernsteinMulti &m, double c) |
Addition of a polynomial with a scalar. | |
BernsteinMulti | operator+ (double c, const BernsteinMulti &m) |
Addition of a scalar with a polynomial. | |
BernsteinMulti | operator- (const BernsteinMulti &m1, const BernsteinMulti &m2) |
Subtraction of two polynomials. | |
BernsteinMulti | operator- (const BernsteinMulti &m, double c) |
Subtraction of a scalar from a polynomial. | |
BernsteinMulti | operator- (double c, const BernsteinMulti &m) |
Subtraction of a polynomial from a scalar. | |
BernsteinMulti | operator/ (const BernsteinMulti &m, double c) |
Division of a polynomial with a scalar. | |
BernsteinPoly | operator * (const BernsteinPoly &p1, const BernsteinPoly &p2) |
Multiplication of two polynomials. | |
BernsteinPoly | operator * (const BernsteinPoly &p, double c) |
Multiplication of a polynomial with a scalar. | |
BernsteinPoly | operator * (double c, const BernsteinPoly &p) |
Multiplication of a scalar with a polynomial. | |
BernsteinPoly | operator+ (const BernsteinPoly &p1, const BernsteinPoly &p2) |
Addition of two polynomials. | |
BernsteinPoly | operator+ (double c, const BernsteinPoly &p) |
Addition of a scalar with a polynomial. | |
BernsteinPoly | operator+ (const BernsteinPoly &p, double c) |
Addition of a polynomial with a scalar. | |
BernsteinPoly | operator- (const BernsteinPoly &p1, const BernsteinPoly &p2) |
Subtraction of two polynomials. | |
BernsteinPoly | operator- (double c, const BernsteinPoly &p) |
Subtraction of a polynomial from a scalar. | |
BernsteinPoly | operator- (const BernsteinPoly &p, double c) |
Subtraction of a scalar from a polynomial. | |
BernsteinPoly | operator/ (const BernsteinPoly &p, double c) |
Division of a polynomial with a scalar. | |
BernsteinTetrahedralPoly | operator * (const BernsteinTetrahedralPoly &p1, const BernsteinTetrahedralPoly &p2) |
Multiplication of two polynomials. | |
BernsteinTetrahedralPoly | operator * (const BernsteinTetrahedralPoly &p, double c) |
Multiplication of a polynomial with a scalar. | |
BernsteinTetrahedralPoly | operator * (double c, const BernsteinTetrahedralPoly &p) |
Multiplication of a scalar with a polynomial. | |
BernsteinTetrahedralPoly | operator+ (const BernsteinTetrahedralPoly &p1, const BernsteinTetrahedralPoly &p2) |
Addition of two polynomials. | |
BernsteinTetrahedralPoly | operator+ (double c, const BernsteinTetrahedralPoly &p) |
Addition of a scalar with a polynomial. | |
BernsteinTetrahedralPoly | operator+ (const BernsteinTetrahedralPoly &p, double c) |
Addition of a polynomial with a scalar. | |
BernsteinTetrahedralPoly | operator- (const BernsteinTetrahedralPoly &p1, const BernsteinTetrahedralPoly &p2) |
Subtraction of two polynomials. | |
BernsteinTetrahedralPoly | operator- (double c, const BernsteinTetrahedralPoly &p) |
Subtraction of a polynomial from a scalar. | |
BernsteinTetrahedralPoly | operator- (const BernsteinTetrahedralPoly &p, double c) |
Subtraction of a scalar from a polynomial. | |
BernsteinTetrahedralPoly | operator/ (const BernsteinTetrahedralPoly &p, double c) |
Division of a polynomial with a scalar. | |
std::istream & | operator>> (std::istream &is, Go::BernsteinTetrahedralPoly &p) |
Read BernsteinTetrahedralPoly from input stream. | |
std::ostream & | operator<< (std::ostream &os, const Go::BernsteinTetrahedralPoly &p) |
Write BernsteinTetrahedralPoly to output stream. | |
BernsteinTriangularPoly | operator * (const BernsteinTriangularPoly &p1, const BernsteinTriangularPoly &p2) |
Multiplication of two polynomials. | |
BernsteinTriangularPoly | operator * (const BernsteinTriangularPoly &p, double c) |
Multiplication of a polynomial with a scalar. | |
BernsteinTriangularPoly | operator * (double c, const BernsteinTriangularPoly &p) |
Multiplication of a scalar with a polynomial. | |
BernsteinTriangularPoly | operator+ (const BernsteinTriangularPoly &p1, const BernsteinTriangularPoly &p2) |
Addition of two polynomials. | |
BernsteinTriangularPoly | operator+ (double c, const BernsteinTriangularPoly &p) |
Addition of a scalar with a polynomial. | |
BernsteinTriangularPoly | operator+ (const BernsteinTriangularPoly &p, double c) |
Addition of a polynomial with a scalar. | |
BernsteinTriangularPoly | operator- (const BernsteinTriangularPoly &p1, const BernsteinTriangularPoly &p2) |
Subtraction of two polynomials. | |
BernsteinTriangularPoly | operator- (double c, const BernsteinTriangularPoly &p) |
Subtraction of a polynomial from a scalar. | |
BernsteinTriangularPoly | operator- (const BernsteinTriangularPoly &p, double c) |
Subtraction of a scalar from a polynomial. | |
BernsteinTriangularPoly | operator/ (const BernsteinTriangularPoly &p, double c) |
Division of a polynomial with a scalar. | |
std::istream & | operator>> (std::istream &is, Go::BernsteinTriangularPoly &p) |
Read BernsteinTriangularPoly from input stream. | |
std::ostream & | operator<< (std::ostream &os, const Go::BernsteinTriangularPoly &p) |
Write BernsteinTriangularPoly to output stream. | |
void | spline_to_bernstein (const SplineCurve &seg, int dd, BernsteinPoly &bp) |
Takes a segment (defined as having numCoefs() == order() and an order()-regular knot vector) and returns a bernstein polynomial equal to the curve's coordinate number dd. | |
void | spline_to_bernstein (const SplineSurface &pat, int dd, BernsteinMulti &bm) |
Converts the dd-component of a surface patch on SplineSurface form to a BernsteinMulti. | |
void | spline_to_bernstein (const SplineCurve &seg, std::vector< BernsteinPoly > &seg_bp) |
Converts a curve segment on SplineCurve form to a vector of BernsteinPolys. | |
void | spline_to_bernstein (const SplineSurface &pat, std::vector< BernsteinMulti > &pat_bm) |
Converts a surface patch on SplineSurface form to a vector of BernsteinMultis. | |
template<int Ndim> | |
void | splineToBernstein (const SplineCurve &segment, Array< BernsteinPoly, Ndim > &curve_bp) |
Converts a Bezier curve segment on SplineCurve form to an Array of Ndim BernsteinPolys. | |
template<int Ndim> | |
void | splineToBernstein (const SplineSurface &patch, Array< BernsteinMulti, Ndim > &surface_bm) |
Converts a Bezier surface patch on SplineSurface form to an Array of Ndim BernsteinMultis. | |
template<int Ndim> | |
void | bernsteinToSpline (const Array< BernsteinPoly, Ndim > &curve_bp, bool rational, SplineCurve &segment) |
Converts an Array of Ndim BernsteinPolys to a SplineCurve segment. | |
template<int Ndim> | |
void | bernsteinToSpline (const Array< BernsteinMulti, Ndim > &surface_bm, bool rational, SplineSurface &patch) |
Converts an Array of Ndim BernsteinMultis to a SplineSurface patch. | |
void | create_bary_coord_system2D (const SplineCurve &curve, BaryCoordSystem2D &bc) |
Creates a barycentric coordinate system from a given spline curve. | |
void | create_bary_coord_system3D (const SplineCurve &curve, BaryCoordSystem3D &bc) |
Creates a barycentric coordinate system from a given 3D spline curve. | |
void | create_bary_coord_system3D (const SplineSurface &surface, BaryCoordSystem3D &bc) |
Creates a barycentric coordinate system from a given spline surface. | |
void | create_bary_coord_system3D (const PointCloud3D &cloud, BaryCoordSystem3D &bc) |
Creates a barycentric coordinate system from a point cloud. | |
void | create_bary_coord_system3D (const BoundingBox &box, BaryCoordSystem3D &bc) |
Creates a barycentric coordinate system from a bounding box. | |
void | cart_to_bary (const SplineCurve &cv, const BaryCoordSystem2D &bc, SplineCurve &cv_bc) |
Creates a new curve with control points in 3 barycentric coordinates from the 2D input curve. | |
void | cart_to_bary (const SplineCurve &cv, const BaryCoordSystem3D &bc, SplineCurve &cv_bc) |
Creates a new curve with control points in 4 barycentric coordinates from the 3D input curve. | |
void | cart_to_bary (const SplineSurface &sf, const BaryCoordSystem3D &bc, SplineSurface &sf_bc) |
Creates a new surface with control points in 4 barycentric coordinates from the 3D input surface. | |
void | cart_to_bary (const PointCloud3D &cloud, const BaryCoordSystem3D &bc, PointCloud4D &cloud_bc) |
Creates a new point cloud in 4 barycentric coordinates from the 3D input cloud. | |
void | make_matrix (const SplineCurve &curve, int deg, std::vector< std::vector< double > > &mat) |
Make the matrix D. | |
void | make_matrix (const SplineSurface &surf, int deg, std::vector< std::vector< double > > &mat) |
Make the matrix D. | |
void | make_matrix (const PointCloud4D &cloud, int deg, std::vector< std::vector< double > > &mat) |
Make the matrix D. | |
void | make_implicit_svd (std::vector< std::vector< double > > &mat, std::vector< double > &b, double &sigma_min) |
Performs implicitization using SVD. | |
void | make_implicit_gauss (std::vector< std::vector< double > > &mat, std::vector< double > &b) |
Performs implicitization using Gaussian elimination. |