Blender V4.3
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 58 of file Silhouette.h.

Member Typedef Documentation

◆ fedges_container

Definition at line 140 of file Silhouette.h.

Constructor & Destructor Documentation

◆ SVertex() [1/3]

Freestyle::SVertex::SVertex ( )
inline

Default constructor.

Definition at line 163 of file Silhouette.h.

References userdata.

Referenced by duplicate().

◆ 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 173 of file Silhouette.h.

References userdata.

◆ SVertex() [3/3]

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

Copy constructor.

Definition at line 184 of file Silhouette.h.

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

◆ ~SVertex()

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

Destructor.

Definition at line 204 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 298 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.

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

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

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

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

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

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

◆ duplicate()

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

Cloning method.

Definition at line 212 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.

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 255 of file Silhouette.h.

◆ fedges_end()

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

Definition at line 260 of file Silhouette.h.

◆ getCurvatureInfo()

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

Definition at line 311 of file Silhouette.h.

◆ getExactTypeName()

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

Returns the string "SVertex".

Reimplemented from Freestyle::Interface0D.

Definition at line 61 of file Silhouette.h.

◆ getFEdge()

◆ getId()

◆ getNature()

◆ 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 86 of file Silhouette.h.

Referenced by Freestyle::NonTVertex::getPoint3D(), and Freestyle::TVertex::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 92 of file Silhouette.h.

References Freestyle::VecMat::Vec3< T >::x().

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 98 of file Silhouette.h.

References Freestyle::VecMat::Vec3< T >::y().

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 104 of file Silhouette.h.

References Freestyle::VecMat::Vec3< T >::z().

◆ getX()

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

Returns the 3D x coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 68 of file Silhouette.h.

References Freestyle::VecMat::Vec3< T >::x().

◆ getY()

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

Returns the 3D y coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 74 of file Silhouette.h.

References Freestyle::VecMat::Vec3< T >::y().

◆ getZ()

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

Returns the 3D z coordinate of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 80 of file Silhouette.h.

References Freestyle::VecMat::Vec3< T >::z().

◆ normal()

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

Definition at line 407 of file Silhouette.h.

References Freestyle::Exception::raiseException().

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 239 of file Silhouette.h.

◆ normalsSize()

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

Returns the number of different normals for this vertex.

Definition at line 245 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 219 of file Silhouette.h.

◆ point2D()

◆ point2d()

◆ point3D()

◆ 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 367 of file Silhouette.h.

◆ Replace()

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

Definition at line 378 of file Silhouette.h.

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

◆ setCurvatureInfo()

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

Definition at line 303 of file Silhouette.h.

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

◆ setFEdges()

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

Definition at line 345 of file Silhouette.h.

◆ setId()

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

Sets the Id

Definition at line 340 of file Silhouette.h.

◆ setPoint2D()

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

Sets the 3D projected coordinates of the SVertex.

Definition at line 291 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 285 of file Silhouette.h.

◆ setShape()

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

Definition at line 350 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.

References Freestyle::SShape::getId().

◆ 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 278 of file Silhouette.h.

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

◆ z()

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

Definition at line 270 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 160 of file Silhouette.h.

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


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