Public Member Functions | Protected Member Functions | Protected Attributes

Geometry::CubicBezierSurface Class Reference

Inheritance diagram for Geometry::CubicBezierSurface:
Geometry::ParametricSurface Geometry::RowColSurface Geometry::Element CallBacker

List of all members.

Public Member Functions

 CubicBezierSurface (const RowCol &step=RowCol(1, 1))
 CubicBezierSurface (const CubicBezierSurface &)
 ~CubicBezierSurface ()
CubicBezierSurfaceclone () const
bool isEmpty () const
IntervalND< float > boundingBox (bool approx) const
Coord3 computePosition (const Coord &) const
Coord3 computeNormal (const Coord &) const
bool intersectWithLine (const Line3 &, Coord &) const
Coord3 getBezierVertex (const RowCol &knot, const RowCol &relpos) const
bool insertRow (int row, int nrnew=1)
bool insertCol (int col, int nrnew=1)
bool removeRow (int row)
bool removeCol (int col)
Coord3 getKnot (const RowCol &, bool estimateifundef=false) const
Coord3 getRowDirection (const RowCol &, bool computeifudf) const
Coord3 getColDirection (const RowCol &, bool computeifudf) const
float directionInfluence () const
void setDirectionInfluence (float)
const CubicBezierSurfacePatchgetPatch (const RowCol &) const
ParametricCurvecreateRowCurve (float row, const Interval< int > *colrange=0) const
ParametricCurvecreateColCurve (float col, const Interval< int > *rowrange=0) const

Protected Member Functions

bool checkSelfIntersection (const RowCol &) const
IntervalND< float > boundingBox (const RowCol &, bool ownvertices) const
Coord3 computeRowDirection (const RowCol &) const
Coord3 computeColDirection (const RowCol &) const
void _setKnot (int idx, const Coord3 &)
int nrRows () const
int nrCols () const

Protected Attributes

Array2D< Coord3 > * rowdirections
Array2D< Coord3 > * coldirections
Array2D< Coord3 > * positions
float directioninfluence

Constructor & Destructor Documentation

Geometry::CubicBezierSurface::CubicBezierSurface ( const RowCol step = RowCol(1, 1)  ) 
Geometry::CubicBezierSurface::CubicBezierSurface ( const CubicBezierSurface  ) 
Geometry::CubicBezierSurface::~CubicBezierSurface (  ) 

Member Function Documentation

void Geometry::CubicBezierSurface::_setKnot ( int  idx,
const Coord3  
) [protected, virtual]
IntervalND<float> Geometry::CubicBezierSurface::boundingBox ( const RowCol ,
bool  ownvertices 
) const [protected]
IntervalND<float> Geometry::CubicBezierSurface::boundingBox ( bool  approx  )  const [virtual]

Reimplemented from Geometry::Element.

bool Geometry::CubicBezierSurface::checkSelfIntersection ( const RowCol  )  const [protected, virtual]

Reimplemented from Geometry::ParametricSurface.

CubicBezierSurface* Geometry::CubicBezierSurface::clone (  )  const [virtual]
Coord3 Geometry::CubicBezierSurface::computeColDirection ( const RowCol  )  const [protected]
Coord3 Geometry::CubicBezierSurface::computeNormal ( const Coord  )  const [virtual]

Reimplemented from Geometry::ParametricSurface.

Coord3 Geometry::CubicBezierSurface::computePosition ( const Coord  )  const [virtual]

Reimplemented from Geometry::ParametricSurface.

Coord3 Geometry::CubicBezierSurface::computeRowDirection ( const RowCol  )  const [protected]
ParametricCurve* Geometry::CubicBezierSurface::createColCurve ( float  col,
const Interval< int > *  rowrange = 0 
) const [virtual]

Reimplemented from Geometry::ParametricSurface.

ParametricCurve* Geometry::CubicBezierSurface::createRowCurve ( float  row,
const Interval< int > *  colrange = 0 
) const [virtual]

Reimplemented from Geometry::ParametricSurface.

float Geometry::CubicBezierSurface::directionInfluence (  )  const
Coord3 Geometry::CubicBezierSurface::getBezierVertex ( const RowCol knot,
const RowCol relpos 
) const
Coord3 Geometry::CubicBezierSurface::getColDirection ( const RowCol ,
bool  computeifudf 
) const
Coord3 Geometry::CubicBezierSurface::getKnot ( const RowCol ,
bool  estimateifundef = false 
) const [virtual]
const CubicBezierSurfacePatch* Geometry::CubicBezierSurface::getPatch ( const RowCol  )  const
Coord3 Geometry::CubicBezierSurface::getRowDirection ( const RowCol ,
bool  computeifudf 
) const
bool Geometry::CubicBezierSurface::insertCol ( int  col,
int  nrnew = 1 
) [virtual]
bool Geometry::CubicBezierSurface::insertRow ( int  row,
int  nrnew = 1 
) [virtual]
bool Geometry::CubicBezierSurface::intersectWithLine ( const Line3 ,
Coord  
) const
bool Geometry::CubicBezierSurface::isEmpty (  )  const [inline, virtual]
int Geometry::CubicBezierSurface::nrCols (  )  const [protected, virtual]
int Geometry::CubicBezierSurface::nrRows (  )  const [protected, virtual]
bool Geometry::CubicBezierSurface::removeCol ( int  col  ) 
bool Geometry::CubicBezierSurface::removeRow ( int  row  ) 
void Geometry::CubicBezierSurface::setDirectionInfluence ( float   ) 

Member Data Documentation