In file contour/Contour3D.h:

class ContourLine3D : public ContourLine

the line class associated with a Contour3D that includes some basic 3D geometric information

Inheritance:


Public Methods

void computeEdgeDirection () const throw(IllegalGeometry)
Computes the length and the edge direction of all edges
void computeTangent () throw(IllegalGeometry)
Computes the tangent vector at each vertex
void computeFrenetFrame () throw(IllegalGeometry)
Computes the tangent, normal and binormal vector for each vertex of a line
virtual void removeLine ()
destroys this line if it is not the only line left in the contour otherwise do nothing
VertexContourLine3DIterator firstVertex ()
returns an VertexContour3D iterator on the first line vertex of the line
VertexContourLine3DIterator lastVertex ()
returns an VertexContour3D iterator on the last line vertex of the line

Public

Exception classes
class EmptyLine : public Exception
Exception when creating a 3D contour line without any vertices
class IllegalGeometry : public Exception
Exception when two consecutive vertices have the same position which makes the definition of normal vector impossible
Constructors
ContourLine3D (Vec3*array, unsigned int nb, Contour3D *c, ContourLine::Topology top=ContourLine::OPENED) throw(EmptyLine)
constructor based on an array of 3D vertices and its topology
ContourLine3D ( std::list > array, unsigned int nb, Contour3D *c, ContourLine::Topology top=ContourLine::OPENED) throw(EmptyLine)
constructor based on an array of 3D vertices and its topology
ContourLine3D (unsigned int nb, Contour3D *c, ContourLine::Topology top=ContourLine::OPENED) throw(EmptyLine)
Build a line segment only by specifying the number of vertices : the vertices are then initialized along the segment defined by (0,0,0) and (1,0,0)
ContourLine3D (const ContourLine3D *l, Contour3D *c)
Copy constructor
ContourLine3D (Contour3D *c, ContourLine::Topology top)
Build a line without any vertices
destructor
virtual ~ContourLine3D ()
dummy Destructor

Inherited from ContourLine:

Public Classes

enum Topology

Public Methods

Contour* getContour() const
unsigned int getNbVertices() const
Topology getTopology() const
void setClosedTopology()
void setEdgePointer()
void addVertex(VertexContour *v)
ObjectsList <VertexContour> ::iterator firstVertexContour() const
ObjectsList <VertexContour> ::iterator lastVertexContour() const
VertexContour* getFirst(void) const
VertexContour* getLast(void) const
template void applyVertex(void (MT::*fn)(void))
virtual VertexContour* createVertex()

Public

constructors

ContourLine(Contour *c, Topology t=CLOSED)
Build a line without any vertices
ContourLine(ContourLine *l)
Build a dummy line

Protected Fields

Contour* contour
Topology topology
ObjectsList <VertexContour> vertexList

Documentation

the line class associated with a Contour3D that includes some basic 3D geometric information
Exception classes

class EmptyLine: public Exception
Exception when creating a 3D contour line without any vertices

class IllegalGeometry: public Exception
Exception when two consecutive vertices have the same position which makes the definition of normal vector impossible

Constructors

ContourLine3D(Vec3*array, unsigned int nb, Contour3D *c, ContourLine::Topology top=ContourLine::OPENED) throw(EmptyLine)
constructor based on an array of 3D vertices and its topology
Throws:
EmptyLine when nb=0
Parameters:
array - an array of 3D vertex position
nb - the number of vertices in the array
c - the contour where the line belongs
top - the line topology

ContourLine3D( std::list > array, unsigned int nb, Contour3D *c, ContourLine::Topology top=ContourLine::OPENED) throw(EmptyLine)
constructor based on an array of 3D vertices and its topology
Throws:
EmptyLine when nb=0
Parameters:
array - an array of 3D vertex position
nb - the number of vertices in the array
c - the contour where the line belongs
top - the line topology

ContourLine3D(unsigned int nb, Contour3D *c, ContourLine::Topology top=ContourLine::OPENED) throw(EmptyLine)
Build a line segment only by specifying the number of vertices : the vertices are then initialized along the segment defined by (0,0,0) and (1,0,0)
Throws:
EmptyLine when nb=0
Parameters:
nb - the number of vertices in the array
c - the contour where the line belongs
top - the line topology

ContourLine3D(const ContourLine3D *l, Contour3D *c)
Copy constructor
Parameters:
l - a given line
c - the contour where the line belongs

ContourLine3D(Contour3D *c, ContourLine::Topology top)
Build a line without any vertices
Parameters:
top - the line topology
c - the contour where the line belongs

destructor

virtual ~ContourLine3D()
dummy Destructor

void computeEdgeDirection() const throw(IllegalGeometry)
Computes the length and the edge direction of all edges
Throws:
IllegalGeometry thrown when two neighboring vertices have the same position

void computeTangent() throw(IllegalGeometry)
Computes the tangent vector at each vertex
Throws:
IllegalGeometry thrown when two neighboring vertices have the same position

void computeFrenetFrame() throw(IllegalGeometry)
Computes the tangent, normal and binormal vector for each vertex of a line
Throws:
IllegalGeometry thrown when two neighboring vertices have the same position

virtual void removeLine()
destroys this line if it is not the only line left in the contour otherwise do nothing

VertexContourLine3DIterator firstVertex()
returns an VertexContour3D iterator on the first line vertex of the line

VertexContourLine3DIterator lastVertex()
returns an VertexContour3D iterator on the last line vertex of the line


Direct child classes:
AContourLine3D

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de