|
Blender V4.3
|
#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 FEdge * | getFEdge (Interface0D &) |
| virtual Id | getId () const |
| virtual Nature::VertexNature | getNature () const |
| virtual SVertex * | castToSVertex () |
| virtual ViewVertex * | castToViewVertex () |
| virtual NonTVertex * | castToNonTVertex () |
| virtual TVertex * | castToTVertex () |
| SVertex () | |
| SVertex (const Vec3r &iPoint3D, const Id &id) | |
| SVertex (SVertex &iBrother) | |
| virtual | ~SVertex () |
| virtual SVertex * | duplicate () |
| virtual bool | operator== (const SVertex &iBrother) |
| const Vec3r & | point3D () const |
| const Vec3r & | point2D () const |
| set< Vec3r > | normals () |
| uint | normalsSize () const |
| const vector< FEdge * > & | fedges () |
| fedges_container::iterator | fedges_begin () |
| fedges_container::iterator | fedges_end () |
| SShape * | shape () |
| real | z () const |
| ViewVertex * | viewvertex () |
| void | setPoint3D (const Vec3r &iPoint3D) |
| void | setPoint2D (const Vec3r &iPoint2D) |
| void | AddNormal (const Vec3r &iNormal) |
| void | setCurvatureInfo (CurvatureInfo *ci) |
| const CurvatureInfo * | getCurvatureInfo () 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) |
| FEdge * | fedge () |
| const Vec3r & | point2d () const |
| const Vec3r & | point3d () const |
| Vec3r | normal () const |
| Id | shape_id () const |
| const SShape * | shape () 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 Polygon3r & | occludee () const |
| const SShape * | occluded_shape () const |
| bool | occludee_empty () const |
| real | z_discontinuity () const |
Public Member Functions inherited from Freestyle::Interface0D | |
| Interface0D () | |
| virtual | ~Interface0D () |
Public Attributes | |
| void * | userdata |
Class to define a vertex of the embedding.
Definition at line 58 of file Silhouette.h.
| typedef vector<FEdge *> Freestyle::SVertex::fedges_container |
Definition at line 140 of file Silhouette.h.
|
inline |
Default constructor.
Definition at line 163 of file Silhouette.h.
References userdata.
Referenced by duplicate().
Builds a SVertex from 3D coordinates and an Id.
Definition at line 173 of file Silhouette.h.
References userdata.
|
inline |
|
inlinevirtual |
Destructor.
Definition at line 204 of file Silhouette.h.
|
inline |
Add an FEdge to the list of edges emanating from this SVertex.
Definition at line 361 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpFEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::Chain::push_viewedge_back(), Freestyle::Chain::push_viewedge_front(), and Freestyle::SShape::SplitEdgeIn2().
|
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().
|
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().
|
virtual |
Cast the Interface0D in SVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 32 of file Silhouette.cpp.
|
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().
|
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().
|
inlinevirtual |
| FEdge * Freestyle::SVertex::fedge | ( | ) |
Definition at line 146 of file Silhouette.cpp.
References getNature(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::fedge().
Definition at line 250 of file Silhouette.h.
Referenced by getFEdge(), Freestyle::TVertex::getSVertex(), Freestyle::ViewMap::InsertViewVertex(), and SVertex().
|
inline |
Definition at line 255 of file Silhouette.h.
|
inline |
Definition at line 260 of file Silhouette.h.
|
inline |
Definition at line 311 of file Silhouette.h.
|
inlinevirtual |
Returns the string "SVertex".
Reimplemented from Freestyle::Interface0D.
Definition at line 61 of file Silhouette.h.
|
virtual |
Returns the FEdge that lies between this Svertex and the Interface0D given as argument.
Reimplemented from Freestyle::Interface0D.
Definition at line 154 of file Silhouette.cpp.
References Freestyle::TVertex::backSVertex(), fedges(), Freestyle::TVertex::frontSVertex(), getNature(), result, Freestyle::Nature::T_VERTEX, and viewvertex().
Referenced by Freestyle::CurvePoint::getFEdge(), Freestyle::CurvePoint::normal(), Freestyle::CurvePoint::occluded_shape(), Freestyle::CurvePoint::occludee(), Freestyle::CurvePoint::occludee_empty(), Freestyle::CurvePoint::occluders_begin(), Freestyle::CurvePoint::occluders_empty(), Freestyle::CurvePoint::occluders_end(), Freestyle::CurvePoint::occluders_size(), and Freestyle::CurvePoint::z_discontinuity().
|
inlinevirtual |
Returns the Id of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 119 of file Silhouette.h.
Referenced by Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::ViewMap::CreateTVertex(), Freestyle::CurvePoint::getId(), Freestyle::NonTVertex::getId(), Freestyle::SShape::SplitEdge(), and Freestyle::ViewShape::SplitEdge().
|
virtual |
Returns the nature of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 23 of file Silhouette.cpp.
References Freestyle::ViewVertex::getNature(), and Freestyle::Nature::S_VERTEX.
Referenced by fedge(), getFEdge(), Freestyle::CurvePoint::getNature(), occluded_shape(), occludee(), occludee_empty(), occluders_begin(), occluders_empty(), occluders_end(), occluders_size(), qi(), and z_discontinuity().
|
inlinevirtual |
Returns the 2D point.
Reimplemented from Freestyle::Interface0D.
Definition at line 110 of file Silhouette.h.
References Freestyle::VecMat::Vec3< T >::x(), and Freestyle::VecMat::Vec3< T >::y().
Referenced by Freestyle::CurvePoint::CurvePoint(), Freestyle::CurvePoint::getFEdge(), Freestyle::FEdge::getLength2D(), Freestyle::NonTVertex::getPoint2D(), and Freestyle::TVertex::getPoint2D().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
inline |
Definition at line 407 of file Silhouette.h.
References Freestyle::Exception::raiseException().
Referenced by Freestyle::CurvePoint::normal().
|
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.
|
inline |
Returns the number of different normals for this vertex.
Definition at line 245 of file Silhouette.h.
| const SShape * Freestyle::SVertex::occluded_shape | ( | ) | const |
Definition at line 122 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occluded_shape().
| const Polygon3r & Freestyle::SVertex::occludee | ( | ) | const |
Definition at line 114 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occludee().
| bool Freestyle::SVertex::occludee_empty | ( | ) | const |
Definition at line 130 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occludee_empty().
| occluder_container::const_iterator Freestyle::SVertex::occluders_begin | ( | ) | const |
Definition at line 82 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occluders_begin().
| bool Freestyle::SVertex::occluders_empty | ( | ) | const |
Definition at line 98 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occluders_empty().
| occluder_container::const_iterator Freestyle::SVertex::occluders_end | ( | ) | const |
Definition at line 90 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occluders_end().
| int Freestyle::SVertex::occluders_size | ( | ) | const |
Definition at line 106 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occluders_size().
|
inlinevirtual |
operator ==
Definition at line 219 of file Silhouette.h.
|
inline |
Definition at line 230 of file Silhouette.h.
Referenced by Freestyle::FEdge::center2d(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::ViewMap::CreateTVertex(), Freestyle::NonTVertex::getProjectedX(), Freestyle::TVertex::getProjectedX(), Freestyle::NonTVertex::getProjectedY(), Freestyle::TVertex::getProjectedY(), Freestyle::NonTVertex::getProjectedZ(), Freestyle::TVertex::getProjectedZ(), Freestyle::FEdge::max2d(), Freestyle::FEdge::min2d(), point2d(), Freestyle::SShape::SplitEdge(), and SVertex().
|
inline |
Definition at line 397 of file Silhouette.h.
References point2D().
Referenced by Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::CurvePoint::CurvePoint(), Freestyle::CurvePoint::CurvePoint(), Freestyle::FEdge::orientation2d(), Freestyle::Curve::push_vertex_back(), and Freestyle::Curve::push_vertex_front().
|
inline |
Definition at line 225 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::FEdge::center3d(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::computeVisibility(), Freestyle::NonTVertex::getX(), Freestyle::TVertex::getX(), Freestyle::NonTVertex::getY(), Freestyle::TVertex::getY(), Freestyle::NonTVertex::getZ(), Freestyle::TVertex::getZ(), point3d(), Freestyle::SilhouetteGeomEngine::ProjectSilhouette(), Freestyle::SShape::SplitEdge(), and SVertex().
|
inline |
Definition at line 402 of file Silhouette.h.
References point3D().
Referenced by Freestyle::CurvePoint::CurvePoint(), Freestyle::CurvePoint::CurvePoint(), Freestyle::FEdge::orientation3d(), and Freestyle::FEdge::z_discontinuity().
| int Freestyle::SVertex::qi | ( | ) | const |
Definition at line 74 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
|
inline |
Remove an FEdge from the list of edges emanating from this SVertex.
Definition at line 367 of file Silhouette.h.
Definition at line 378 of file Silhouette.h.
Referenced by Freestyle::SShape::SplitEdge().
|
inline |
Definition at line 303 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge().
Definition at line 345 of file Silhouette.h.
|
inline |
Sets the Id
Definition at line 340 of file Silhouette.h.
|
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().
|
inline |
modifiers Sets the 3D coordinates of the SVertex.
Definition at line 285 of file Silhouette.h.
|
inline |
Definition at line 350 of file Silhouette.h.
Referenced by Freestyle::SShape::AddNewVertex(), and Freestyle::SShape::SShape().
|
inline |
Definition at line 355 of file Silhouette.h.
Referenced by Freestyle::NonTVertex::NonTVertex(), Freestyle::NonTVertex::NonTVertex(), Freestyle::TVertex::setBackSVertex(), Freestyle::TVertex::setFrontSVertex(), Freestyle::NonTVertex::setSVertex(), and Freestyle::TVertex::TVertex().
|
inline |
Definition at line 265 of file Silhouette.h.
Referenced by Freestyle::FEdgeSharp::aFrsMaterial(), Freestyle::FEdgeSharp::bFrsMaterial(), Freestyle::FEdgeSmooth::frs_material(), Freestyle::Chain::push_viewedge_back(), Freestyle::Chain::push_viewedge_front(), Freestyle::CurvePoint::shape(), Freestyle::FEdge::shape(), Freestyle::FEdge::shape(), Freestyle::ViewEdge::shape(), Freestyle::FEdge::shape_id(), Freestyle::ViewEdge::shape_id(), Freestyle::FEdge::shape_importance(), shape_importance(), Freestyle::ViewShape::SplitEdge(), and SVertex().
| const SShape * Freestyle::SVertex::shape | ( | ) | const |
Definition at line 69 of file Silhouette.cpp.
| Id Freestyle::SVertex::shape_id | ( | ) | const |
Definition at line 64 of file Silhouette.cpp.
References Freestyle::SShape::getId().
| float Freestyle::SVertex::shape_importance | ( | ) | const |
Definition at line 52 of file Silhouette.cpp.
References Freestyle::SShape::importance(), and shape().
|
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().
|
inline |
Definition at line 270 of file Silhouette.h.
| real Freestyle::SVertex::z_discontinuity | ( | ) | const |
Definition at line 138 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::z_discontinuity().
| 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.