Blender  V3.3
Public Types | Public Member Functions | Public Attributes | List of all members
Freestyle::SVertex Class Reference

#include <Silhouette.h>

Inheritance diagram for Freestyle::SVertex:
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 ()
 
unsigned 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

voiduserdata
 

Detailed Description

Class to define a vertex of the embedding.

Definition at line 56 of file Silhouette.h.

Member Typedef Documentation

◆ fedges_container

Definition at line 138 of file Silhouette.h.

Constructor & Destructor Documentation

◆ SVertex() [1/3]

Freestyle::SVertex::SVertex ( )
inline

Default constructor.

Definition at line 161 of file Silhouette.h.

References NULL.

◆ 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 id, and NULL.

◆ SVertex() [3/3]

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

Copy constructor.

Definition at line 182 of file Silhouette.h.

References fedges(), point2D(), point3D(), shape(), 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 40 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 30 of file Silhouette.cpp.

◆ castToTVertex()

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

Cast the Interface0D in TVertex if it can be.

Reimplemented from Freestyle::Interface0D.

Definition at line 45 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 35 of file Silhouette.cpp.

◆ duplicate()

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

Cloning method.

Definition at line 210 of file Silhouette.h.

◆ fedge()

FEdge * Freestyle::SVertex::fedge ( )

Definition at line 144 of file Silhouette.cpp.

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

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

◆ 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

◆ getPoint3D()

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

Returns the 3D point.

Reimplemented from Freestyle::Interface0D.

Definition at line 84 of file Silhouette.h.

Referenced by Freestyle::TVertex::getPoint3D(), and Freestyle::NonTVertex::getPoint3D().

◆ 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.

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

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

unsigned 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.

◆ point2D()

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

◆ point2d()

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

◆ point3D()

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

◆ point3d()

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

◆ 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.

References id.

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

void Freestyle::SVertex::setViewVertex ( ViewVertex iViewVertex)
inline

◆ shape() [1/2]

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

◆ shape() [2/2]

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

Definition at line 67 of file Silhouette.cpp.

◆ shape_id()

Id Freestyle::SVertex::shape_id ( ) const

Definition at line 62 of file Silhouette.cpp.

References Freestyle::SShape::getId().

◆ shape_importance()

float Freestyle::SVertex::shape_importance ( ) const

Definition at line 50 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().


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