Blender
V3.3
|
#include <Silhouette.h>
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 () |
unsigned | 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 |
![]() | |
Interface0D () | |
virtual | ~Interface0D () |
Public Attributes | |
void * | userdata |
Class to define a vertex of the embedding.
Definition at line 56 of file Silhouette.h.
typedef vector<FEdge *> Freestyle::SVertex::fedges_container |
Definition at line 138 of file Silhouette.h.
|
inline |
|
inline |
|
inlinevirtual |
Destructor.
Definition at line 202 of file Silhouette.h.
Add an FEdge to the list of edges emanating from this SVertex.
Definition at line 359 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().
Adds a normal to the Svertex's set of normals. If the same normal is already in the set, nothing changes.
Definition at line 296 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 40 of file Silhouette.cpp.
|
virtual |
Cast the Interface0D in SVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 30 of file Silhouette.cpp.
|
virtual |
Cast the Interface0D in TVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 45 of file Silhouette.cpp.
|
virtual |
Cast the Interface0D in ViewVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 35 of file Silhouette.cpp.
|
inlinevirtual |
Cloning method.
Definition at line 210 of file Silhouette.h.
FEdge * Freestyle::SVertex::fedge | ( | ) |
Definition at line 144 of file Silhouette.cpp.
References getNature(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::fedge().
Definition at line 248 of file Silhouette.h.
Referenced by getFEdge(), Freestyle::TVertex::getSVertex(), Freestyle::ViewMap::InsertViewVertex(), and SVertex().
|
inline |
Definition at line 253 of file Silhouette.h.
|
inline |
Definition at line 258 of file Silhouette.h.
|
inline |
Definition at line 309 of file Silhouette.h.
|
inlinevirtual |
Returns the string "SVertex".
Reimplemented from Freestyle::Interface0D.
Definition at line 59 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 152 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 117 of file Silhouette.h.
Referenced by Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::ViewMap::CreateTVertex(), Freestyle::NonTVertex::getId(), Freestyle::ViewShape::SplitEdge(), and Freestyle::SShape::SplitEdge().
|
virtual |
Returns the nature of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 21 of file Silhouette.cpp.
References Freestyle::ViewVertex::getNature(), and Freestyle::Nature::S_VERTEX.
Referenced by fedge(), getFEdge(), 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 108 of file Silhouette.h.
Referenced by Freestyle::CurvePoint::CurvePoint(), Freestyle::CurvePoint::getFEdge(), Freestyle::TVertex::getPoint2D(), and Freestyle::NonTVertex::getPoint2D().
|
inlinevirtual |
Returns the 3D point.
Reimplemented from Freestyle::Interface0D.
Definition at line 84 of file Silhouette.h.
Referenced by Freestyle::TVertex::getPoint3D(), and Freestyle::NonTVertex::getPoint3D().
|
inlinevirtual |
Returns the projected 3D x coordinate of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 90 of file Silhouette.h.
Referenced by Freestyle::crossesProscenium().
|
inlinevirtual |
Returns the projected 3D y coordinate of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 96 of file Silhouette.h.
Referenced by Freestyle::crossesProscenium().
|
inlinevirtual |
Returns the projected 3D z coordinate of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 102 of file Silhouette.h.
|
inlinevirtual |
Returns the 3D x coordinate of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 66 of file Silhouette.h.
|
inlinevirtual |
Returns the 3D y coordinate of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 72 of file Silhouette.h.
|
inlinevirtual |
Returns the 3D z coordinate of the vertex.
Reimplemented from Freestyle::Interface0D.
Definition at line 78 of file Silhouette.h.
|
inline |
Definition at line 405 of file Silhouette.h.
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 237 of file Silhouette.h.
|
inline |
Returns the number of different normals for this vertex.
Definition at line 243 of file Silhouette.h.
const SShape * Freestyle::SVertex::occluded_shape | ( | ) | const |
Definition at line 120 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 112 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 128 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 80 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 96 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 88 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 104 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Referenced by Freestyle::CurvePoint::occluders_size().
operator ==
Definition at line 217 of file Silhouette.h.
|
inline |
Definition at line 228 of file Silhouette.h.
Referenced by Freestyle::FEdge::center2d(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::ViewMap::CreateTVertex(), Freestyle::TVertex::getProjectedX(), Freestyle::NonTVertex::getProjectedX(), Freestyle::TVertex::getProjectedY(), Freestyle::NonTVertex::getProjectedY(), Freestyle::TVertex::getProjectedZ(), Freestyle::NonTVertex::getProjectedZ(), Freestyle::ViewEdge::include_in_2d_area(), Freestyle::ViewEdge::intersect_2d_area(), Freestyle::FEdge::max2d(), Freestyle::FEdge::min2d(), Freestyle::SShape::SplitEdge(), and SVertex().
|
inline |
Definition at line 395 of file Silhouette.h.
Referenced by Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::CurvePoint::CurvePoint(), Freestyle::FEdge::orientation2d(), Freestyle::Curve::push_vertex_back(), and Freestyle::Curve::push_vertex_front().
|
inline |
Definition at line 223 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::FEdge::center3d(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::computeVisibility(), Freestyle::TVertex::getX(), Freestyle::NonTVertex::getX(), Freestyle::TVertex::getY(), Freestyle::NonTVertex::getY(), Freestyle::TVertex::getZ(), Freestyle::NonTVertex::getZ(), Freestyle::SilhouetteGeomEngine::ProjectSilhouette(), Freestyle::SShape::SplitEdge(), and SVertex().
|
inline |
Definition at line 400 of file Silhouette.h.
Referenced by Freestyle::CurvePoint::CurvePoint(), Freestyle::FEdge::orientation3d(), and Freestyle::FEdge::z_discontinuity().
int Freestyle::SVertex::qi | ( | ) | const |
Definition at line 72 of file Silhouette.cpp.
References getNature(), Freestyle::Exception::raiseException(), and Freestyle::Nature::T_VERTEX.
Remove an FEdge from the list of edges emanating from this SVertex.
Definition at line 365 of file Silhouette.h.
Definition at line 376 of file Silhouette.h.
Referenced by Freestyle::SShape::SplitEdge().
|
inline |
Definition at line 301 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge().
Definition at line 343 of file Silhouette.h.
Sets the 3D projected coordinates of the SVertex.
Definition at line 289 of file Silhouette.h.
Referenced by Freestyle::SShape::CreateSVertex(), Freestyle::SilhouetteGeomEngine::ProjectSilhouette(), and Freestyle::SShape::SplitEdge().
modifiers Sets the 3D coordinates of the SVertex.
Definition at line 283 of file Silhouette.h.
Definition at line 348 of file Silhouette.h.
Referenced by Freestyle::SShape::AddNewVertex(), and Freestyle::SShape::SShape().
|
inline |
Definition at line 353 of file Silhouette.h.
Referenced by Freestyle::NonTVertex::NonTVertex(), Freestyle::TVertex::setBackSVertex(), Freestyle::TVertex::setFrontSVertex(), Freestyle::NonTVertex::setSVertex(), and Freestyle::TVertex::TVertex().
|
inline |
Definition at line 263 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::ViewEdge::shape(), Freestyle::FEdge::shape_id(), Freestyle::ViewEdge::shape_id(), shape_importance(), Freestyle::FEdge::shape_importance(), Freestyle::ViewShape::SplitEdge(), and SVertex().
const SShape * Freestyle::SVertex::shape | ( | ) | const |
Definition at line 67 of file Silhouette.cpp.
Id Freestyle::SVertex::shape_id | ( | ) | const |
Definition at line 62 of file Silhouette.cpp.
References Freestyle::SShape::getId().
float Freestyle::SVertex::shape_importance | ( | ) | const |
Definition at line 50 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 276 of file Silhouette.h.
Referenced by getFEdge(), Freestyle::ViewMap::InsertViewVertex(), and Freestyle::ViewEdgeXBuilder::MakeViewVertex().
|
inline |
Definition at line 268 of file Silhouette.h.
real Freestyle::SVertex::z_discontinuity | ( | ) | const |
Definition at line 136 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 158 of file Silhouette.h.
Referenced by SVertex().