In file contour/ActiveContour2D.h:

class AContourLine2D : public ContourLine2D

a line (ie connected component) of a 2D active contour

Inheritance:


Public Fields

BoundaryCondition2D boundary [2]
the 2 boundary conditions of each line

Public Methods

double getArea () const
returns the area enclosed by the line
double getLength () const
returns the line length without computing it
unsigned int getSliceNumber () const
returns the line slice number
void setSliceNumber (const unsigned int sl)
set the line slice number
double getRadius () const
returns the line radius without computing it
Vec2 getCenter () const
returns the line center without computing it
void computeMaximumRigidity () const
Computes maximum rigidity on all vertices of a line
void computeLength ()
Computes the length of a contour and store it
void computeArea ()
Computes the area of a contour and store it
void computeSignedArea ()
Computes the signed area of a contour
void computeCenter ()
Computes the center of a contour
void computeRadius ()
Computes the radius of the smallest circle of center "center" enclosing the contour line
void computeEdgeDirection () const throw(ContourLine2D::IllegalGeometry)
Computes the length and the edge direction of all edges
ActiveVertexContourLine2DIterator firstVertex () const
returns an iterator on the list of active vertices that lies on this line
ActiveVertexContourLine2DIterator lastVertex () const
returns an iterator on the list of active vertices that lies on this line
virtual VertexContour* createVertex ()
create a new vertex : use a virtual function in order to create inherited vertices

Public

constructor
AContourLine2D (const unsigned int nbVertices, ActiveContour2D *c, ContourLine::Topology top) throw(ContourLine2D::EmptyLine)
constructor consisting in creating a given number of line vertices
AContourLine2D (ActiveContour2D *c, ContourLine::Topology top)
create a line without creating any vertices
AContourLine2D (const Vec2*array, const unsigned int nb, const ContourLine::Topology top, ActiveContour2D *c) throw(ContourLine2D::EmptyLine)
construction based on an array of vertices
AContourLine2D (const AContourLine2D *l, ActiveContour2D *c)
construction based on another line
destructor
virtual ~AContourLine2D (void)
empty destructor

Protected Fields

unsigned int sliceNumber
slice number of the line (used in sliceActiveContour2D)
double length
the line length
double area
the area of the enclosed surface
Vec2 center
the center of the line
double radius
the radius of the enclosing cercle
static const double defaultForceRangeRatio
the default force range ratio

Inherited from ContourLine2D:

Public Methods

Contour2D* getContour() const
void computeTangent() throw(ContourLine2D::IllegalGeometry)
virtual void removeLine()

Public

Exception classes

class EmptyLine: public Exception
Exception when creating a 2D 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

ContourLine2D(const Vec2*array, const unsigned int nb, const ContourLine::Topology top, Contour2D *c) throw(EmptyLine)
constructor based on an array of 2D vertices and its topology
ContourLine2D(unsigned int nb, Contour2D *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) and (1,0)
ContourLine2D(Contour2D *c, ContourLine::Topology top)
Build a line without any vertices
ContourLine2D(const ContourLine2D* l, Contour2D *c)
Copy constructor

Inherited from ContourLine:

Public Classes

enum Topology

Public Methods

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))

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

a line (ie connected component) of a 2D active contour
unsigned int sliceNumber
slice number of the line (used in sliceActiveContour2D)

double length
the line length

double area
the area of the enclosed surface

Vec2 center
the center of the line

double radius
the radius of the enclosing cercle

static const double defaultForceRangeRatio
the default force range ratio

BoundaryCondition2D boundary[2]
the 2 boundary conditions of each line

double getArea() const
returns the area enclosed by the line

double getLength() const
returns the line length without computing it

unsigned int getSliceNumber() const
returns the line slice number

void setSliceNumber(const unsigned int sl)
set the line slice number

double getRadius() const
returns the line radius without computing it

Vec2 getCenter() const
returns the line center without computing it

void computeMaximumRigidity() const
Computes maximum rigidity on all vertices of a line

void computeLength()
Computes the length of a contour and store it

void computeArea()
Computes the area of a contour and store it

void computeSignedArea()
Computes the signed area of a contour

void computeCenter()
Computes the center of a contour

void computeRadius()
Computes the radius of the smallest circle of center "center" enclosing the contour line

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

constructor

AContourLine2D(const unsigned int nbVertices, ActiveContour2D *c, ContourLine::Topology top) throw(ContourLine2D::EmptyLine)
constructor consisting in creating a given number of line vertices
Parameters:
nbVertices - the number of vertices : must be greater than 0
c - the contour containing the line
top - the line topology

AContourLine2D(ActiveContour2D *c, ContourLine::Topology top)
create a line without creating any vertices
Parameters:
c - the contour containing the line
top - the line topology

AContourLine2D(const Vec2*array, const unsigned int nb, const ContourLine::Topology top, ActiveContour2D *c) throw(ContourLine2D::EmptyLine)
construction based on an array of vertices
Parameters:
array - an array of 2D vectors
nb - the number of items in the array
top - the line topology
c - the contour containing the line

AContourLine2D(const AContourLine2D *l, ActiveContour2D *c)
construction based on another line
Parameters:
l - a line that may belong to another contour
c - the contour containing the line

destructor

virtual ~AContourLine2D(void)
empty destructor

ActiveVertexContourLine2DIterator firstVertex() const
returns an iterator on the list of active vertices that lies on this line

ActiveVertexContourLine2DIterator lastVertex() const
returns an iterator on the list of active vertices that lies on this line

virtual VertexContour* createVertex()
create a new vertex : use a virtual function in order to create inherited vertices


This class has no child classes.

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