Blender V5.0
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
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 461 of file Silhouette.h.

Constructor & Destructor Documentation

◆ FEdge() [1/3]

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

Member Function Documentation

◆ aFace()

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

Definition at line 686 of file Silhouette.h.

References _aFace.

Referenced by occludee().

◆ center2d()

Vec3r Freestyle::FEdge::center2d ( )
inline

◆ center3d()

Vec3r Freestyle::FEdge::center3d ( )
inline

◆ CommonVertex()

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

Definition at line 820 of file Silhouette.h.

References FEdge(), vertexA(), and vertexB().

◆ duplicate()

virtual FEdge * Freestyle::FEdge::duplicate ( )
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().

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

Referenced by Any_BPy_FEdge_from_FEdge().

◆ getId()

◆ getLength2D()

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

Returns the 2D length of the FEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 472 of file Silhouette.h.

References _VertexA, and _VertexB.

◆ getNature()

Nature::EdgeNature Freestyle::FEdge::getNature ( ) const
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().

◆ getOccludeeEmpty()

bool Freestyle::FEdge::getOccludeeEmpty ( )
inline

Definition at line 696 of file Silhouette.h.

References _occludeeEmpty.

◆ getOccludeeIntersection()

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

Definition at line 691 of file Silhouette.h.

References _occludeeIntersection.

◆ invisibility()

int Freestyle::FEdge::invisibility ( ) const

Definition at line 244 of file Silhouette.cpp.

References _ViewEdge.

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

◆ isInImage()

◆ isSmooth()

◆ isTemporary()

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

Definition at line 712 of file Silhouette.h.

References _isTemporary.

◆ max2d()

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

Definition at line 851 of file Silhouette.h.

References _VertexA, and _VertexB.

◆ min2d()

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

Definition at line 841 of file Silhouette.h.

References _VertexA, and _VertexB.

◆ nextEdge()

◆ occluded_shape()

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

Definition at line 230 of file Silhouette.cpp.

References _ViewEdge, and Freestyle::ViewShape::sshape().

◆ occludee()

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

Definition at line 878 of file Silhouette.h.

References aFace().

◆ occludee_empty()

bool Freestyle::FEdge::occludee_empty ( ) const

Definition at line 269 of file Silhouette.cpp.

References _ViewEdge.

Referenced by z_discontinuity().

◆ occluders_begin()

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

Definition at line 249 of file Silhouette.cpp.

References _ViewEdge.

◆ occluders_empty()

bool Freestyle::FEdge::occluders_empty ( ) const

Definition at line 259 of file Silhouette.cpp.

References _ViewEdge.

◆ occluders_end()

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

Definition at line 254 of file Silhouette.cpp.

References _ViewEdge.

◆ occluders_size()

int Freestyle::FEdge::occluders_size ( ) const

Definition at line 264 of file Silhouette.cpp.

References _ViewEdge.

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

References _VertexA, _VertexB, and i.

◆ orientation2d()

◆ orientation3d()

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

Definition at line 911 of file Silhouette.h.

References _VertexA, and _VertexB.

◆ 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 1109 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 1114 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 627 of file Silhouette.h.

References _PreviousEdge, and FEdge().

◆ qi()

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 802 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 719 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

Definition at line 632 of file Silhouette.h.

References _VertexA.

Referenced by Freestyle::ViewMap::CreateTVertex(), and Freestyle::ViewShape::SplitEdge().

◆ shape() [2/2]

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

Definition at line 279 of file Silhouette.cpp.

References _VertexA.

◆ shape_id()

Id Freestyle::FEdge::shape_id ( ) const

Definition at line 274 of file Silhouette.cpp.

References _VertexA.

◆ shape_importance()

float Freestyle::FEdge::shape_importance ( ) const

Definition at line 239 of file Silhouette.cpp.

References _VertexA.

◆ 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 1097 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 1103 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.

◆ z_discontinuity()

Member Data Documentation

◆ _aFace

Polygon3r Freestyle::FEdge::_aFace
protected

Definition at line 509 of file Silhouette.h.

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

◆ _Id

Id Freestyle::FEdge::_Id
protected

Definition at line 499 of file Silhouette.h.

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

◆ _isInImage

bool Freestyle::FEdge::_isInImage
protected

Definition at line 515 of file Silhouette.h.

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

◆ _isSmooth

◆ _isTemporary

bool Freestyle::FEdge::_isTemporary
protected

Definition at line 517 of file Silhouette.h.

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

◆ _Nature

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

Definition at line 500 of file Silhouette.h.

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

◆ _NextEdge

FEdge* Freestyle::FEdge::_NextEdge
protected

Definition at line 503 of file Silhouette.h.

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

◆ _occludeeEmpty

bool Freestyle::FEdge::_occludeeEmpty
protected

Definition at line 511 of file Silhouette.h.

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

◆ _occludeeIntersection

Vec3r Freestyle::FEdge::_occludeeIntersection
protected

Definition at line 510 of file Silhouette.h.

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

◆ _PreviousEdge

FEdge* Freestyle::FEdge::_PreviousEdge
protected

Definition at line 504 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 523 of file Silhouette.h.

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


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