Blender V4.5
Freestyle::ViewEdge Class Reference

#include <ViewMap.h>

Inherits Freestyle::Interface1D.

Public Types

typedef SVertex vertex_type
 
typedef ViewEdgeInternal::edge_iterator_base< Nonconst_traits< ViewEdge * > > edge_iterator
 
typedef ViewEdgeInternal::edge_iterator_base< Const_traits< ViewEdge * > > const_edge_iterator
 
typedef ViewEdgeInternal::fedge_iterator_base< Nonconst_traits< FEdge * > > fedge_iterator
 
typedef ViewEdgeInternal::fedge_iterator_base< Const_traits< FEdge * > > const_fedge_iterator
 
typedef ViewEdgeInternal::vertex_iterator_base< Nonconst_traits< SVertex * > > vertex_iterator
 
typedef ViewEdgeInternal::vertex_iterator_base< Const_traits< SVertex * > > const_vertex_iterator
 

Public Member Functions

virtual string getExactTypeName () const
 
virtual Id getId () const
 
virtual Nature::EdgeNature getNature () const
 
 ViewEdge ()
 
 ViewEdge (ViewVertex *iA, ViewVertex *iB)
 
 ViewEdge (ViewVertex *iA, ViewVertex *iB, FEdge *iFEdgeA)
 
 ViewEdge (ViewVertex *iA, ViewVertex *iB, FEdge *iFEdgeA, FEdge *iFEdgeB, ViewShape *iShape)
 
 ViewEdge (ViewEdge &iBrother)
 
virtual ViewEdgeduplicate ()
 
virtual ~ViewEdge ()
 
ViewVertexA ()
 
ViewVertexB ()
 
FEdgefedgeA ()
 
FEdgefedgeB ()
 
ViewShapeviewShape ()
 
ViewShapeaShape ()
 
bool isClosed ()
 
uint getChainingTimeStamp ()
 
const ViewShapeaShape () const
 
const ViewShapebShape () const
 
vector< ViewShape * > & occluders ()
 
IdsplittingId ()
 
bool isInImage () const
 
void setA (ViewVertex *iA)
 
void setB (ViewVertex *iB)
 
void setNature (Nature::EdgeNature iNature)
 
void setFEdgeA (FEdge *iFEdge)
 
void setFEdgeB (FEdge *iFEdge)
 
void setShape (ViewShape *iVShape)
 
void setId (const Id &id)
 
void UpdateFEdges ()
 
void setaShape (ViewShape *iShape)
 
void setQI (int qi)
 
void setChainingTimeStamp (uint ts)
 
void AddOccluder (ViewShape *iShape)
 
void setSplittingId (Id *id)
 
void setIsInImage (bool iFlag)
 
bool intersect_2d_area (const Vec2r &iMin, const Vec2r &iMax) const
 
bool include_in_2d_area (const Vec2r &iMin, const Vec2r &iMax) const
 
real getLength2D () const
 
int qi () const
 
occluder_container::const_iterator occluders_begin () const
 
occluder_container::const_iterator occluders_end () const
 
int occluders_size () const
 
bool occluders_empty () const
 
const Polygon3roccludee () const
 
const SShapeoccluded_shape () const
 
const bool occludee_empty () const
 
Id shape_id () const
 
const SShapeshape () const
 
float shape_importance () const
 
edge_iterator ViewEdge_iterator ()
 view edge iterator
 
const_edge_iterator ViewEdge_iterator () const
 
fedge_iterator fedge_iterator_begin ()
 feature edge iterator
 
const_fedge_iterator fedge_iterator_begin () const
 
fedge_iterator fedge_iterator_last ()
 
const_fedge_iterator fedge_iterator_last () const
 
fedge_iterator fedge_iterator_end ()
 
const_fedge_iterator fedge_iterator_end () const
 
const_vertex_iterator vertices_begin () const
 embedding vertex iterator
 
vertex_iterator vertices_begin ()
 
const_vertex_iterator vertices_last () const
 
vertex_iterator vertices_last ()
 
const_vertex_iterator vertices_end () const
 
vertex_iterator vertices_end ()
 
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)
 

Public Attributes

void * userdata
 

Friends

class ViewShape
 

Additional Inherited Members

- Protected Attributes inherited from Freestyle::Interface1D
uint _timeStamp
 

Detailed Description

Class defining a ViewEdge. A ViewEdge in an edge of the image graph. it connects two ViewVertex. It is made by connecting a set of FEdges.

Definition at line 886 of file ViewMap.h.

Member Typedef Documentation

◆ const_edge_iterator

◆ const_fedge_iterator

◆ const_vertex_iterator

◆ edge_iterator

◆ fedge_iterator

◆ vertex_iterator

◆ vertex_type

Constructor & Destructor Documentation

◆ ViewEdge() [1/5]

Freestyle::ViewEdge::ViewEdge ( )
inline

Default constructor.

Definition at line 947 of file ViewMap.h.

References userdata.

Referenced by duplicate().

◆ ViewEdge() [2/5]

Freestyle::ViewEdge::ViewEdge ( ViewVertex * iA,
ViewVertex * iB )
inline

Definition at line 961 of file ViewMap.h.

References userdata.

◆ ViewEdge() [3/5]

Freestyle::ViewEdge::ViewEdge ( ViewVertex * iA,
ViewVertex * iB,
FEdge * iFEdgeA )
inline

Definition at line 976 of file ViewMap.h.

References userdata.

◆ ViewEdge() [4/5]

Freestyle::ViewEdge::ViewEdge ( ViewVertex * iA,
ViewVertex * iB,
FEdge * iFEdgeA,
FEdge * iFEdgeB,
ViewShape * iShape )
inline

Definition at line 991 of file ViewMap.h.

References UpdateFEdges(), and userdata.

◆ ViewEdge() [5/5]

Freestyle::ViewEdge::ViewEdge ( ViewEdge & iBrother)
inline

Copy constructor.

Definition at line 1010 of file ViewMap.h.

References userdata.

◆ ~ViewEdge()

virtual Freestyle::ViewEdge::~ViewEdge ( )
inlinevirtual

Destructor.

Definition at line 1037 of file ViewMap.h.

Member Function Documentation

◆ A()

◆ AddOccluder()

void Freestyle::ViewEdge::AddOccluder ( ViewShape * iShape)
inline

Definition at line 1196 of file ViewMap.h.

◆ aShape() [1/2]

ViewShape * Freestyle::ViewEdge::aShape ( )
inline

Returns the shape that is occluded by the ViewShape to which this ViewEdge belongs to. If no object is occluded, nullptr is returned.

Returns
The occluded ViewShape.

Definition at line 1087 of file ViewMap.h.

Referenced by Freestyle::Functions0D::getOccludeeF0D(), Freestyle::Functions1D::getOccludeeF1D(), Freestyle::FEdge::occluded_shape(), and Freestyle::Functions1D::GetOccludeeF1D::operator()().

◆ aShape() [2/2]

const ViewShape * Freestyle::ViewEdge::aShape ( ) const
inline

Definition at line 1107 of file ViewMap.h.

◆ B()

◆ bShape()

const ViewShape * Freestyle::ViewEdge::bShape ( ) const
inline

Definition at line 1112 of file ViewMap.h.

◆ duplicate()

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

Cloning method.

Definition at line 1029 of file ViewMap.h.

References ViewEdge().

Referenced by Freestyle::ViewShape::ViewShape().

◆ fedge_iterator_begin() [1/2]

ViewEdge::fedge_iterator Freestyle::ViewEdge::fedge_iterator_begin ( )

feature edge iterator

Definition at line 695 of file ViewMap.cpp.

Referenced by getLength2D().

◆ fedge_iterator_begin() [2/2]

ViewEdge::const_fedge_iterator Freestyle::ViewEdge::fedge_iterator_begin ( ) const

Definition at line 700 of file ViewMap.cpp.

◆ fedge_iterator_end() [1/2]

ViewEdge::fedge_iterator Freestyle::ViewEdge::fedge_iterator_end ( )

Definition at line 715 of file ViewMap.cpp.

Referenced by getLength2D().

◆ fedge_iterator_end() [2/2]

ViewEdge::const_fedge_iterator Freestyle::ViewEdge::fedge_iterator_end ( ) const

Definition at line 720 of file ViewMap.cpp.

◆ fedge_iterator_last() [1/2]

ViewEdge::fedge_iterator Freestyle::ViewEdge::fedge_iterator_last ( )

Definition at line 705 of file ViewMap.cpp.

Referenced by getLength2D().

◆ fedge_iterator_last() [2/2]

ViewEdge::const_fedge_iterator Freestyle::ViewEdge::fedge_iterator_last ( ) const

Definition at line 710 of file ViewMap.cpp.

◆ fedgeA()

FEdge * Freestyle::ViewEdge::fedgeA ( )
inline

◆ fedgeB()

FEdge * Freestyle::ViewEdge::fedgeB ( )
inline

◆ getChainingTimeStamp()

uint Freestyle::ViewEdge::getChainingTimeStamp ( )
inline

◆ getExactTypeName()

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

Returns the string "ViewEdge".

Reimplemented from Freestyle::Interface1D.

Definition at line 889 of file ViewMap.h.

◆ getId()

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

Returns the Id of the vertex.

Reimplemented from Freestyle::Interface1D.

Definition at line 896 of file ViewMap.h.

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

◆ getLength2D()

real Freestyle::ViewEdge::getLength2D ( ) const
virtual

Returns the 2D length of the Viewedge.

Reimplemented from Freestyle::Interface1D.

Definition at line 669 of file ViewMap.cpp.

References fedge_iterator_begin(), fedge_iterator_end(), fedge_iterator_last(), length(), and Freestyle::VecMat::Vec< T, N >::norm().

Referenced by Freestyle::ViewEdgeInternal::SVertexIterator::u(), and verticesEnd().

◆ getNature()

◆ include_in_2d_area()

bool Freestyle::ViewEdge::include_in_2d_area ( const Vec2r & iMin,
const Vec2r & iMax ) const
inline

◆ intersect_2d_area()

bool Freestyle::ViewEdge::intersect_2d_area ( const Vec2r & iMin,
const Vec2r & iMax ) const
inline

◆ isClosed()

bool Freestyle::ViewEdge::isClosed ( )
inline

Tells whether this ViewEdge forms a closed loop or not.

Definition at line 1093 of file ViewMap.h.

◆ isInImage()

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

Definition at line 1127 of file ViewMap.h.

◆ occluded_shape()

const SShape * Freestyle::ViewEdge::occluded_shape ( ) const
inline

Definition at line 1789 of file ViewMap.h.

References Freestyle::ViewShape::sshape().

◆ occludee()

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

Definition at line 1297 of file ViewMap.h.

References Freestyle::FEdge::aFace().

◆ occludee_empty()

const bool Freestyle::ViewEdge::occludee_empty ( ) const
inline

Definition at line 1304 of file ViewMap.h.

Referenced by Freestyle::FEdge::occludee_empty().

◆ occluders()

vector< ViewShape * > & Freestyle::ViewEdge::occluders ( )
inline

◆ occluders_begin()

occluder_container::const_iterator Freestyle::ViewEdge::occluders_begin ( ) const
inline

◆ occluders_empty()

bool Freestyle::ViewEdge::occluders_empty ( ) const
inline

Definition at line 1292 of file ViewMap.h.

Referenced by Freestyle::FEdge::occluders_empty().

◆ occluders_end()

occluder_container::const_iterator Freestyle::ViewEdge::occluders_end ( ) const
inline

◆ occluders_size()

int Freestyle::ViewEdge::occluders_size ( ) const
inline

Definition at line 1287 of file ViewMap.h.

Referenced by Freestyle::FEdge::occluders_size().

◆ pointsBegin()

Interface0DIterator Freestyle::ViewEdge::pointsBegin ( float t = 0.0f)
virtual

Returns an Interface0DIterator to iterate over the points of this ViewEdge at a given resolution. The returned Interface0DIterator points on the first Point of the ViewEdge.

Parameters
tthe sampling value.

Reimplemented from Freestyle::Interface1D.

Definition at line 770 of file ViewMap.cpp.

References verticesBegin().

◆ pointsEnd()

Interface0DIterator Freestyle::ViewEdge::pointsEnd ( float t = 0.0f)
virtual

Returns an Interface0DIterator to iterate over the points of this ViewEdge at a given resolution. The returned Interface0DIterator points after the last Point of the ViewEdge.

Parameters
tthe sampling value.

Reimplemented from Freestyle::Interface1D.

Definition at line 775 of file ViewMap.cpp.

References verticesEnd().

◆ qi()

◆ setA()

◆ setaShape()

void Freestyle::ViewEdge::setaShape ( ViewShape * iShape)
inline

Sets the occluded ViewShape

Definition at line 1179 of file ViewMap.h.

◆ setB()

◆ setChainingTimeStamp()

void Freestyle::ViewEdge::setChainingTimeStamp ( uint ts)
inline

◆ setFEdgeA()

void Freestyle::ViewEdge::setFEdgeA ( FEdge * iFEdge)
inline

◆ setFEdgeB()

void Freestyle::ViewEdge::setFEdgeB ( FEdge * iFEdge)
inline

◆ setId()

◆ setIsInImage()

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

Definition at line 1206 of file ViewMap.h.

◆ setNature()

◆ setQI()

void Freestyle::ViewEdge::setQI ( int qi)
inline

Sets the quantitative invisibility value.

Definition at line 1185 of file ViewMap.h.

References qi().

◆ setShape()

void Freestyle::ViewEdge::setShape ( ViewShape * iVShape)
inline

Sets the ViewShape to which this ViewEdge belongs to.

Definition at line 1164 of file ViewMap.h.

Referenced by Freestyle::ViewShape::AddEdge().

◆ setSplittingId()

void Freestyle::ViewEdge::setSplittingId ( Id * id)
inline

Definition at line 1201 of file ViewMap.h.

Referenced by Freestyle::ViewShape::SplitEdge().

◆ shape()

const SShape * Freestyle::ViewEdge::shape ( ) const
inline

Definition at line 1319 of file ViewMap.h.

References Freestyle::SVertex::shape(), and Freestyle::FEdge::vertexA().

◆ shape_id()

Id Freestyle::ViewEdge::shape_id ( ) const
inline

◆ shape_importance()

float Freestyle::ViewEdge::shape_importance ( ) const
inline

Definition at line 1324 of file ViewMap.h.

References Freestyle::FEdge::shape_importance().

◆ splittingId()

Id * Freestyle::ViewEdge::splittingId ( )
inline

Definition at line 1122 of file ViewMap.h.

Referenced by Freestyle::ViewShape::SplitEdge().

◆ UpdateFEdges()

void Freestyle::ViewEdge::UpdateFEdges ( )

Sets Viewedge to this for all embedded fedges

Definition at line 837 of file ViewMap.cpp.

References ELEM, Freestyle::FEdge::nextEdge(), and Freestyle::FEdge::setViewEdge().

Referenced by Freestyle::ViewShape::SplitEdge(), and ViewEdge().

◆ vertices_begin() [1/2]

ViewEdge::vertex_iterator Freestyle::ViewEdge::vertices_begin ( )

Definition at line 731 of file ViewMap.cpp.

References Freestyle::FEdge::vertexA().

◆ vertices_begin() [2/2]

ViewEdge::const_vertex_iterator Freestyle::ViewEdge::vertices_begin ( ) const

embedding vertex iterator

Definition at line 726 of file ViewMap.cpp.

References Freestyle::FEdge::vertexA().

Referenced by Freestyle::Chain::push_viewedge_back(), and Freestyle::Chain::push_viewedge_front().

◆ vertices_end() [1/2]

ViewEdge::vertex_iterator Freestyle::ViewEdge::vertices_end ( )

Definition at line 751 of file ViewMap.cpp.

◆ vertices_end() [2/2]

ViewEdge::const_vertex_iterator Freestyle::ViewEdge::vertices_end ( ) const

◆ vertices_last() [1/2]

ViewEdge::vertex_iterator Freestyle::ViewEdge::vertices_last ( )

Definition at line 741 of file ViewMap.cpp.

References Freestyle::FEdge::vertexB().

◆ vertices_last() [2/2]

ViewEdge::const_vertex_iterator Freestyle::ViewEdge::vertices_last ( ) const

◆ verticesBegin()

Interface0DIterator Freestyle::ViewEdge::verticesBegin ( )
virtual

Returns an Interface0DIterator to iterate over the SVertex constituting the embedding of this ViewEdge. The returned Interface0DIterator points to the first SVertex of the ViewEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 756 of file ViewMap.cpp.

References ret, this, and Freestyle::FEdge::vertexA().

Referenced by pointsBegin().

◆ verticesEnd()

Interface0DIterator Freestyle::ViewEdge::verticesEnd ( )
virtual

Returns an Interface0DIterator to iterate over the SVertex constituting the embedding of this ViewEdge. The returned Interface0DIterator points after the last SVertex of the ViewEdge.

Reimplemented from Freestyle::Interface1D.

Definition at line 763 of file ViewMap.cpp.

References getLength2D(), ret, and Freestyle::FEdge::vertexA().

Referenced by pointsEnd().

◆ ViewEdge_iterator() [1/2]

ViewEdge::edge_iterator Freestyle::ViewEdge::ViewEdge_iterator ( )

view edge iterator

Definition at line 684 of file ViewMap.cpp.

◆ ViewEdge_iterator() [2/2]

ViewEdge::const_edge_iterator Freestyle::ViewEdge::ViewEdge_iterator ( ) const

Definition at line 689 of file ViewMap.cpp.

◆ viewShape()

Friends And Related Symbol Documentation

◆ ViewShape

friend class ViewShape
friend

Definition at line 909 of file ViewMap.h.

Member Data Documentation

◆ userdata

void* Freestyle::ViewEdge::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 944 of file ViewMap.h.

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


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