|
Blender V4.3
|
#include <Curve.h>
Inherits Freestyle::Interface0D.
Inherited by Freestyle::StrokeVertex.
Public Types | |
| typedef SVertex | vertex_type |
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 &inter) |
| virtual Id | getId () const |
| virtual Nature::VertexNature | getNature () const |
| virtual SVertex * | castToSVertex () |
| virtual ViewVertex * | castToViewVertex () |
| virtual NonTVertex * | castToNonTVertex () |
| virtual TVertex * | castToTVertex () |
| CurvePoint () | |
| CurvePoint (SVertex *iA, SVertex *iB, float t) | |
| CurvePoint (CurvePoint *iA, CurvePoint *iB, float t) | |
| CurvePoint (const CurvePoint &iBrother) | |
| CurvePoint & | operator= (const CurvePoint &iBrother) |
| virtual | ~CurvePoint ()=default |
| bool | operator== (const CurvePoint &b) |
| SVertex * | A () |
| SVertex * | B () |
| float | t2d () const |
| void | setA (SVertex *iA) |
| void | setB (SVertex *iB) |
| void | setT2d (float t) |
| FEdge * | fedge () |
| const Vec3r & | point2d () const |
| const Vec3r & | point3d () const |
| Vec3r | normal () const |
| const SShape * | shape () 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 () |
Protected Attributes | |
| SVertex * | __A |
| SVertex * | __B |
| float | _t2d |
| Vec3r | _Point2d |
| Vec3r | _Point3d |
Class to represent a point of a curve. A CurvePoint can be any point of a 1D curve (it doesn't have to be a vertex of the curve). Any Interface1D is built upon ViewEdges, themselves built upon FEdges. Therefore, a curve is basically a polyline made of a list SVertex. Thus, a CurvePoint is built by linearly interpolating two SVertex. CurvePoint can be used as virtual points while querying 0D information along a curve at a given resolution.
| Freestyle::CurvePoint::CurvePoint | ( | ) |
Builds a CurvePoint from two SVertex and an interpolation parameter.
| iA | The first SVertex |
| iB | The second SVertex |
| t | A 2D interpolation parameter used to linearly interpolate iA and iB |
Definition at line 36 of file Curve.cpp.
References __A, __B, _Point2d, _Point3d, _t2d, Freestyle::SVertex::point2d(), and Freestyle::SVertex::point3d().
| Freestyle::CurvePoint::CurvePoint | ( | CurvePoint * | iA, |
| CurvePoint * | iB, | ||
| float | t ) |
Builds a CurvePoint from two CurvePoint and an interpolation parameter.
| iA | The first CurvePoint |
| iB | The second CurvePoint |
| t | The 2D interpolation parameter used to linearly interpolate iA and iB. |
Definition at line 55 of file Curve.cpp.
References __A, __B, _Point2d, _Point3d, _t2d, A(), B(), BLI_assert, G, G_DEBUG_FREESTYLE, getPoint2D(), Freestyle::SVertex::getPoint2D(), point2d(), Freestyle::SVertex::point2d(), Freestyle::SVertex::point3d(), printf, t2d(), Freestyle::VecMat::Vec2< T >::x(), and Freestyle::VecMat::Vec2< T >::y().
| Freestyle::CurvePoint::CurvePoint | ( | const CurvePoint & | iBrother | ) |
|
virtualdefault |
Destructor
|
inline |
Returns the first SVertex upon which the CurvePoint is built.
Definition at line 237 of file Curve.h.
References __A.
Referenced by CurvePoint(), CurvePoint_init(), getFEdge(), Freestyle::Chain::push_viewedge_front(), and StrokeVertex_init().
|
inline |
Returns the second SVertex upon which the CurvePoint is built.
Definition at line 243 of file Curve.h.
References __B.
Referenced by CurvePoint(), CurvePoint_init(), getFEdge(), and StrokeVertex_init().
|
inlinevirtual |
Cast the Interface0D in NonTVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 160 of file Curve.h.
References __A, __B, _t2d, Freestyle::Interface0D::castToNonTVertex(), and Freestyle::SVertex::castToNonTVertex().
|
inlinevirtual |
Cast the Interface0D in SVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 136 of file Curve.h.
References __A, __B, _t2d, and Freestyle::Interface0D::castToSVertex().
|
inlinevirtual |
Cast the Interface0D in TVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 172 of file Curve.h.
References __A, __B, _t2d, Freestyle::Interface0D::castToTVertex(), and Freestyle::SVertex::castToTVertex().
|
inlinevirtual |
Cast the Interface0D in ViewVertex if it can be.
Reimplemented from Freestyle::Interface0D.
Definition at line 148 of file Curve.h.
References __A, __B, _t2d, Freestyle::Interface0D::castToViewVertex(), and Freestyle::SVertex::castToViewVertex().
| FEdge * Freestyle::CurvePoint::fedge | ( | ) |
Definition at line 187 of file Curve.cpp.
References __A, Freestyle::SVertex::fedge(), getNature(), and Freestyle::Nature::T_VERTEX.
|
inlinevirtual |
Returns the string "CurvePoint".
Reimplemented from Freestyle::Interface0D.
Reimplemented in Freestyle::StrokeVertex.
|
virtual |
Returns the FEdge that lies between this Interface0D and the Interface0D given as argument.
Reimplemented from Freestyle::Interface0D.
Definition at line 195 of file Curve.cpp.
References __A, __B, _t2d, A(), B(), G, G_DEBUG_FREESTYLE, Freestyle::SVertex::getFEdge(), getPoint2D(), Freestyle::SVertex::getPoint2D(), printf, t2d(), Freestyle::VecMat::Vec2< T >::x(), Freestyle::x, Freestyle::VecMat::Vec2< T >::y(), and y.
|
inlinevirtual |
Returns the CurvePoint's Id
Reimplemented from Freestyle::Interface0D.
Definition at line 110 of file Curve.h.
References __A, __B, _t2d, and Freestyle::SVertex::getId().
Referenced by Freestyle::operator<<().
|
inlinevirtual |
Returns the CurvePoint's Nature
Reimplemented from Freestyle::Interface0D.
Definition at line 123 of file Curve.h.
References __A, __B, _t2d, Freestyle::SVertex::getNature(), and Freestyle::Nature::POINT.
Referenced by fedge().
|
inlinevirtual |
Returns the 2D point.
Reimplemented from Freestyle::Interface0D.
Definition at line 102 of file Curve.h.
References _Point2d, Freestyle::VecMat::Vec3< T >::x(), and Freestyle::VecMat::Vec3< T >::y().
Referenced by Freestyle::createStroke(), CurvePoint(), getFEdge(), and Freestyle::StrokeVertex::getPoint().
|
inlinevirtual |
Returns the 3D point.
Reimplemented from Freestyle::Interface0D.
Definition at line 78 of file Curve.h.
References _Point3d.
|
inlinevirtual |
Returns the projected 3D X coordinate of the point
Reimplemented from Freestyle::Interface0D.
Definition at line 84 of file Curve.h.
References _Point2d, and Freestyle::VecMat::Vec3< T >::x().
Referenced by Freestyle::operator<<().
|
inlinevirtual |
Returns the projected 3D Y coordinate of the point
Reimplemented from Freestyle::Interface0D.
Definition at line 90 of file Curve.h.
References _Point2d, and Freestyle::VecMat::Vec3< T >::y().
Referenced by Freestyle::operator<<().
|
inlinevirtual |
Returns the projected 3D Z coordinate of the point
Reimplemented from Freestyle::Interface0D.
Definition at line 96 of file Curve.h.
References _Point2d, and Freestyle::VecMat::Vec3< T >::z().
Referenced by Freestyle::operator<<().
|
inlinevirtual |
Returns the 3D X coordinate of the point
Reimplemented from Freestyle::Interface0D.
Definition at line 60 of file Curve.h.
References _Point3d, and Freestyle::VecMat::Vec3< T >::x().
Referenced by Freestyle::operator<<().
|
inlinevirtual |
Returns the 3D Y coordinate of the point
Reimplemented from Freestyle::Interface0D.
Definition at line 66 of file Curve.h.
References _Point3d, and Freestyle::VecMat::Vec3< T >::y().
Referenced by Freestyle::operator<<().
|
inlinevirtual |
Returns the 3D Z coordinate of the point
Reimplemented from Freestyle::Interface0D.
Definition at line 72 of file Curve.h.
References _Point3d, and Freestyle::VecMat::Vec3< T >::z().
Referenced by Freestyle::operator<<().
| Vec3r Freestyle::CurvePoint::normal | ( | ) | const |
Definition at line 283 of file Curve.cpp.
References __A, __B, _t2d, Freestyle::Exception::getException(), Freestyle::SVertex::getFEdge(), Freestyle::SilhouetteGeomEngine::ImageToWorldParameter(), and Freestyle::SVertex::normal().
| const SShape * Freestyle::CurvePoint::occluded_shape | ( | ) | const |
Definition at line 395 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::occluded_shape(), and Freestyle::SVertex::occluded_shape().
| const Polygon3r & Freestyle::CurvePoint::occludee | ( | ) | const |
Definition at line 406 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::occludee(), and Freestyle::SVertex::occludee().
| bool Freestyle::CurvePoint::occludee_empty | ( | ) | const |
Definition at line 417 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::occludee_empty(), and Freestyle::SVertex::occludee_empty().
| occluder_container::const_iterator Freestyle::CurvePoint::occluders_begin | ( | ) | const |
Definition at line 351 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::occluders_begin(), and Freestyle::SVertex::occluders_begin().
| bool Freestyle::CurvePoint::occluders_empty | ( | ) | const |
Definition at line 373 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::occluders_empty(), and Freestyle::SVertex::occluders_empty().
| occluder_container::const_iterator Freestyle::CurvePoint::occluders_end | ( | ) | const |
Definition at line 362 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::occluders_end(), and Freestyle::SVertex::occluders_end().
| int Freestyle::CurvePoint::occluders_size | ( | ) | const |
Definition at line 384 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::occluders_size(), and Freestyle::SVertex::occluders_size().
| CurvePoint & Freestyle::CurvePoint::operator= | ( | const CurvePoint & | iBrother | ) |
|
inline |
|
inline |
Definition at line 291 of file Curve.h.
References _Point2d.
Referenced by CurvePoint(), Freestyle::Curve::push_vertex_back(), and Freestyle::Curve::push_vertex_front().
|
inline |
|
inline |
Sets the first SVertex upon which to build the CurvePoint.
Definition at line 263 of file Curve.h.
References __A.
Referenced by Freestyle::Chain::push_viewedge_back().
|
inline |
Sets the second SVertex upon which to build the CurvePoint.
Definition at line 269 of file Curve.h.
References __B.
|
inline |
| const SShape * Freestyle::CurvePoint::shape | ( | ) | const |
Definition at line 322 of file Curve.cpp.
References __A, __B, and Freestyle::SVertex::shape().
|
inline |
Returns the interpolation parameter.
Definition at line 249 of file Curve.h.
References _t2d.
Referenced by CurvePoint(), and getFEdge().
| real Freestyle::CurvePoint::z_discontinuity | ( | ) | const |
Definition at line 428 of file Curve.cpp.
References __A, __B, Freestyle::SVertex::getFEdge(), Freestyle::FEdge::z_discontinuity(), and Freestyle::SVertex::z_discontinuity().
|
protected |
Definition at line 187 of file Curve.h.
Referenced by A(), castToNonTVertex(), castToSVertex(), castToTVertex(), castToViewVertex(), CurvePoint(), CurvePoint(), CurvePoint(), CurvePoint(), fedge(), getFEdge(), getId(), getNature(), normal(), occluded_shape(), occludee(), occludee_empty(), occluders_begin(), occluders_empty(), occluders_end(), occluders_size(), operator=(), Freestyle::CurveInternal::CurvePointIterator::operator==(), operator==(), setA(), shape(), and z_discontinuity().
|
protected |
Definition at line 188 of file Curve.h.
Referenced by B(), castToNonTVertex(), castToSVertex(), castToTVertex(), castToViewVertex(), CurvePoint(), CurvePoint(), CurvePoint(), CurvePoint(), getFEdge(), getId(), getNature(), normal(), occluded_shape(), occludee(), occludee_empty(), occluders_begin(), occluders_empty(), occluders_end(), occluders_size(), operator=(), Freestyle::CurveInternal::CurvePointIterator::operator==(), operator==(), setB(), shape(), and z_discontinuity().
|
protected |
Definition at line 191 of file Curve.h.
Referenced by CurvePoint(), CurvePoint(), CurvePoint(), getPoint2D(), getProjectedX(), getProjectedY(), getProjectedZ(), operator=(), Freestyle::StrokeVertex::operator[](), Freestyle::StrokeVertex::operator[](), point2d(), Freestyle::StrokeVertex::setPoint(), Freestyle::StrokeVertex::setPoint(), Freestyle::StrokeVertex::setX(), Freestyle::StrokeVertex::setY(), Freestyle::StrokeVertex::x(), and Freestyle::StrokeVertex::y().
|
protected |
Definition at line 192 of file Curve.h.
Referenced by CurvePoint(), CurvePoint(), CurvePoint(), getPoint3D(), getX(), getY(), getZ(), operator=(), and point3d().
|
protected |
Definition at line 189 of file Curve.h.
Referenced by castToNonTVertex(), castToSVertex(), castToTVertex(), castToViewVertex(), CurvePoint(), CurvePoint(), CurvePoint(), CurvePoint(), getFEdge(), getId(), getNature(), normal(), operator=(), operator==(), setT2d(), and t2d().