Blender V4.3
Freestyle::FEdge Class Reference

#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 FEdgeduplicate ()
 
SVertexvertexA ()
 
SVertexvertexB ()
 
SVertexoperator[] (const ushort &i) const
 
Nature::EdgeNature getNature () const
 
FEdgenextEdge ()
 
FEdgepreviousEdge ()
 
SShapeshape ()
 
int invisibility () const
 
ViewEdgeviewedge () const
 
Vec3r center3d ()
 
Vec3r center2d ()
 
const Polygon3raFace () const
 
const Vec3rgetOccludeeIntersection ()
 
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 SVertexmin2d () const
 
const SVertexmax2d () const
 
Id shape_id () const
 
const SShapeshape () const
 
float shape_importance () const
 
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 Polygon3roccludee () const
 
const SShapeoccluded_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 SVertexCommonVertex (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
 

Detailed Description

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 465 of file Silhouette.h.

Constructor & Destructor Documentation

◆ FEdge() [1/3]

Freestyle::FEdge::FEdge ( )
inline

◆ FEdge() [2/3]

Freestyle::FEdge::FEdge ( SVertex * vA,
SVertex * vB )
inline

◆ FEdge() [3/3]

Freestyle::FEdge::FEdge ( FEdge & iBrother)
inline

◆ ~FEdge()

virtual Freestyle::FEdge::~FEdge ( )
inlinevirtual

Destructor

Definition at line 586 of file Silhouette.h.

Member Function Documentation

◆ aFace()

const Polygon3r & Freestyle::FEdge::aFace ( ) const
inline

Definition at line 690 of file Silhouette.h.

References _aFace.

Referenced by occludee(), and Freestyle::ViewEdge::occludee().

◆ center2d()

Vec3r Freestyle::FEdge::center2d ( )
inline

◆ center3d()

Vec3r Freestyle::FEdge::center3d ( )
inline

◆ CommonVertex()

static SVertex * Freestyle::FEdge::CommonVertex ( FEdge * iEdge1,
FEdge * iEdge2 )
inlinestatic

Definition at line 824 of file Silhouette.h.

References vertexA(), and vertexB().

◆ duplicate()

virtual FEdge * Freestyle::FEdge::duplicate ( )
inlinevirtual

◆ getExactTypeName()

virtual string Freestyle::FEdge::getExactTypeName ( ) const
inlinevirtual

Returns the string "FEdge".

Reimplemented from Freestyle::Interface1D.

Reimplemented in Freestyle::FEdgeSharp, and Freestyle::FEdgeSmooth.

Definition at line 468 of file Silhouette.h.

Referenced by Any_BPy_FEdge_from_FEdge().

◆ getId()

◆ getLength2D()

virtual real Freestyle::FEdge::getLength2D ( ) const
inlinevirtual

◆ getNature()

Nature::EdgeNature Freestyle::FEdge::getNature ( ) const
inlinevirtual

Returns the nature of the FEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 615 of file Silhouette.h.

References _Nature.

Referenced by FEdge(), Freestyle::SShape::SplitEdgeIn2(), and z_discontinuity().

◆ getOccludeeEmpty()

bool Freestyle::FEdge::getOccludeeEmpty ( )
inline

Definition at line 700 of file Silhouette.h.

References _occludeeEmpty.

◆ getOccludeeIntersection()

const Vec3r & Freestyle::FEdge::getOccludeeIntersection ( )
inline

Definition at line 695 of file Silhouette.h.

References _occludeeIntersection.

◆ invisibility()

int Freestyle::FEdge::invisibility ( ) const

Definition at line 244 of file Silhouette.cpp.

References _ViewEdge, and Freestyle::ViewEdge::qi().

Referenced by qi(), and Freestyle::ViewMapTesselator::Tesselate().

◆ isInImage()

◆ isSmooth()

◆ isTemporary()

bool Freestyle::FEdge::isTemporary ( ) const
inline

Definition at line 716 of file Silhouette.h.

References _isTemporary.

◆ max2d()

const SVertex * Freestyle::FEdge::max2d ( ) const
inline

Definition at line 855 of file Silhouette.h.

References _VertexA, _VertexB, and Freestyle::SVertex::point2D().

◆ min2d()

const SVertex * Freestyle::FEdge::min2d ( ) const
inline

Definition at line 845 of file Silhouette.h.

References _VertexA, _VertexB, and Freestyle::SVertex::point2D().

◆ nextEdge()

◆ occluded_shape()

const SShape * Freestyle::FEdge::occluded_shape ( ) const

◆ occludee()

const Polygon3r & Freestyle::FEdge::occludee ( ) const
inline

Definition at line 882 of file Silhouette.h.

References aFace().

Referenced by Freestyle::CurvePoint::occludee().

◆ occludee_empty()

bool Freestyle::FEdge::occludee_empty ( ) const

◆ occluders_begin()

occluder_container::const_iterator Freestyle::FEdge::occluders_begin ( ) const

◆ occluders_empty()

bool Freestyle::FEdge::occluders_empty ( ) const

◆ occluders_end()

occluder_container::const_iterator Freestyle::FEdge::occluders_end ( ) const

◆ occluders_size()

◆ operator[]()

SVertex * Freestyle::FEdge::operator[] ( const ushort & i) const
inline

Returns the first SVertex if i=0, the second SVertex if i=1.

Definition at line 609 of file Silhouette.h.

References _VertexA, and _VertexB.

◆ orientation2d()

◆ orientation3d()

Vec3r Freestyle::FEdge::orientation3d ( ) const
inline

Definition at line 915 of file Silhouette.h.

References _VertexA, _VertexB, and Freestyle::SVertex::point3d().

◆ pointsBegin()

Interface0DIterator Freestyle::FEdge::pointsBegin ( float t = 0.0f)
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.

Parameters
tThe sampling with which we want to iterate over points of this FEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 1115 of file Silhouette.h.

References verticesBegin().

◆ pointsEnd()

Interface0DIterator Freestyle::FEdge::pointsEnd ( float t = 0.0f)
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.

Parameters
tThe sampling with which we want to iterate over points of this FEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 1120 of file Silhouette.h.

References verticesEnd().

◆ previousEdge()

FEdge * Freestyle::FEdge::previousEdge ( )
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 631 of file Silhouette.h.

References _PreviousEdge.

Referenced by Freestyle::ViewEdgeInternal::SVertexIterator::decrement(), Freestyle::ViewEdgeInternal::vertex_iterator_base< Traits >::decrement(), and FEdge_previous_fedge_get().

◆ qi()

const int Freestyle::FEdge::qi ( ) const
inline

◆ setaFace()

◆ setId()

void Freestyle::FEdge::setId ( const Id & id)
inline

◆ setIsInImage()

void Freestyle::FEdge::setIsInImage ( bool iFlag)
inline

◆ setNature()

void Freestyle::FEdge::setNature ( Nature::EdgeNature iNature)
inline

◆ setNextEdge()

◆ setOccludeeEmpty()

void Freestyle::FEdge::setOccludeeEmpty ( bool iempty)
inline

◆ setOccludeeIntersection()

void Freestyle::FEdge::setOccludeeIntersection ( const Vec3r & iPoint)
inline

◆ setPreviousEdge()

◆ setSmooth()

void Freestyle::FEdge::setSmooth ( bool iFlag)
inline

Sets the flag telling whether this FEdge is smooth or sharp. true for Smooth, false for Sharp.

Definition at line 806 of file Silhouette.h.

References _isSmooth.

◆ setTemporary()

void Freestyle::FEdge::setTemporary ( bool iFlag)
inline

◆ setVertexA()

void Freestyle::FEdge::setVertexA ( SVertex * vA)
inline

Sets the first SVertex.

Definition at line 723 of file Silhouette.h.

References _VertexA.

Referenced by Freestyle::Chain::push_viewedge_front().

◆ setVertexB()

void Freestyle::FEdge::setVertexB ( SVertex * vB)
inline

◆ setViewEdge()

void Freestyle::FEdge::setViewEdge ( ViewEdge * iViewEdge)
inline

◆ shape() [1/2]

SShape * Freestyle::FEdge::shape ( )
inline

◆ shape() [2/2]

const SShape * Freestyle::FEdge::shape ( ) const

Definition at line 279 of file Silhouette.cpp.

References _VertexA, and Freestyle::SVertex::shape().

◆ shape_id()

Id Freestyle::FEdge::shape_id ( ) const

Definition at line 274 of file Silhouette.cpp.

References _VertexA, Freestyle::SShape::getId(), and Freestyle::SVertex::shape().

◆ shape_importance()

float Freestyle::FEdge::shape_importance ( ) const

◆ vertexA()

◆ vertexB()

◆ verticesBegin()

Interface0DIterator Freestyle::FEdge::verticesBegin ( )
inlinevirtual

Returns an iterator over the 2 (!) SVertex pointing to the first SVertex.

Reimplemented from Freestyle::Interface1D.

Definition at line 1103 of file Silhouette.h.

References _VertexA, and ret.

Referenced by pointsBegin().

◆ verticesEnd()

Interface0DIterator Freestyle::FEdge::verticesEnd ( )
inlinevirtual

Returns an iterator over the 2 (!) SVertex pointing after the last SVertex.

Reimplemented from Freestyle::Interface1D.

Definition at line 1109 of file Silhouette.h.

References ret.

Referenced by pointsEnd().

◆ viewedge()

◆ viewedge_nature()

int Freestyle::FEdge::viewedge_nature ( ) const

Definition at line 218 of file Silhouette.cpp.

References _ViewEdge, and Freestyle::ViewEdge::getNature().

◆ z_discontinuity()

Member Data Documentation

◆ _aFace

Polygon3r Freestyle::FEdge::_aFace
protected

Definition at line 513 of file Silhouette.h.

Referenced by aFace(), FEdge(), and setaFace().

◆ _Id

Id Freestyle::FEdge::_Id
protected

Definition at line 503 of file Silhouette.h.

Referenced by FEdge(), getId(), and setId().

◆ _isInImage

bool Freestyle::FEdge::_isInImage
protected

Definition at line 519 of file Silhouette.h.

Referenced by FEdge(), FEdge(), FEdge(), isInImage(), and setIsInImage().

◆ _isSmooth

◆ _isTemporary

bool Freestyle::FEdge::_isTemporary
protected

Definition at line 521 of file Silhouette.h.

Referenced by FEdge(), FEdge(), FEdge(), isTemporary(), and setTemporary().

◆ _Nature

Nature::EdgeNature Freestyle::FEdge::_Nature
protected

Definition at line 504 of file Silhouette.h.

Referenced by FEdge(), FEdge(), FEdge(), getNature(), and setNature().

◆ _NextEdge

FEdge* Freestyle::FEdge::_NextEdge
protected

Definition at line 507 of file Silhouette.h.

Referenced by FEdge(), FEdge(), FEdge(), nextEdge(), and setNextEdge().

◆ _occludeeEmpty

bool Freestyle::FEdge::_occludeeEmpty
protected

Definition at line 515 of file Silhouette.h.

Referenced by FEdge(), FEdge(), FEdge(), getOccludeeEmpty(), and setOccludeeEmpty().

◆ _occludeeIntersection

Vec3r Freestyle::FEdge::_occludeeIntersection
protected

Definition at line 514 of file Silhouette.h.

Referenced by getOccludeeIntersection(), setOccludeeIntersection(), and z_discontinuity().

◆ _PreviousEdge

FEdge* Freestyle::FEdge::_PreviousEdge
protected

Definition at line 508 of file Silhouette.h.

Referenced by FEdge(), FEdge(), FEdge(), previousEdge(), and setPreviousEdge().

◆ _VertexA

◆ _VertexB

SVertex* Freestyle::FEdge::_VertexB
protected

◆ _ViewEdge

◆ userdata

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 527 of file Silhouette.h.

Referenced by FEdge(), FEdge(), and FEdge().


The documentation for this class was generated from the following files: