|
Blender V4.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 163 of file ViewEdgeXBuilder.h.
|
inline |
Definition at line 170 of file ViewEdgeXBuilder.h.
References _currentFId, _currentSVertexId, and _currentViewId.
|
inlinevirtual |
Definition at line 177 of file ViewEdgeXBuilder.h.
|
protected |
Definition at line 678 of file ViewEdgeXBuilder.cpp.
References _currentFId, _pCurrentSShape, Freestyle::SShape::AddEdge(), 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(), MakeSVertex(), 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.
Referenced by BuildSharpViewEdge().
Makes a sharp viewedge.
Definition at line 214 of file ViewEdgeXBuilder.cpp.
References _currentViewId, _pCurrentSShape, _pCurrentVShape, Freestyle::SShape::AddChain(), Freestyle::ViewShape::AddEdge(), BuildSharpFEdge(), Freestyle::OWXEdge::e, FindNextWEdge(), FindPreviousWEdge(), MakeViewVertex(), 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(), stopSharpViewEdge(), Freestyle::WEdge::userdata, Freestyle::FEdge::vertexA(), and Freestyle::FEdge::vertexB().
Referenced by BuildViewEdges().
|
protected |
Definition at line 460 of file ViewEdgeXBuilder.cpp.
References _currentFId, _pCurrentSShape, A, A1, A2, Freestyle::SShape::AddEdge(), 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(), MakeSVertex(), Freestyle::WXFaceLayer::nature(), 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().
Referenced by BuildSmoothViewEdge().
| ViewEdge * Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge | ( | const OWXFaceLayer & | iFaceLayer | ) |
Builds a smooth view edge, starting the face iFace.
Definition at line 128 of file ViewEdgeXBuilder.cpp.
References _currentViewId, _pCurrentSShape, _pCurrentVShape, Freestyle::SShape::AddChain(), Freestyle::ViewShape::AddEdge(), BuildSmoothFEdge(), FindNextFaceLayer(), FindPreviousFaceLayer(), Freestyle::OWXFaceLayer::fl, MakeViewVertex(), 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(), stopSmoothViewEdge(), Freestyle::WXFaceLayer::userdata, Freestyle::FEdge::vertexA(), and Freestyle::FEdge::vertexB().
Referenced by BuildViewEdges().
|
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().
|
inline |
Definition at line 214 of file ViewEdgeXBuilder.h.
References _currentFId.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
Definition at line 219 of file ViewEdgeXBuilder.h.
References _currentSVertexId.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
accessors
Definition at line 209 of file ViewEdgeXBuilder.h.
References _currentViewId.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
protected |
Definition at line 298 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().
Referenced by BuildSmoothViewEdge().
Definition at line 584 of file ViewEdgeXBuilder.cpp.
References Freestyle::OWXEdge::e, Freestyle::WEdge::GetaVertex(), Freestyle::WEdge::GetbVertex(), Freestyle::WXEdge::nature(), Freestyle::Nature::NO_FEATURE, Freestyle::OWXEdge::order, retrieveFaceMarks(), and v.
Referenced by BuildSharpViewEdge().
|
protected |
Definition at line 379 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().
Referenced by BuildSmoothViewEdge().
Definition at line 633 of file ViewEdgeXBuilder.cpp.
References Freestyle::OWXEdge::e, Freestyle::WEdge::GetaVertex(), Freestyle::WEdge::GetbVertex(), Freestyle::WXEdge::nature(), Freestyle::Nature::NO_FEATURE, Freestyle::OWXEdge::order, retrieveFaceMarks(), and v.
Referenced by BuildSharpViewEdge().
|
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().
Instantiate a SVertex
Definition at line 758 of file ViewEdgeXBuilder.cpp.
References _currentSVertexId, _pCurrentSShape, Freestyle::SShape::AddNewVertex(), and Freestyle::SilhouetteGeomEngine::ProjectSilhouette().
Referenced by BuildSharpFEdge(), BuildSmoothFEdge(), and MakeSVertex().
Instantiate a SVertex if it hasn't been already created
Definition at line 768 of file ViewEdgeXBuilder.cpp.
References _SVertexMap, and MakeSVertex().
|
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().
Definition at line 570 of file ViewEdgeXBuilder.cpp.
References Freestyle::WEdge::GetaFace(), Freestyle::WEdge::GetbFace(), Freestyle::WFace::GetMark(), and result.
Referenced by FindNextWEdge(), and FindPreviousWEdge().
|
inline |
Definition at line 230 of file ViewEdgeXBuilder.h.
References _currentFId.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
Definition at line 235 of file ViewEdgeXBuilder.h.
References _currentSVertexId.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
modifiers
Definition at line 225 of file ViewEdgeXBuilder.h.
References _currentViewId.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
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().
|
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().
|
protected |
Definition at line 166 of file ViewEdgeXBuilder.h.
Referenced by BuildSharpFEdge(), BuildSmoothFEdge(), currentFId(), setCurrentFId(), and ViewEdgeXBuilder().
|
protected |
Definition at line 167 of file ViewEdgeXBuilder.h.
Referenced by currentSVertexId(), MakeSVertex(), setCurrentSVertexId(), and ViewEdgeXBuilder().
|
protected |
Definition at line 165 of file ViewEdgeXBuilder.h.
Referenced by BuildSharpViewEdge(), BuildSmoothViewEdge(), currentViewId(), setCurrentViewId(), and ViewEdgeXBuilder().
|
protected |
Definition at line 271 of file ViewEdgeXBuilder.h.
Referenced by BuildSharpFEdge(), BuildSharpViewEdge(), BuildSmoothFEdge(), BuildSmoothViewEdge(), BuildViewEdges(), Init(), and MakeSVertex().
|
protected |
Definition at line 272 of file ViewEdgeXBuilder.h.
Referenced by BuildSharpViewEdge(), BuildSmoothViewEdge(), BuildViewEdges(), Init(), and MakeViewVertex().
|
protected |
Definition at line 270 of file ViewEdgeXBuilder.h.
Referenced by Init(), and MakeSVertex().