|
Blender V5.0
|
#include <Silhouette.h>
Inherits Freestyle::Interface1D.
Inherited by Freestyle::FEdgeSharp, and Freestyle::FEdgeSmooth.
Public Member Functions | |
| virtual string | getExactTypeName () const |
| virtual real | getLength2D () const |
| virtual Id | getId () const |
| FEdge () | |
| FEdge (SVertex *vA, SVertex *vB) | |
| FEdge (FEdge &iBrother) | |
| virtual | ~FEdge () |
| virtual FEdge * | duplicate () |
| SVertex * | vertexA () |
| SVertex * | vertexB () |
| SVertex * | operator[] (const ushort &i) const |
| Nature::EdgeNature | getNature () const |
| FEdge * | nextEdge () |
| FEdge * | previousEdge () |
| SShape * | shape () |
| int | invisibility () const |
| ViewEdge * | viewedge () const |
| Vec3r | center3d () |
| Vec3r | center2d () |
| const Polygon3r & | aFace () const |
| const Vec3r & | getOccludeeIntersection () |
| bool | getOccludeeEmpty () |
| bool | isSmooth () const |
| bool | isInImage () const |
| bool | isTemporary () const |
| void | setVertexA (SVertex *vA) |
| void | setVertexB (SVertex *vB) |
| void | setId (const Id &id) |
| void | setNextEdge (FEdge *iEdge) |
| void | setPreviousEdge (FEdge *iEdge) |
| void | setNature (Nature::EdgeNature iNature) |
| void | setViewEdge (ViewEdge *iViewEdge) |
| void | setaFace (Polygon3r &iFace) |
| void | setOccludeeIntersection (const Vec3r &iPoint) |
| void | setOccludeeEmpty (bool iempty) |
| void | setSmooth (bool iFlag) |
| void | setIsInImage (bool iFlag) |
| void | setTemporary (bool iFlag) |
| const SVertex * | min2d () const |
| const SVertex * | max2d () 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 |
| int | viewedge_nature () const |
| Vec3r | orientation2d () const |
| Vec3r | orientation3d () const |
| virtual Interface0DIterator | verticesBegin () |
| virtual Interface0DIterator | verticesEnd () |
| virtual Interface0DIterator | pointsBegin (float t=0.0f) |
| virtual Interface0DIterator | pointsEnd (float t=0.0f) |
| Public Member Functions inherited from Freestyle::Interface1D | |
| Interface1D () | |
| virtual | ~Interface1D () |
| virtual uint | getTimeStamp () const |
| void | setTimeStamp (uint iTimeStamp) |
Static Public Member Functions | |
| static SVertex * | CommonVertex (FEdge *iEdge1, FEdge *iEdge2) |
Public Attributes | |
| void * | userdata |
Protected Attributes | |
| SVertex * | _VertexA |
| SVertex * | _VertexB |
| Id | _Id |
| Nature::EdgeNature | _Nature |
| FEdge * | _NextEdge |
| FEdge * | _PreviousEdge |
| ViewEdge * | _ViewEdge |
| Polygon3r | _aFace |
| Vec3r | _occludeeIntersection |
| bool | _occludeeEmpty |
| bool | _isSmooth |
| bool | _isInImage |
| bool | _isTemporary |
| Protected Attributes inherited from Freestyle::Interface1D | |
| uint | _timeStamp |
Base Class for feature edges. This FEdge can represent a silhouette, a crease, a ridge/valley, a border or a suggestive contour. For silhouettes, the FEdge is oriented such as, the visible face lies on the left of the edge. For borders, the FEdge is oriented such as, the face lies on the left of the edge. An FEdge can represent an initial edge of the mesh or runs across a face of the initial mesh depending on the smoothness or sharpness of the mesh. This class is specialized into a smooth and a sharp version since their properties slightly vary from one to the other.
Definition at line 461 of file Silhouette.h.
|
inline |
Default constructor
Definition at line 526 of file Silhouette.h.
References _isInImage, _isSmooth, _isTemporary, _Nature, _NextEdge, _occludeeEmpty, _PreviousEdge, _VertexA, _VertexB, _ViewEdge, Freestyle::Nature::NO_FEATURE, and userdata.
Referenced by CommonVertex(), duplicate(), Freestyle::FEdgeSharp::duplicate(), Freestyle::FEdgeSmooth::duplicate(), FEdge(), Freestyle::FEdgeSharp::FEdgeSharp(), Freestyle::FEdgeSharp::FEdgeSharp(), Freestyle::FEdgeSharp::FEdgeSharp(), Freestyle::FEdgeSmooth::FEdgeSmooth(), Freestyle::FEdgeSmooth::FEdgeSmooth(), Freestyle::FEdgeSmooth::FEdgeSmooth(), nextEdge(), previousEdge(), setNextEdge(), and setPreviousEdge().
Builds an FEdge going from vA to vB.
Definition at line 543 of file Silhouette.h.
References _isInImage, _isSmooth, _isTemporary, _Nature, _NextEdge, _occludeeEmpty, _PreviousEdge, _VertexA, _VertexB, _ViewEdge, Freestyle::Nature::NO_FEATURE, and userdata.
|
inline |
Copy constructor
Definition at line 560 of file Silhouette.h.
References _aFace, _Id, _isInImage, _isSmooth, _isTemporary, _Nature, _NextEdge, _occludeeEmpty, _PreviousEdge, _VertexA, _VertexB, _ViewEdge, FEdge(), getNature(), nextEdge(), userdata, vertexA(), and vertexB().
|
inlinevirtual |
Destructor
Definition at line 582 of file Silhouette.h.
|
inline |
|
inline |
Definition at line 664 of file Silhouette.h.
References _VertexA, and _VertexB.
Referenced by Freestyle::ViewMapBuilder::CullViewEdges(), and Freestyle::CulledOccluderSource::cullViewEdges().
|
inline |
Definition at line 659 of file Silhouette.h.
References _VertexA, and _VertexB.
Referenced by Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), and Freestyle::computeVisibility().
Definition at line 820 of file Silhouette.h.
|
inlinevirtual |
Cloning method.
Reimplemented in Freestyle::FEdgeSharp, and Freestyle::FEdgeSmooth.
Definition at line 585 of file Silhouette.h.
References FEdge().
Referenced by Freestyle::Chain::push_viewedge_front(), and Freestyle::SShape::SShape().
|
inlinevirtual |
Returns the string "FEdge".
Reimplemented from Freestyle::Interface1D.
Reimplemented in Freestyle::FEdgeSharp, and Freestyle::FEdgeSmooth.
Definition at line 464 of file Silhouette.h.
Referenced by Any_BPy_FEdge_from_FEdge().
|
inlinevirtual |
Reimplemented from Freestyle::Interface1D.
Definition at line 481 of file Silhouette.h.
References _Id.
Referenced by Freestyle::SteerableViewMap::AddFEdge(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::FindOccludee(), Freestyle::Functions1D::GetSteerableViewMapDensityF1D::operator()(), Freestyle::SShape::SplitEdge(), and Freestyle::SShape::SplitEdgeIn2().
|
inlinevirtual |
Returns the 2D length of the FEdge.
Reimplemented from Freestyle::Interface1D.
Definition at line 472 of file Silhouette.h.
|
inlinevirtual |
Returns the nature of the FEdge.
Reimplemented from Freestyle::Interface1D.
Definition at line 611 of file Silhouette.h.
References _Nature.
Referenced by FEdge(), Freestyle::SShape::SplitEdgeIn2(), and z_discontinuity().
|
inline |
Definition at line 696 of file Silhouette.h.
References _occludeeEmpty.
|
inline |
Definition at line 691 of file Silhouette.h.
References _occludeeIntersection.
| int Freestyle::FEdge::invisibility | ( | ) | const |
Definition at line 244 of file Silhouette.cpp.
References _ViewEdge.
Referenced by qi(), and Freestyle::ViewMapTesselator::Tesselate().
|
inline |
Definition at line 707 of file Silhouette.h.
References _isInImage.
Referenced by Freestyle::computeCumulativeVisibility(), Freestyle::computeDetailedVisibility(), Freestyle::computeFastVisibility(), Freestyle::computeVeryFastVisibility(), Freestyle::ViewMapBuilder::CullViewEdges(), and Freestyle::CulledOccluderSource::cullViewEdges().
|
inline |
Returns true if this FEdge is a smooth FEdge.
Definition at line 702 of file Silhouette.h.
References _isSmooth.
Referenced by Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::computeVisibility(), Freestyle::ViewMapBuilder::FindOccludee(), Freestyle::ViewMapBuilder::FindOccludee(), Freestyle::findOccludee(), Freestyle::findOccludee(), Freestyle::Functions0D::MaterialF0D::operator()(), Freestyle::SShape::SplitEdge(), and Freestyle::SShape::SplitEdgeIn2().
|
inline |
Definition at line 712 of file Silhouette.h.
References _isTemporary.
|
inline |
Definition at line 851 of file Silhouette.h.
|
inline |
Definition at line 841 of file Silhouette.h.
|
inline |
Returns the FEdge following this one in the ViewEdge. If this FEdge is the last of the ViewEdge, 0 is returned.
Definition at line 619 of file Silhouette.h.
References _NextEdge, and FEdge().
Referenced by Freestyle::computeCumulativeVisibility(), Freestyle::ViewMapBuilder::computeCusps(), Freestyle::computeDetailedVisibility(), Freestyle::ViewMapBuilder::ComputeFastRayCastingVisibility(), Freestyle::computeFastVisibility(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::computeVeryFastVisibility(), Freestyle::ViewMapBuilder::CullViewEdges(), Freestyle::CulledOccluderSource::cullViewEdges(), FEdge(), Freestyle::ViewEdge::include_in_2d_area(), Freestyle::ViewEdge::intersect_2d_area(), Freestyle::SShape::SplitEdge(), Freestyle::SShape::SplitEdgeIn2(), Freestyle::ViewMapTesselator::Tesselate(), and Freestyle::ViewEdge::UpdateFEdges().
| const SShape * Freestyle::FEdge::occluded_shape | ( | ) | const |
Definition at line 230 of file Silhouette.cpp.
References _ViewEdge, and Freestyle::ViewShape::sshape().
|
inline |
Definition at line 878 of file Silhouette.h.
References aFace().
| bool Freestyle::FEdge::occludee_empty | ( | ) | const |
Definition at line 269 of file Silhouette.cpp.
References _ViewEdge.
Referenced by z_discontinuity().
| occluder_container::const_iterator Freestyle::FEdge::occluders_begin | ( | ) | const |
Definition at line 249 of file Silhouette.cpp.
References _ViewEdge.
| bool Freestyle::FEdge::occluders_empty | ( | ) | const |
Definition at line 259 of file Silhouette.cpp.
References _ViewEdge.
| occluder_container::const_iterator Freestyle::FEdge::occluders_end | ( | ) | const |
Definition at line 254 of file Silhouette.cpp.
References _ViewEdge.
| int Freestyle::FEdge::occluders_size | ( | ) | const |
Definition at line 264 of file Silhouette.cpp.
References _ViewEdge.
|
inline |
Definition at line 906 of file Silhouette.h.
References _VertexA, and _VertexB.
Referenced by Freestyle::SteerableViewMap::AddFEdge(), Freestyle::Functions0D::Normal2DF0D::operator()(), Freestyle::Functions1D::Orientation2DF1D::operator()(), and Freestyle::ViewEdgeComp().
|
inline |
Definition at line 911 of file Silhouette.h.
|
inlinevirtual |
Returns an iterator over the FEdge points, pointing to the first point. The difference with verticesBegin() is that here we can iterate over points of the FEdge at a any given sampling. Indeed, for each iteration, a virtual point is created.
| t | The sampling with which we want to iterate over points of this FEdge. |
Reimplemented from Freestyle::Interface1D.
Definition at line 1109 of file Silhouette.h.
References verticesBegin().
|
inlinevirtual |
Returns an iterator over the FEdge points, pointing after the last point. The difference with verticesEnd() is that here we can iterate over points of the FEdge at a any given sampling. Indeed, for each iteration, a virtual point is created.
| t | The sampling with which we want to iterate over points of this FEdge. |
Reimplemented from Freestyle::Interface1D.
Definition at line 1114 of file Silhouette.h.
References verticesEnd().
|
inline |
Returns the Edge preceding this one in the ViewEdge. If this FEdge is the first one of the ViewEdge, 0 is returned.
Definition at line 627 of file Silhouette.h.
References _PreviousEdge, and FEdge().
|
inline |
Definition at line 868 of file Silhouette.h.
References invisibility().
Referenced by Freestyle::Functions1D::QuantitativeInvisibilityF1D::operator()().
|
inline |
Definition at line 784 of file Silhouette.h.
References _aFace.
Referenced by Freestyle::computeCumulativeVisibility(), Freestyle::computeDetailedVisibility(), Freestyle::ViewMapBuilder::ComputeFastRayCastingVisibility(), Freestyle::computeFastVisibility(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeVeryFastRayCastingVisibility(), and Freestyle::computeVeryFastVisibility().
|
inline |
Definition at line 731 of file Silhouette.h.
References _Id.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpFEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::SShape::SplitEdge(), and Freestyle::SShape::SplitEdgeIn2().
|
inline |
Definition at line 807 of file Silhouette.h.
References _isInImage.
Referenced by Freestyle::ViewMapBuilder::CullViewEdges(), and Freestyle::CulledOccluderSource::cullViewEdges().
|
inline |
Sets the nature of this FEdge.
Definition at line 749 of file Silhouette.h.
References _Nature.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpFEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::SShape::SplitEdge(), and Freestyle::SShape::SplitEdgeIn2().
|
inline |
Sets the pointer to the next FEdge.
Definition at line 737 of file Silhouette.h.
References _NextEdge, and FEdge().
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpFEdge(), Freestyle::ViewEdgeXBuilder::BuildSharpViewEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge(), Freestyle::SShape::SplitEdge(), and Freestyle::SShape::SplitEdgeIn2().
|
inline |
Definition at line 794 of file Silhouette.h.
References _occludeeEmpty.
Referenced by Freestyle::computeCumulativeVisibility(), Freestyle::computeDetailedVisibility(), and Freestyle::ViewMapBuilder::ComputeRayCastingVisibility().
|
inline |
Definition at line 789 of file Silhouette.h.
References _occludeeIntersection.
Referenced by Freestyle::ViewMapBuilder::FindOccludee(), and Freestyle::findOccludee().
|
inline |
Sets the pointer to the previous FEdge.
Definition at line 743 of file Silhouette.h.
References _PreviousEdge, and FEdge().
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpFEdge(), Freestyle::ViewEdgeXBuilder::BuildSharpViewEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge(), Freestyle::ViewMap::InsertViewVertex(), Freestyle::SShape::SplitEdge(), and Freestyle::SShape::SplitEdgeIn2().
|
inline |
Sets the flag telling whether this FEdge is smooth or sharp. true for Smooth, false for Sharp.
Definition at line 802 of file Silhouette.h.
References _isSmooth.
|
inline |
Definition at line 812 of file Silhouette.h.
References _isTemporary.
Referenced by Freestyle::Chain::push_viewedge_back(), and Freestyle::Chain::push_viewedge_front().
|
inline |
Sets the first SVertex.
Definition at line 719 of file Silhouette.h.
References _VertexA.
Referenced by Freestyle::Chain::push_viewedge_front().
|
inline |
Sets the second SVertex.
Definition at line 725 of file Silhouette.h.
References _VertexB.
Referenced by Freestyle::Chain::push_viewedge_back(), Freestyle::Chain::push_viewedge_front(), and Freestyle::SShape::SplitEdgeIn2().
|
inline |
Sets the ViewEdge to which this FEdge belongs to.
Definition at line 762 of file Silhouette.h.
References _ViewEdge.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpViewEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge(), Freestyle::ViewShape::SplitEdge(), and Freestyle::ViewEdge::UpdateFEdges().
|
inline |
Definition at line 632 of file Silhouette.h.
References _VertexA.
Referenced by Freestyle::ViewMap::CreateTVertex(), and Freestyle::ViewShape::SplitEdge().
| const SShape * Freestyle::FEdge::shape | ( | ) | const |
Definition at line 279 of file Silhouette.cpp.
References _VertexA.
| Id Freestyle::FEdge::shape_id | ( | ) | const |
Definition at line 274 of file Silhouette.cpp.
References _VertexA.
| float Freestyle::FEdge::shape_importance | ( | ) | const |
Definition at line 239 of file Silhouette.cpp.
References _VertexA.
|
inline |
Returns the first SVertex.
Definition at line 593 of file Silhouette.h.
References _VertexA.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpViewEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge(), CommonVertex(), Freestyle::ViewMapBuilder::computeCusps(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::computeVisibility(), Freestyle::ViewMap::CreateTVertex(), Freestyle::crossesProscenium(), FEdge(), Freestyle::ViewEdge::include_in_2d_area(), Freestyle::ViewEdge::intersect_2d_area(), Freestyle::Chain::push_viewedge_back(), Freestyle::SShape::SplitEdge(), Freestyle::ViewShape::SplitEdge(), and Freestyle::ViewMapTesselator::Tesselate().
|
inline |
Returns the second SVertex.
Definition at line 599 of file Silhouette.h.
References _VertexB.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpViewEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge(), CommonVertex(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::computeVisibility(), Freestyle::crossesProscenium(), FEdge(), Freestyle::ViewEdge::include_in_2d_area(), Freestyle::ViewEdge::intersect_2d_area(), Freestyle::Chain::push_viewedge_back(), Freestyle::SShape::SplitEdge(), Freestyle::SShape::SplitEdgeIn2(), and Freestyle::ViewMapTesselator::Tesselate().
|
inlinevirtual |
Returns an iterator over the 2 (!) SVertex pointing to the first SVertex.
Reimplemented from Freestyle::Interface1D.
Definition at line 1097 of file Silhouette.h.
Referenced by pointsBegin().
|
inlinevirtual |
Returns an iterator over the 2 (!) SVertex pointing after the last SVertex.
Reimplemented from Freestyle::Interface1D.
Definition at line 1103 of file Silhouette.h.
References ret.
Referenced by pointsEnd().
|
inline |
Returns a pointer to the ViewEdge to which this FEdge belongs to.
Definition at line 654 of file Silhouette.h.
References _ViewEdge.
Referenced by Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), Freestyle::ViewMap::CreateTVertex(), Freestyle::ViewMap::getClosestViewEdge(), Freestyle::Functions0D::getViewEdges(), Freestyle::ViewMap::InsertViewVertex(), and Freestyle::ViewShape::SplitEdge().
| int Freestyle::FEdge::viewedge_nature | ( | ) | const |
Definition at line 218 of file Silhouette.cpp.
References _ViewEdge.
| real Freestyle::FEdge::z_discontinuity | ( | ) | const |
Definition at line 284 of file Silhouette.cpp.
References _occludeeIntersection, _VertexA, _VertexB, Freestyle::Nature::BORDER, Freestyle::ViewMap::getInstance(), Freestyle::BBox< Point >::getMax(), Freestyle::BBox< Point >::getMin(), getNature(), Freestyle::ViewMap::getScene3dBBox(), Freestyle::VecMat::Vec< T, N >::norm(), occludee_empty(), result, and Freestyle::Nature::SILHOUETTE.
Referenced by Freestyle::Functions0D::ZDiscontinuityF0D::operator()().
|
protected |
Definition at line 509 of file Silhouette.h.
Referenced by aFace(), FEdge(), and setaFace().
|
protected |
Definition at line 499 of file Silhouette.h.
|
protected |
Definition at line 515 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), isInImage(), and setIsInImage().
|
protected |
Definition at line 513 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), Freestyle::FEdgeSmooth::FEdgeSmooth(), Freestyle::FEdgeSmooth::FEdgeSmooth(), Freestyle::FEdgeSmooth::FEdgeSmooth(), isSmooth(), and setSmooth().
|
protected |
Definition at line 517 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), isTemporary(), and setTemporary().
|
protected |
Definition at line 500 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), getNature(), and setNature().
|
protected |
Definition at line 503 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), nextEdge(), and setNextEdge().
|
protected |
Definition at line 511 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), getOccludeeEmpty(), and setOccludeeEmpty().
|
protected |
Definition at line 510 of file Silhouette.h.
Referenced by getOccludeeIntersection(), setOccludeeIntersection(), and z_discontinuity().
|
protected |
Definition at line 504 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), previousEdge(), and setPreviousEdge().
|
protected |
Definition at line 497 of file Silhouette.h.
Referenced by Freestyle::FEdgeSharp::aFrsMaterial(), Freestyle::FEdgeSharp::bFrsMaterial(), center2d(), center3d(), FEdge(), FEdge(), FEdge(), Freestyle::FEdgeSmooth::frs_material(), getLength2D(), max2d(), min2d(), operator[](), orientation2d(), orientation3d(), setVertexA(), shape(), shape(), shape_id(), shape_importance(), vertexA(), verticesBegin(), and z_discontinuity().
|
protected |
Definition at line 498 of file Silhouette.h.
Referenced by center2d(), center3d(), FEdge(), FEdge(), FEdge(), getLength2D(), max2d(), min2d(), operator[](), orientation2d(), orientation3d(), setVertexB(), vertexB(), and z_discontinuity().
|
protected |
Definition at line 505 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), invisibility(), occluded_shape(), occludee_empty(), occluders_begin(), occluders_empty(), occluders_end(), occluders_size(), setViewEdge(), viewedge(), and viewedge_nature().
| void* Freestyle::FEdge::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 523 of file Silhouette.h.
Referenced by FEdge(), FEdge(), FEdge(), and Freestyle::SShape::SShape().