Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

Geometry::PolygonSurface Class Reference

Inheritance diagram for Geometry::PolygonSurface:
Geometry::RowColSurface Geometry::Element CallBacker

List of all members.

Public Types

enum  ChangeTag { PolygonChange = __mUndefIntVal+1, PolygonInsert, PolygonRemove }

Public Member Functions

 PolygonSurface ()
 ~PolygonSurface ()
bool isEmpty () const
Elementclone () const
bool insertPolygon (const Coord3 &firstpos, const Coord3 &normal, int polygon=0, int firstknot=0)
bool removePolygon (int polygon)
bool insertKnot (const RowCol &, const Coord3 &)
bool removeKnot (const RowCol &)
int nrPolygons () const
StepInterval< int > rowRange () const
StepInterval< int > colRange (int polygon) const
bool setKnot (const RowCol &, const Coord3 &)
Coord3 getKnot (const RowCol &) const
bool isKnotDefined (const RowCol &) const
void setBezierCurveSmoothness (int nrpoints_on_segment)
int getBezierCurveSmoothness () const
void getCubicBezierCurve (int plg, TypeSet< Coord3 > &pts, const float zscale) const
void getAllKnots (TypeSet< Coord3 > &) const
const Coord3getPolygonNormal (int polygonnr) const
const Coord3getPolygonConcaveDir (int polygonnr) const
void getExceptionEdges (int plg, TypeSet< int > &edges) const
void getPolygonConcaveTriangles (int plg, TypeSet< int > &) const
void addUdfPolygon (int polygnr, int firstknotnr, int nrknots)
void addEditPlaneNormal (const Coord3 &normal)
char bodyDimension () const

Protected Member Functions

bool linesegmentsIntersecting (const Coord3 &v0, const Coord3 &v1, const Coord3 &p0, const Coord3 &p1) const
bool includesEdge (const TypeSet< int > edges, int v0, int v1) const

Protected Attributes

int firstpolygon_
TypeSet< int > firstknots_
ObjectSet< TypeSet< Coord3 > > polygons_
TypeSet< Coord3polygonnormals_
TypeSet< Coord3concavedirs_
int beziernrpts_

Member Enumeration Documentation

Enumerator:
PolygonChange 
PolygonInsert 
PolygonRemove 

Constructor & Destructor Documentation

Geometry::PolygonSurface::PolygonSurface (  ) 
Geometry::PolygonSurface::~PolygonSurface (  ) 

Member Function Documentation

void Geometry::PolygonSurface::addEditPlaneNormal ( const Coord3 normal  ) 
void Geometry::PolygonSurface::addUdfPolygon ( int  polygnr,
int  firstknotnr,
int  nrknots 
)
char Geometry::PolygonSurface::bodyDimension (  )  const
Element* Geometry::PolygonSurface::clone (  )  const [virtual]

Implements Geometry::Element.

StepInterval<int> Geometry::PolygonSurface::colRange ( int  polygon  )  const [virtual]
void Geometry::PolygonSurface::getAllKnots ( TypeSet< Coord3 > &   )  const
int Geometry::PolygonSurface::getBezierCurveSmoothness (  )  const [inline]
void Geometry::PolygonSurface::getCubicBezierCurve ( int  plg,
TypeSet< Coord3 > &  pts,
const float  zscale 
) const
void Geometry::PolygonSurface::getExceptionEdges ( int  plg,
TypeSet< int > &  edges 
) const
Coord3 Geometry::PolygonSurface::getKnot ( const RowCol  )  const [virtual]
const Coord3& Geometry::PolygonSurface::getPolygonConcaveDir ( int  polygonnr  )  const
void Geometry::PolygonSurface::getPolygonConcaveTriangles ( int  plg,
TypeSet< int > &   
) const
const Coord3& Geometry::PolygonSurface::getPolygonNormal ( int  polygonnr  )  const
bool Geometry::PolygonSurface::includesEdge ( const TypeSet< int >  edges,
int  v0,
int  v1 
) const [protected]
bool Geometry::PolygonSurface::insertKnot ( const RowCol ,
const Coord3  
)
bool Geometry::PolygonSurface::insertPolygon ( const Coord3 firstpos,
const Coord3 normal,
int  polygon = 0,
int  firstknot = 0 
)
bool Geometry::PolygonSurface::isEmpty (  )  const [inline, virtual]
bool Geometry::PolygonSurface::isKnotDefined ( const RowCol  )  const [virtual]
bool Geometry::PolygonSurface::linesegmentsIntersecting ( const Coord3 v0,
const Coord3 v1,
const Coord3 p0,
const Coord3 p1 
) const [protected]
int Geometry::PolygonSurface::nrPolygons (  )  const [inline]
bool Geometry::PolygonSurface::removeKnot ( const RowCol  ) 
bool Geometry::PolygonSurface::removePolygon ( int  polygon  ) 
StepInterval<int> Geometry::PolygonSurface::rowRange (  )  const [virtual]
void Geometry::PolygonSurface::setBezierCurveSmoothness ( int  nrpoints_on_segment  ) 
bool Geometry::PolygonSurface::setKnot ( const RowCol ,
const Coord3  
) [virtual]

Member Data Documentation