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

SVertex Class Reference

#include <Silhouette.h>

Inheritance diagram for SVertex:

Interface0D List of all members.

Detailed Description

Class to define a vertex of the embedding.


Public Member Functions

virtual string getExactTypeName () const
virtual real getX () const
virtual real getY () const
virtual real getZ () const
virtual Vec3f getPoint3D () const
virtual real getProjectedX () const
virtual real getProjectedY () const
virtual real getProjectedZ () const
virtual Vec2f getPoint2D () const
virtual FEdgegetFEdge (Interface0D &)
virtual Id getId () const
virtual Nature::VertexNature getNature () const
virtual SVertexcastToSVertex ()
virtual ViewVertexcastToViewVertex ()
virtual NonTVertexcastToNonTVertex ()
virtual TVertexcastToTVertex ()
 SVertex ()
 SVertex (const Vec3r &iPoint3D, const Id &id)
 SVertex (SVertex &iBrother)
virtual ~SVertex ()
virtual SVertexdupplicate ()
virtual bool operator== (const SVertex &iBrother)
set< Vec3r > normals ()
unsigned normalsSize () const
ViewVertexviewvertex ()
void SetPoint3D (const Vec3r &iPoint3D)
void SetPoint2D (const Vec3r &iPoint2D)
void AddNormal (const Vec3r &iNormal)
void SetId (const Id &id)
void AddFEdge (FEdge *iFEdge)

Public Attributes

void * userdata

Constructor & Destructor Documentation

SVertex  )  [inline]
 

Default constructor.

SVertex const Vec3r &  iPoint3D,
const Id id
[inline]
 

Builds a SVertex from 3D coordinates and an Id.

SVertex SVertex iBrother  )  [inline]
 

Copy constructor.

virtual ~SVertex  )  [inline, virtual]
 

Destructor.


Member Function Documentation

void AddFEdge FEdge iFEdge  )  [inline]
 

Add an FEdge to the list of edges emanating from this SVertex.

void AddNormal const Vec3r &  iNormal  )  [inline]
 

Adds a normal to the Svertex's set of normals. If the same normal is already in the set, nothing changes.

virtual NonTVertex* castToNonTVertex  )  [virtual]
 

Cast the Interface0D in NonTVertex if it can be.

Reimplemented from Interface0D.

virtual SVertex* castToSVertex  )  [virtual]
 

Cast the Interface0D in SVertex if it can be.

Reimplemented from Interface0D.

virtual TVertex* castToTVertex  )  [virtual]
 

Cast the Interface0D in TVertex if it can be.

Reimplemented from Interface0D.

virtual ViewVertex* castToViewVertex  )  [virtual]
 

Cast the Interface0D in ViewVertex if it can be.

Reimplemented from Interface0D.

virtual SVertex* dupplicate  )  [inline, virtual]
 

Cloning method.

virtual string getExactTypeName  )  const [inline, virtual]
 

Returns the string "SVertex" .

Reimplemented from Interface0D.

virtual FEdge* getFEdge Interface0D  )  [virtual]
 

Returns the FEdge that lies between this Svertex and the Interface0D given as argument.

Reimplemented from Interface0D.

virtual Id getId  )  const [inline, virtual]
 

Returns the Id of the vertex .

Reimplemented from Interface0D.

virtual Nature::VertexNature getNature  )  const [virtual]
 

Returns the nature of the vertex .

Reimplemented from Interface0D.

virtual Vec2f getPoint2D  )  const [inline, virtual]
 

Returns the 2D point.

Reimplemented from Interface0D.

virtual Vec3f getPoint3D  )  const [inline, virtual]
 

Returns the 3D point.

Reimplemented from Interface0D.

virtual real getProjectedX  )  const [inline, virtual]
 

Returns the projected 3D x coordinate of the vertex .

Reimplemented from Interface0D.

virtual real getProjectedY  )  const [inline, virtual]
 

Returns the projected 3D y coordinate of the vertex .

Reimplemented from Interface0D.

virtual real getProjectedZ  )  const [inline, virtual]
 

Returns the projected 3D z coordinate of the vertex .

Reimplemented from Interface0D.

virtual real getX  )  const [inline, virtual]
 

Returns the 3D x coordinate of the vertex .

Reimplemented from Interface0D.

virtual real getY  )  const [inline, virtual]
 

Returns the 3D y coordinate of the vertex .

Reimplemented from Interface0D.

virtual real getZ  )  const [inline, virtual]
 

Returns the 3D z coordinate of the vertex .

Reimplemented from Interface0D.

set<Vec3r> normals  )  [inline]
 

Returns the set of normals for this Vertex. In a smooth surface, a vertex has exactly one normal. In a sharp surface, a vertex can have any number of normals.

unsigned normalsSize  )  const [inline]
 

Returns the number of different normals for this vertex.

virtual bool operator== const SVertex iBrother  )  [inline, virtual]
 

operator ==

void SetId const Id id  )  [inline]
 

Sets the Id

void SetPoint2D const Vec3r &  iPoint2D  )  [inline]
 

Sets the 3D projected coordinates of the SVertex.

void SetPoint3D const Vec3r &  iPoint3D  )  [inline]
 

Sets the 3D coordinates of the SVertex.

ViewVertex* viewvertex  )  [inline]
 

If this SVertex is also a ViewVertex, this method returns a pointer onto this ViewVertex. 0 is returned otherwise.


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: