h o m e d o c u m e n t a t i o n c l a s s h i e r a r c h y

FEdge Class Reference

#include <Silhouette.h>

Inheritance diagram for FEdge:

Interface1D FEdgeSharp FEdgeSmooth List of all members.

Detailed Description

Base Class for feature edges. This FEdge can represent a silhouette, a crease, a ridge/valley, a border or a suggestive contour. For silhouettes, the FEdge is oriented such as, the visible face lies on the left of the edge. For borders, the FEdge is oriented such as, the face lies on the left of the edge. An FEdge can represent an initial edge of the mesh or runs accross a face of the initial mesh depending on the smoothness or sharpness of the mesh. This class is specialized into a smooth and a sharp version since their properties slightly vary from one to the other.


Public Member Functions

virtual string getExactTypeName () const
virtual real getLength2D () const
virtual Id getId () const
 FEdge ()
 FEdge (SVertex *vA, SVertex *vB)
 FEdge (FEdge &iBrother)
virtual ~FEdge ()
virtual FEdgedupplicate ()
SVertexvertexA ()
SVertexvertexB ()
SVertexoperator[] (const unsigned short int &i) const
Nature::EdgeNature getNature () const
FEdgenextEdge ()
FEdgepreviousEdge ()
ViewEdgeviewedge () const
bool isSmooth () const
void SetVertexA (SVertex *vA)
void SetVertexB (SVertex *vB)
void SetId (const Id &id)
void SetNextEdge (FEdge *iEdge)
void SetPreviousEdge (FEdge *iEdge)
void SetNature (Nature::EdgeNature iNature)
void SetViewEdge (ViewEdge *iViewEdge)
void SetSmooth (bool iFlag)
virtual Interface0DIterator verticesBegin ()
virtual Interface0DIterator verticesEnd ()
virtual Interface0DIterator pointsBegin (float t=0.f)
virtual Interface0DIterator pointsEnd (float t=0.f)

Public Attributes

void * userdata

Constructor & Destructor Documentation

FEdge  )  [inline]
 

Default constructor

FEdge SVertex vA,
SVertex vB
[inline]
 

Builds an FEdge going from vA to vB.

FEdge FEdge iBrother  )  [inline]
 

Copy constructor

virtual ~FEdge  )  [inline, virtual]
 

Destructor


Member Function Documentation

virtual FEdge* dupplicate  )  [inline, virtual]
 

Cloning method.

Reimplemented in FEdgeSharp, and FEdgeSmooth.

virtual string getExactTypeName  )  const [inline, virtual]
 

Returns the string "FEdge" .

Reimplemented from Interface1D.

virtual Id getId  )  const [inline, virtual]
 

Returns the Id of the FEdge.

Reimplemented from Interface1D.

virtual real getLength2D  )  const [inline, virtual]
 

Returns the 2D length of the FEdge.

Reimplemented from Interface1D.

Nature::EdgeNature getNature  )  const [inline, virtual]
 

Returns the nature of the FEdge.

Reimplemented from Interface1D.

bool isSmooth  )  const [inline]
 

Returns true if this FEdge is a smooth FEdge.

FEdge* nextEdge  )  [inline]
 

Returns the FEdge following this one in the ViewEdge. If this FEdge is the last of the ViewEdge, 0 is returned.

SVertex* operator[] const unsigned short int &  i  )  const [inline]
 

Returns the first SVertex if i=0, the seccond SVertex if i=1.

Interface0DIterator pointsBegin float  t = 0.f  )  [inline, virtual]
 

Returns an iterator over the FEdge points, pointing to the first point. The difference with verticesBegin() is that here we can iterate over points of the FEdge at a any given sampling. Indeed, for each iteration, a virtual point is created.

Parameters:
t The sampling with which we want to iterate over points of this FEdge.

Implements Interface1D.

Interface0DIterator pointsEnd float  t = 0.f  )  [inline, virtual]
 

Returns an iterator over the FEdge points, pointing after the last point. The difference with verticesEnd() is that here we can iterate over points of the FEdge at a any given sampling. Indeed, for each iteration, a virtual point is created.

Parameters:
t The sampling with which we want to iterate over points of this FEdge.

Implements Interface1D.

FEdge* previousEdge  )  [inline]
 

Returns the Edge preceding this one in the ViewEdge. If this FEdge is the first one of the ViewEdge, 0 is returned.

void SetId const Id id  )  [inline]
 

Sets the FEdge Id .

void SetNature Nature::EdgeNature  iNature  )  [inline]
 

Sets the nature of this FEdge.

void SetNextEdge FEdge iEdge  )  [inline]
 

Sets the pointer to the next FEdge.

void SetPreviousEdge FEdge iEdge  )  [inline]
 

Sets the pointer to the previous FEdge.

void SetSmooth bool  iFlag  )  [inline]
 

Sets the flag telling whether this FEdge is smooth or sharp. true for Smooth, false for Sharp.

void SetVertexA SVertex vA  )  [inline]
 

Sets the first SVertex.

void SetVertexB SVertex vB  )  [inline]
 

Sets the second SVertex.

void SetViewEdge ViewEdge iViewEdge  )  [inline]
 

Sets the ViewEdge to which this FEdge belongs to.

SVertex* vertexA  )  [inline]
 

Returns the first SVertex.

SVertex* vertexB  )  [inline]
 

Returns the second SVertex.

Interface0DIterator verticesBegin  )  [inline, virtual]
 

Returns an iterator over the 2 (!) SVertex pointing to the first SVertex.

Implements Interface1D.

Interface0DIterator verticesEnd  )  [inline, virtual]
 

Returns an iterator over the 2 (!) SVertex pointing after the last SVertex.

Implements Interface1D.

ViewEdge* viewedge  )  const [inline]
 

Returns a pointer to the ViewEdge to which this FEdge belongs to.


Member Data Documentation

void* userdata
 

A field that can be used by the user to store any data. This field must be reseted afterwards using ResetUserData().


The documentation for this class was generated from the following file: