Blender  V2.93
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
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 unsigned short int &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 unsigned getTimeStamp () const
 
void setTimeStamp (unsigned 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
unsigned _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 477 of file Silhouette.h.

Constructor & Destructor Documentation

◆ FEdge() [1/3]

Freestyle::FEdge::FEdge ( )
inline

Default constructor

Definition at line 542 of file Silhouette.h.

References Freestyle::Nature::NO_FEATURE, and NULL.

◆ FEdge() [2/3]

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

Builds an FEdge going from vA to vB.

Definition at line 559 of file Silhouette.h.

References Freestyle::Nature::NO_FEATURE, and NULL.

◆ FEdge() [3/3]

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

◆ ~FEdge()

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

Destructor

Definition at line 598 of file Silhouette.h.

Member Function Documentation

◆ aFace()

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

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

References NULL, 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::FEdgeSmooth, and Freestyle::FEdgeSharp.

Definition at line 480 of file Silhouette.h.

Referenced by Any_BPy_FEdge_from_FEdge().

◆ getId()

virtual Id Freestyle::FEdge::getId ( ) const
inlinevirtual

◆ getLength2D()

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

Returns the 2D length of the FEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 488 of file Silhouette.h.

Referenced by Freestyle::ViewEdgeInternal::SVertexIterator::decrement(), and Freestyle::ViewEdgeInternal::SVertexIterator::increment().

◆ getNature()

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

Returns the nature of the FEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 629 of file Silhouette.h.

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

◆ getOccludeeEmpty()

bool Freestyle::FEdge::getOccludeeEmpty ( )
inline

Definition at line 714 of file Silhouette.h.

Referenced by Freestyle::ViewMapIO::Internal::save().

◆ getOccludeeIntersection()

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

Definition at line 709 of file Silhouette.h.

Referenced by Freestyle::ViewMapIO::Internal::save().

◆ invisibility()

int Freestyle::FEdge::invisibility ( ) const

Definition at line 253 of file Silhouette.cpp.

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

Referenced by Freestyle::ViewMapTesselator::Tesselate().

◆ isInImage()

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

◆ isSmooth()

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

◆ isTemporary()

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

Definition at line 730 of file Silhouette.h.

◆ max2d()

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

Definition at line 869 of file Silhouette.h.

References Freestyle::SVertex::point2D().

◆ min2d()

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

Definition at line 859 of file Silhouette.h.

References Freestyle::SVertex::point2D().

◆ nextEdge()

FEdge* Freestyle::FEdge::nextEdge ( )
inline

◆ occluded_shape()

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

◆ occludee()

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

Definition at line 896 of file Silhouette.h.

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()

int Freestyle::FEdge::occluders_size ( ) const

◆ operator[]()

SVertex* Freestyle::FEdge::operator[] ( const unsigned short int &  i) const
inline

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

Definition at line 623 of file Silhouette.h.

◆ orientation2d()

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

◆ orientation3d()

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

Definition at line 931 of file Silhouette.h.

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

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

◆ previousEdge()

FEdge* Freestyle::FEdge::previousEdge ( )
inline

◆ qi()

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

◆ setaFace()

void Freestyle::FEdge::setaFace ( Polygon3r iFace)
inline

◆ 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()

void Freestyle::FEdge::setNextEdge ( FEdge iEdge)
inline

◆ setOccludeeEmpty()

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

◆ setOccludeeIntersection()

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

◆ setPreviousEdge()

void Freestyle::FEdge::setPreviousEdge ( FEdge iEdge)
inline

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

◆ setTemporary()

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

◆ setVertexA()

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

◆ 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 288 of file Silhouette.cpp.

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

◆ shape_id()

Id Freestyle::FEdge::shape_id ( ) const

Definition at line 283 of file Silhouette.cpp.

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

◆ shape_importance()

float Freestyle::FEdge::shape_importance ( ) const

◆ vertexA()

SVertex* Freestyle::FEdge::vertexA ( )
inline

◆ vertexB()

SVertex* Freestyle::FEdge::vertexB ( )
inline

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

References ret.

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

References ret.

◆ viewedge()

ViewEdge* Freestyle::FEdge::viewedge ( ) const
inline

◆ viewedge_nature()

int Freestyle::FEdge::viewedge_nature ( ) const

Definition at line 227 of file Silhouette.cpp.

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

◆ z_discontinuity()

real Freestyle::FEdge::z_discontinuity ( ) const

Member Data Documentation

◆ _aFace

Polygon3r Freestyle::FEdge::_aFace
protected

Definition at line 525 of file Silhouette.h.

Referenced by FEdge().

◆ _Id

Id Freestyle::FEdge::_Id
protected

Definition at line 515 of file Silhouette.h.

Referenced by FEdge().

◆ _isInImage

bool Freestyle::FEdge::_isInImage
protected

Definition at line 531 of file Silhouette.h.

Referenced by FEdge().

◆ _isSmooth

bool Freestyle::FEdge::_isSmooth
protected

Definition at line 529 of file Silhouette.h.

Referenced by FEdge().

◆ _isTemporary

bool Freestyle::FEdge::_isTemporary
protected

Definition at line 533 of file Silhouette.h.

Referenced by FEdge().

◆ _Nature

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

Definition at line 516 of file Silhouette.h.

◆ _NextEdge

FEdge* Freestyle::FEdge::_NextEdge
protected

Definition at line 519 of file Silhouette.h.

◆ _occludeeEmpty

bool Freestyle::FEdge::_occludeeEmpty
protected

Definition at line 527 of file Silhouette.h.

Referenced by FEdge().

◆ _occludeeIntersection

Vec3r Freestyle::FEdge::_occludeeIntersection
protected

Definition at line 526 of file Silhouette.h.

Referenced by z_discontinuity().

◆ _PreviousEdge

FEdge* Freestyle::FEdge::_PreviousEdge
protected

Definition at line 520 of file Silhouette.h.

Referenced by FEdge().

◆ _VertexA

SVertex* Freestyle::FEdge::_VertexA
protected

◆ _VertexB

SVertex* Freestyle::FEdge::_VertexB
protected

Definition at line 514 of file Silhouette.h.

Referenced by z_discontinuity().

◆ _ViewEdge

ViewEdge* Freestyle::FEdge::_ViewEdge
protected

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

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


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