Blender V4.3
Freestyle::ViewEdgeXBuilder Class Reference

#include <ViewEdgeXBuilder.h>

Public Member Functions

 ViewEdgeXBuilder ()
 
virtual ~ViewEdgeXBuilder ()
 
virtual void BuildViewEdges (WXShape *iWShape, ViewShape *oVShape, std::vector< ViewEdge * > &ioVEdges, std::vector< ViewVertex * > &ioVVertices, std::vector< FEdge * > &ioFEdges, std::vector< SVertex * > &ioSVertices)
 
ViewEdgeBuildSmoothViewEdge (const OWXFaceLayer &iFaceLayer)
 
ViewEdgeBuildSharpViewEdge (const OWXEdge &iWEdge)
 
int currentViewId () const
 
int currentFId () const
 
int currentSVertexId () const
 
void setCurrentViewId (int id)
 
void setCurrentFId (int id)
 
void setCurrentSVertexId (int id)
 

Protected Member Functions

virtual void Init (ViewShape *oVShape)
 
bool stopSmoothViewEdge (WXFaceLayer *iFaceLayer)
 
OWXFaceLayer FindNextFaceLayer (const OWXFaceLayer &iFaceLayer)
 
OWXFaceLayer FindPreviousFaceLayer (const OWXFaceLayer &iFaceLayer)
 
FEdgeBuildSmoothFEdge (FEdge *feprevious, const OWXFaceLayer &ifl)
 
bool stopSharpViewEdge (WXEdge *iEdge)
 
int retrieveFaceMarks (WXEdge *iEdge)
 
OWXEdge FindNextWEdge (const OWXEdge &iEdge)
 
OWXEdge FindPreviousWEdge (const OWXEdge &iEdge)
 
FEdgeBuildSharpFEdge (FEdge *feprevious, const OWXEdge &iwe)
 
SVertexMakeSVertex (Vec3r &iPoint)
 
SVertexMakeSVertex (Vec3r &iPoint, bool shared)
 
ViewVertexMakeViewVertex (SVertex *iSVertex)
 

Protected Attributes

int _currentViewId
 
int _currentFId
 
int _currentSVertexId
 
SVertexMap _SVertexMap
 
SShape_pCurrentSShape
 
ViewShape_pCurrentVShape
 

Detailed Description

Definition at line 163 of file ViewEdgeXBuilder.h.

Constructor & Destructor Documentation

◆ ViewEdgeXBuilder()

Freestyle::ViewEdgeXBuilder::ViewEdgeXBuilder ( )
inline

Definition at line 170 of file ViewEdgeXBuilder.h.

References _currentFId, _currentSVertexId, and _currentViewId.

◆ ~ViewEdgeXBuilder()

virtual Freestyle::ViewEdgeXBuilder::~ViewEdgeXBuilder ( )
inlinevirtual

Definition at line 177 of file ViewEdgeXBuilder.h.

Member Function Documentation

◆ BuildSharpFEdge()

◆ BuildSharpViewEdge()

◆ BuildSmoothFEdge()

◆ BuildSmoothViewEdge()

◆ BuildViewEdges()

void Freestyle::ViewEdgeXBuilder::BuildViewEdges ( WXShape * iWShape,
ViewShape * oVShape,
std::vector< ViewEdge * > & ioVEdges,
std::vector< ViewVertex * > & ioVVertices,
std::vector< FEdge * > & ioFEdges,
std::vector< SVertex * > & ioSVertices )
virtual

Builds a view shape from a WXShape in which the feature edges are flagged Builds chains of feature edges (so ViewEdges) from a WXShape iWShape The Winged Edge structure in which all silhouette edges and vertices are flagged. oViewShape The Silhouette Shape in which the chains must be added. ioVEdges The list of new ViewEdges. ioVVertices THe new ViewVertices ioFEdges A list in which all new FEdges are added ioSVertices A list of SVertex where all created SVertex are added.

Definition at line 45 of file ViewEdgeXBuilder.cpp.

References _pCurrentSShape, _pCurrentVShape, b, BuildSharpViewEdge(), BuildSmoothViewEdge(), Freestyle::ViewShape::edges(), Freestyle::SShape::getEdgeList(), Freestyle::WShape::getEdgeList(), Freestyle::WShape::GetFaceList(), Freestyle::WXFace::getSmoothLayers(), Freestyle::SShape::getVertexList(), Init(), Freestyle::WXEdge::nature(), Freestyle::Nature::NO_FEATURE, Freestyle::WXEdge::order(), Freestyle::WShape::ResetUserData(), stopSharpViewEdge(), stopSmoothViewEdge(), and Freestyle::ViewShape::vertices().

Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().

◆ currentFId()

int Freestyle::ViewEdgeXBuilder::currentFId ( ) const
inline

Definition at line 214 of file ViewEdgeXBuilder.h.

References _currentFId.

Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().

◆ currentSVertexId()

int Freestyle::ViewEdgeXBuilder::currentSVertexId ( ) const
inline

Definition at line 219 of file ViewEdgeXBuilder.h.

References _currentSVertexId.

Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().

◆ currentViewId()

int Freestyle::ViewEdgeXBuilder::currentViewId ( ) const
inline

accessors

Definition at line 209 of file ViewEdgeXBuilder.h.

References _currentViewId.

Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().

◆ FindNextFaceLayer()

◆ FindNextWEdge()

◆ FindPreviousFaceLayer()

◆ FindPreviousWEdge()

◆ Init()

void Freestyle::ViewEdgeXBuilder::Init ( ViewShape * oVShape)
protectedvirtual

Init the view edges building

Definition at line 24 of file ViewEdgeXBuilder.cpp.

References _pCurrentSShape, _pCurrentVShape, _SVertexMap, and Freestyle::ViewShape::sshape().

Referenced by BuildViewEdges().

◆ MakeSVertex() [1/2]

SVertex * Freestyle::ViewEdgeXBuilder::MakeSVertex ( Vec3r & iPoint)
protected

◆ MakeSVertex() [2/2]

SVertex * Freestyle::ViewEdgeXBuilder::MakeSVertex ( Vec3r & iPoint,
bool shared )
protected

Instantiate a SVertex if it hasn't been already created

Definition at line 768 of file ViewEdgeXBuilder.cpp.

References _SVertexMap, and MakeSVertex().

◆ MakeViewVertex()

ViewVertex * Freestyle::ViewEdgeXBuilder::MakeViewVertex ( SVertex * iSVertex)
protected

instantiate a ViewVertex from a SVertex, if it doesn't exist yet

Definition at line 789 of file ViewEdgeXBuilder.cpp.

References _pCurrentVShape, Freestyle::ViewShape::AddVertex(), and Freestyle::SVertex::viewvertex().

Referenced by BuildSharpViewEdge(), and BuildSmoothViewEdge().

◆ retrieveFaceMarks()

int Freestyle::ViewEdgeXBuilder::retrieveFaceMarks ( WXEdge * iEdge)
protected

◆ setCurrentFId()

void Freestyle::ViewEdgeXBuilder::setCurrentFId ( int id)
inline

Definition at line 230 of file ViewEdgeXBuilder.h.

References _currentFId.

Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().

◆ setCurrentSVertexId()

void Freestyle::ViewEdgeXBuilder::setCurrentSVertexId ( int id)
inline

Definition at line 235 of file ViewEdgeXBuilder.h.

References _currentSVertexId.

Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().

◆ setCurrentViewId()

void Freestyle::ViewEdgeXBuilder::setCurrentViewId ( int id)
inline

modifiers

Definition at line 225 of file ViewEdgeXBuilder.h.

References _currentViewId.

Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().

◆ stopSharpViewEdge()

bool Freestyle::ViewEdgeXBuilder::stopSharpViewEdge ( WXEdge * iEdge)
protected

checks whether a WEdge has already been processed or not

Definition at line 747 of file ViewEdgeXBuilder.cpp.

References Freestyle::WEdge::userdata.

Referenced by BuildSharpViewEdge(), and BuildViewEdges().

◆ stopSmoothViewEdge()

bool Freestyle::ViewEdgeXBuilder::stopSmoothViewEdge ( WXFaceLayer * iFaceLayer)
protected

checks whether a face has already been processed or not

Definition at line 559 of file ViewEdgeXBuilder.cpp.

References Freestyle::WXFaceLayer::userdata.

Referenced by BuildSmoothViewEdge(), and BuildViewEdges().

Member Data Documentation

◆ _currentFId

int Freestyle::ViewEdgeXBuilder::_currentFId
protected

◆ _currentSVertexId

int Freestyle::ViewEdgeXBuilder::_currentSVertexId
protected

◆ _currentViewId

int Freestyle::ViewEdgeXBuilder::_currentViewId
protected

◆ _pCurrentSShape

SShape* Freestyle::ViewEdgeXBuilder::_pCurrentSShape
protected

◆ _pCurrentVShape

ViewShape* Freestyle::ViewEdgeXBuilder::_pCurrentVShape
protected

◆ _SVertexMap

SVertexMap Freestyle::ViewEdgeXBuilder::_SVertexMap
protected

Definition at line 270 of file ViewEdgeXBuilder.h.

Referenced by Init(), and MakeSVertex().


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