Blender V5.0
Freestyle::SVertex Class Reference

#include <Silhouette.h>

Inherits Freestyle::Interface0D.

Public Types

typedef vector< FEdge * > fedges_container

Public Member Functions

virtual string getExactTypeName () const
virtual real getX () const
virtual real getY () const
virtual real getZ () const
virtual Vec3r getPoint3D () const
virtual real getProjectedX () const
virtual real getProjectedY () const
virtual real getProjectedZ () const
virtual Vec2r 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 SVertexduplicate ()
virtual bool operator== (const SVertex &iBrother)
const Vec3rpoint3D () const
const Vec3rpoint2D () const
set< Vec3rnormals ()
uint normalsSize () const
const vector< FEdge * > & fedges ()
fedges_container::iterator fedges_begin ()
fedges_container::iterator fedges_end ()
SShapeshape ()
real z () const
ViewVertexviewvertex ()
void setPoint3D (const Vec3r &iPoint3D)
void setPoint2D (const Vec3r &iPoint2D)
void AddNormal (const Vec3r &iNormal)
void setCurvatureInfo (CurvatureInfo *ci)
const CurvatureInfogetCurvatureInfo () const
void setId (const Id &id)
void setFEdges (const vector< FEdge * > &iFEdges)
void setShape (SShape *iShape)
void setViewVertex (ViewVertex *iViewVertex)
void AddFEdge (FEdge *iFEdge)
void RemoveFEdge (FEdge *iFEdge)
void Replace (FEdge *e1, FEdge *e2)
FEdgefedge ()
const Vec3rpoint2d () const
const Vec3rpoint3d () const
Vec3r normal () const
Id shape_id () const
const SShapeshape () const
float shape_importance () const
int qi () const
occluder_container::const_iterator occluders_begin () const
occluder_container::const_iterator occluders_end () const
bool occluders_empty () const
int occluders_size () const
const Polygon3roccludee () const
const SShapeoccluded_shape () const
bool occludee_empty () const
real z_discontinuity () const
Public Member Functions inherited from Freestyle::Interface0D
 Interface0D ()
virtual ~Interface0D ()

Public Attributes

void * userdata

Detailed Description

Class to define a vertex of the embedding.

Definition at line 56 of file Silhouette.h.

Member Typedef Documentation

◆ fedges_container

Constructor & Destructor Documentation

◆ SVertex() [1/3]

Freestyle::SVertex::SVertex ( )
inline

Default constructor.

Definition at line 161 of file Silhouette.h.

References userdata.

Referenced by castToSVertex(), duplicate(), getFEdge(), operator==(), and SVertex().

◆ SVertex() [2/3]

Freestyle::SVertex::SVertex ( const Vec3r & iPoint3D,
const Id & id )
inline

Builds a SVertex from 3D coordinates and an Id.

Definition at line 171 of file Silhouette.h.

References userdata.

◆ SVertex() [3/3]

Freestyle::SVertex::SVertex ( SVertex & iBrother)
inline

Copy constructor.

Definition at line 182 of file Silhouette.h.

References fedges(), point2D(), point3D(), shape(), SVertex(), and userdata.

◆ ~SVertex()

virtual Freestyle::SVertex::~SVertex ( )
inlinevirtual

Destructor.

Definition at line 202 of file Silhouette.h.

Member Function Documentation

◆ AddFEdge()

void Freestyle::SVertex::AddFEdge ( FEdge * iFEdge)
inline

◆ AddNormal()

void Freestyle::SVertex::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.

Definition at line 296 of file Silhouette.h.

Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpFEdge(), and Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge().

◆ castToNonTVertex()

NonTVertex * Freestyle::SVertex::castToNonTVertex ( )
virtual

Cast the Interface0D in NonTVertex if it can be.

Reimplemented from Freestyle::Interface0D.

Definition at line 42 of file Silhouette.cpp.

◆ castToSVertex()

SVertex * Freestyle::SVertex::castToSVertex ( )
virtual

Cast the Interface0D in SVertex if it can be.

Reimplemented from Freestyle::Interface0D.

Definition at line 32 of file Silhouette.cpp.

References SVertex().

◆ castToTVertex()

TVertex * Freestyle::SVertex::castToTVertex ( )
virtual

Cast the Interface0D in TVertex if it can be.

Reimplemented from Freestyle::Interface0D.

Definition at line 47 of file Silhouette.cpp.

◆ castToViewVertex()

ViewVertex * Freestyle::SVertex::castToViewVertex ( )
virtual

Cast the Interface0D in ViewVertex if it can be.

Reimplemented from Freestyle::Interface0D.

Definition at line 37 of file Silhouette.cpp.

◆ duplicate()

virtual SVertex * Freestyle::SVertex::duplicate ( )
inlinevirtual

Cloning method.

Definition at line 210 of file Silhouette.h.

References SVertex().

◆ fedge()

FEdge * Freestyle::SVertex::fedge ( )

Definition at line 146 of file Silhouette.cpp.

References getNature(), and Freestyle::Nature::T_VERTEX.

◆ fedges()

const vector< FEdge * > & Freestyle::SVertex::fedges ( )
inline

◆ fedges_begin()

fedges_container::iterator Freestyle::SVertex::fedges_begin ( )
inline

Definition at line 253 of file Silhouette.h.

◆ fedges_end()

fedges_container::iterator Freestyle::SVertex::fedges_end ( )
inline

Definition at line 258 of file Silhouette.h.

◆ getCurvatureInfo()

const CurvatureInfo * Freestyle::SVertex::getCurvatureInfo ( ) const
inline

Definition at line 309 of file Silhouette.h.

◆ getExactTypeName()

virtual string Freestyle::SVertex::getExactTypeName ( ) const
inlinevirtual

Returns the string "SVertex".

Reimplemented from Freestyle::Interface0D.

Definition at line 59 of file Silhouette.h.

◆ getFEdge()

FEdge * Freestyle::SVertex::getFEdge ( Interface0D & inter)
virtual

◆ getId()

virtual Id Freestyle::SVertex::getId ( ) const
inlinevirtual

◆ getNature()

Nature::VertexNature Freestyle::SVertex::getNature ( ) const
virtual

◆ getPoint2D()

virtual Vec2r Freestyle::SVertex::getPoint2D ( ) const
inlinevirtual

Returns the 2D point.

Reimplemented from Freestyle::Interface0D.

Definition at line 108 of file Silhouette.h.

Referenced by Freestyle::CurvePoint::CurvePoint(), and Freestyle::CurvePoint::getFEdge().

◆ getPoint3D()

virtual Vec3r Freestyle::SVertex::getPoint3D ( ) const
inlinevirtual

Returns the 3D point.

Reimplemented from Freestyle::Interface0D.

Definition at line 84 of file Silhouette.h.

◆ getProjectedX()

virtual real Freestyle::SVertex::getProjectedX ( ) const
inlinevirtual

Returns the projected 3D x coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 90 of file Silhouette.h.

Referenced by Freestyle::crossesProscenium().

◆ getProjectedY()

virtual real Freestyle::SVertex::getProjectedY ( ) const
inlinevirtual

Returns the projected 3D y coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 96 of file Silhouette.h.

Referenced by Freestyle::crossesProscenium().

◆ getProjectedZ()

virtual real Freestyle::SVertex::getProjectedZ ( ) const
inlinevirtual

Returns the projected 3D z coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 102 of file Silhouette.h.

◆ getX()

virtual real Freestyle::SVertex::getX ( ) const
inlinevirtual

Returns the 3D x coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 66 of file Silhouette.h.

◆ getY()

virtual real Freestyle::SVertex::getY ( ) const
inlinevirtual

Returns the 3D y coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 72 of file Silhouette.h.

◆ getZ()

virtual real Freestyle::SVertex::getZ ( ) const
inlinevirtual

Returns the 3D z coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 78 of file Silhouette.h.

◆ normal()

Vec3r Freestyle::SVertex::normal ( ) const
inline

Definition at line 405 of file Silhouette.h.

References Freestyle::Exception::raiseException().

◆ normals()

set< Vec3r > Freestyle::SVertex::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.

Definition at line 237 of file Silhouette.h.

◆ normalsSize()

uint Freestyle::SVertex::normalsSize ( ) const
inline

Returns the number of different normals for this vertex.

Definition at line 243 of file Silhouette.h.

◆ occluded_shape()

const SShape * Freestyle::SVertex::occluded_shape ( ) const

◆ occludee()

const Polygon3r & Freestyle::SVertex::occludee ( ) const

◆ occludee_empty()

bool Freestyle::SVertex::occludee_empty ( ) const

◆ occluders_begin()

occluder_container::const_iterator Freestyle::SVertex::occluders_begin ( ) const

◆ occluders_empty()

bool Freestyle::SVertex::occluders_empty ( ) const

◆ occluders_end()

occluder_container::const_iterator Freestyle::SVertex::occluders_end ( ) const

◆ occluders_size()

int Freestyle::SVertex::occluders_size ( ) const

◆ operator==()

virtual bool Freestyle::SVertex::operator== ( const SVertex & iBrother)
inlinevirtual

operator ==

Definition at line 217 of file Silhouette.h.

References SVertex().

◆ point2D()

◆ point2d()

const Vec3r & Freestyle::SVertex::point2d ( ) const
inline

◆ point3D()

◆ point3d()

const Vec3r & Freestyle::SVertex::point3d ( ) const
inline

Definition at line 400 of file Silhouette.h.

References point3D().

Referenced by Freestyle::CurvePoint::CurvePoint().

◆ qi()

int Freestyle::SVertex::qi ( ) const

◆ RemoveFEdge()

void Freestyle::SVertex::RemoveFEdge ( FEdge * iFEdge)
inline

Remove an FEdge from the list of edges emanating from this SVertex.

Definition at line 365 of file Silhouette.h.

◆ Replace()

void Freestyle::SVertex::Replace ( FEdge * e1,
FEdge * e2 )
inline

Definition at line 376 of file Silhouette.h.

Referenced by Freestyle::SShape::SplitEdge().

◆ setCurvatureInfo()

void Freestyle::SVertex::setCurvatureInfo ( CurvatureInfo * ci)
inline

Definition at line 301 of file Silhouette.h.

Referenced by Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge().

◆ setFEdges()

void Freestyle::SVertex::setFEdges ( const vector< FEdge * > & iFEdges)
inline

Definition at line 343 of file Silhouette.h.

◆ setId()

void Freestyle::SVertex::setId ( const Id & id)
inline

Sets the Id

Definition at line 338 of file Silhouette.h.

◆ setPoint2D()

void Freestyle::SVertex::setPoint2D ( const Vec3r & iPoint2D)
inline

Sets the 3D projected coordinates of the SVertex.

Definition at line 289 of file Silhouette.h.

Referenced by Freestyle::SShape::CreateSVertex(), Freestyle::SilhouetteGeomEngine::ProjectSilhouette(), and Freestyle::SShape::SplitEdge().

◆ setPoint3D()

void Freestyle::SVertex::setPoint3D ( const Vec3r & iPoint3D)
inline

modifiers Sets the 3D coordinates of the SVertex.

Definition at line 283 of file Silhouette.h.

◆ setShape()

void Freestyle::SVertex::setShape ( SShape * iShape)
inline

Definition at line 348 of file Silhouette.h.

Referenced by Freestyle::SShape::AddNewVertex(), and Freestyle::SShape::SShape().

◆ setViewVertex()

◆ shape() [1/2]

◆ shape() [2/2]

const SShape * Freestyle::SVertex::shape ( ) const

Definition at line 69 of file Silhouette.cpp.

◆ shape_id()

Id Freestyle::SVertex::shape_id ( ) const

Definition at line 64 of file Silhouette.cpp.

◆ shape_importance()

float Freestyle::SVertex::shape_importance ( ) const

Definition at line 52 of file Silhouette.cpp.

References Freestyle::SShape::importance(), and shape().

◆ viewvertex()

ViewVertex * Freestyle::SVertex::viewvertex ( )
inline

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

Definition at line 276 of file Silhouette.h.

Referenced by getFEdge(), Freestyle::ViewMap::InsertViewVertex(), and Freestyle::ViewEdgeXBuilder::MakeViewVertex().

◆ z()

real Freestyle::SVertex::z ( ) const
inline

Definition at line 268 of file Silhouette.h.

◆ z_discontinuity()

real Freestyle::SVertex::z_discontinuity ( ) const

Member Data Documentation

◆ userdata

void* Freestyle::SVertex::userdata

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

Definition at line 158 of file Silhouette.h.

Referenced by SVertex(), SVertex(), and SVertex().


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