Blender
V3.3
|
#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) |
ViewEdge * | BuildSmoothViewEdge (const OWXFaceLayer &iFaceLayer) |
ViewEdge * | BuildSharpViewEdge (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) |
FEdge * | BuildSmoothFEdge (FEdge *feprevious, const OWXFaceLayer &ifl) |
bool | stopSharpViewEdge (WXEdge *iEdge) |
int | retrieveFaceMarks (WXEdge *iEdge) |
OWXEdge | FindNextWEdge (const OWXEdge &iEdge) |
OWXEdge | FindPreviousWEdge (const OWXEdge &iEdge) |
FEdge * | BuildSharpFEdge (FEdge *feprevious, const OWXEdge &iwe) |
SVertex * | MakeSVertex (Vec3r &iPoint) |
SVertex * | MakeSVertex (Vec3r &iPoint, bool shared) |
ViewVertex * | MakeViewVertex (SVertex *iSVertex) |
Protected Attributes | |
int | _currentViewId |
int | _currentFId |
int | _currentSVertexId |
SVertexMap | _SVertexMap |
SShape * | _pCurrentSShape |
ViewShape * | _pCurrentVShape |
Definition at line 161 of file ViewEdgeXBuilder.h.
|
inline |
Definition at line 168 of file ViewEdgeXBuilder.h.
|
inlinevirtual |
Definition at line 175 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 669 of file ViewEdgeXBuilder.cpp.
References Freestyle::SVertex::AddFEdge(), Freestyle::SVertex::AddNormal(), Freestyle::Nature::BORDER, Freestyle::OWXEdge::e, Freestyle::WFace::frs_materialIndex(), Freestyle::WEdge::GetaFace(), Freestyle::WEdge::GetaVertex(), Freestyle::WEdge::GetbFace(), Freestyle::WEdge::GetbVertex(), Freestyle::WFace::GetMark(), Freestyle::WFace::GetNormal(), Freestyle::WVertex::GetVertex(), Freestyle::WXEdge::nature(), Freestyle::OWXEdge::order, Freestyle::FEdgeSharp::setaFaceMark(), Freestyle::FEdgeSharp::setaFrsMaterialIndex(), Freestyle::FEdgeSharp::setbFaceMark(), Freestyle::FEdgeSharp::setbFrsMaterialIndex(), Freestyle::FEdge::setId(), Freestyle::FEdge::setNature(), Freestyle::FEdge::setNextEdge(), Freestyle::FEdgeSharp::setNormalA(), Freestyle::FEdgeSharp::setNormalB(), Freestyle::FEdge::setPreviousEdge(), and Freestyle::WEdge::userdata.
Makes a sharp viewedge.
Definition at line 207 of file ViewEdgeXBuilder.cpp.
References Freestyle::OWXEdge::e, Freestyle::WXEdge::nature(), Freestyle::ViewEdge::setA(), Freestyle::ViewEdge::setB(), Freestyle::ViewEdge::setFEdgeA(), Freestyle::ViewEdge::setFEdgeB(), Freestyle::ViewEdge::setId(), Freestyle::ViewEdge::setNature(), Freestyle::FEdge::setNextEdge(), Freestyle::FEdge::setPreviousEdge(), Freestyle::FEdge::setViewEdge(), size(), Freestyle::WEdge::userdata, Freestyle::FEdge::vertexA(), and Freestyle::FEdge::vertexB().
|
protected |
Definition at line 452 of file ViewEdgeXBuilder.cpp.
References A, A1, A2, Freestyle::SVertex::AddFEdge(), Freestyle::SVertex::AddNormal(), B, Freestyle::B1(), Freestyle::B2(), Freestyle::WXVertex::curvatures(), Freestyle::OWXFaceLayer::fl, Freestyle::WFace::frs_materialIndex(), Freestyle::WOEdge::GetaVertex(), Freestyle::WOEdge::GetbVertex(), Freestyle::WXFaceLayer::getFace(), Freestyle::WFace::GetMark(), Freestyle::WXFaceLayer::getSmoothEdge(), Freestyle::WVertex::GetVertex(), Freestyle::WFace::GetVertexNormal(), Freestyle::WXFaceLayer::nature(), normal, Freestyle::VecMat::Vec< T, N >::normalize(), Freestyle::OWXFaceLayer::order, Freestyle::SVertex::point3D(), Freestyle::SVertex::setCurvatureInfo(), Freestyle::FEdgeSmooth::setFace(), Freestyle::FEdgeSmooth::setFaceMark(), Freestyle::FEdgeSmooth::setFrsMaterialIndex(), Freestyle::FEdge::setId(), Freestyle::FEdge::setNature(), Freestyle::FEdge::setNextEdge(), Freestyle::FEdgeSmooth::setNormal(), Freestyle::FEdge::setPreviousEdge(), Freestyle::WXSmoothEdge::ta(), Freestyle::WXSmoothEdge::tb(), Freestyle::WXFaceLayer::userdata, Freestyle::FEdge::vertexB(), Freestyle::WXSmoothEdge::woea(), and Freestyle::WXSmoothEdge::woeb().
ViewEdge * Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge | ( | const OWXFaceLayer & | iFaceLayer | ) |
Builds a smooth view edge, starting the face iFace.
Definition at line 122 of file ViewEdgeXBuilder.cpp.
References Freestyle::OWXFaceLayer::fl, Freestyle::WXFaceLayer::nature(), Freestyle::Nature::RIDGE, Freestyle::ViewEdge::setA(), Freestyle::ViewEdge::setB(), Freestyle::ViewEdge::setFEdgeA(), Freestyle::ViewEdge::setFEdgeB(), Freestyle::ViewEdge::setId(), Freestyle::ViewEdge::setNature(), Freestyle::FEdge::setNextEdge(), Freestyle::FEdge::setPreviousEdge(), Freestyle::FEdge::setViewEdge(), size(), Freestyle::WXFaceLayer::userdata, Freestyle::FEdge::vertexA(), and Freestyle::FEdge::vertexB().
|
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 41 of file ViewEdgeXBuilder.cpp.
References usdtokens::b(), Freestyle::WShape::getEdgeList(), Freestyle::WShape::GetFaceList(), Freestyle::WXFace::getSmoothLayers(), Freestyle::WXEdge::nature(), Freestyle::Nature::NO_FEATURE, Freestyle::WXEdge::order(), and Freestyle::WShape::ResetUserData().
|
inline |
Definition at line 214 of file ViewEdgeXBuilder.h.
|
inline |
Definition at line 219 of file ViewEdgeXBuilder.h.
|
inline |
accessors
Definition at line 209 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 290 of file ViewEdgeXBuilder.cpp.
References ELEM, Freestyle::WVertex::faces_begin(), Freestyle::WVertex::faces_end(), Freestyle::OWXFaceLayer::fl, Freestyle::WOEdge::GetaVertex(), Freestyle::WFace::GetBordingFace(), Freestyle::WOEdge::GetbVertex(), Freestyle::WXFaceLayer::getFace(), Freestyle::WFace::GetMark(), Freestyle::WXFaceLayer::getSmoothEdge(), Freestyle::WXFace::hasSmoothEdges(), Freestyle::WVertex::isBoundary(), Freestyle::WXFaceLayer::nature(), Freestyle::OWXFaceLayer::order, Freestyle::WXFace::retrieveSmoothEdgesLayers(), Freestyle::WXSmoothEdge::ta(), Freestyle::WXSmoothEdge::tb(), Freestyle::WOEdge::twin(), Freestyle::WXSmoothEdge::woea(), and Freestyle::WXSmoothEdge::woeb().
Definition at line 575 of file ViewEdgeXBuilder.cpp.
References Freestyle::OWXEdge::e, Freestyle::WEdge::GetaVertex(), Freestyle::WEdge::GetbVertex(), Freestyle::WXEdge::nature(), Freestyle::Nature::NO_FEATURE, Freestyle::OWXEdge::order, and v.
|
protected |
Definition at line 371 of file ViewEdgeXBuilder.cpp.
References ELEM, Freestyle::WVertex::faces_begin(), Freestyle::WVertex::faces_end(), Freestyle::OWXFaceLayer::fl, Freestyle::WOEdge::GetaVertex(), Freestyle::WFace::GetBordingFace(), Freestyle::WOEdge::GetbVertex(), Freestyle::WXFaceLayer::getFace(), Freestyle::WFace::GetMark(), Freestyle::WXFaceLayer::getSmoothEdge(), Freestyle::WXFace::hasSmoothEdges(), Freestyle::WVertex::isBoundary(), Freestyle::WXFaceLayer::nature(), Freestyle::OWXFaceLayer::order, Freestyle::WXFace::retrieveSmoothEdgesLayers(), Freestyle::WXSmoothEdge::ta(), Freestyle::WXSmoothEdge::tb(), Freestyle::WOEdge::twin(), Freestyle::WXSmoothEdge::woea(), and Freestyle::WXSmoothEdge::woeb().
Definition at line 624 of file ViewEdgeXBuilder.cpp.
References Freestyle::OWXEdge::e, Freestyle::WEdge::GetaVertex(), Freestyle::WEdge::GetbVertex(), Freestyle::WXEdge::nature(), Freestyle::Nature::NO_FEATURE, Freestyle::OWXEdge::order, and v.
Init the view edges building
Definition at line 20 of file ViewEdgeXBuilder.cpp.
References Freestyle::ViewShape::sshape().
Instantiate a SVertex
Definition at line 749 of file ViewEdgeXBuilder.cpp.
Instantiate a SVertex if it hasn't been already created
Definition at line 759 of file ViewEdgeXBuilder.cpp.
|
protected |
instantiate a ViewVertex from a SVertex, if it doesn't exist yet
Definition at line 780 of file ViewEdgeXBuilder.cpp.
References Freestyle::SVertex::viewvertex().
|
protected |
Definition at line 561 of file ViewEdgeXBuilder.cpp.
References Freestyle::WEdge::GetaFace(), Freestyle::WEdge::GetbFace(), Freestyle::WFace::GetMark(), and result.
|
inline |
Definition at line 230 of file ViewEdgeXBuilder.h.
References id.
|
inline |
Definition at line 235 of file ViewEdgeXBuilder.h.
References id.
|
inline |
checks whether a WEdge has already been processed or not
Definition at line 738 of file ViewEdgeXBuilder.cpp.
References Freestyle::WEdge::userdata.
|
protected |
checks whether a face has already been processed or not
Definition at line 550 of file ViewEdgeXBuilder.cpp.
References Freestyle::WXFaceLayer::userdata.
|
protected |
Definition at line 164 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 165 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 163 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 271 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 272 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 270 of file ViewEdgeXBuilder.h.