Blender V4.3
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 894 of file ViewMap.h.

Member Typedef Documentation

◆ const_edge_iterator

◆ const_fedge_iterator

◆ const_vertex_iterator

◆ edge_iterator

◆ fedge_iterator

◆ vertex_iterator

◆ vertex_type

Definition at line 916 of file ViewMap.h.

Constructor & Destructor Documentation

◆ ViewEdge() [1/5]

Freestyle::ViewEdge::ViewEdge ( )
inline

Default constructor.

Definition at line 955 of file ViewMap.h.

References userdata.

Referenced by duplicate().

◆ ViewEdge() [2/5]

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

Definition at line 969 of file ViewMap.h.

References userdata.

◆ ViewEdge() [3/5]

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

Definition at line 984 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 999 of file ViewMap.h.

References UpdateFEdges(), and userdata.

◆ ViewEdge() [5/5]

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

Copy constructor.

Definition at line 1018 of file ViewMap.h.

References userdata.

◆ ~ViewEdge()

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

Destructor.

Definition at line 1045 of file ViewMap.h.

Member Function Documentation

◆ A()

◆ AddOccluder()

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

Definition at line 1204 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 1095 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 1115 of file ViewMap.h.

◆ B()

◆ bShape()

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

Definition at line 1120 of file ViewMap.h.

◆ duplicate()

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

Cloning method.

Definition at line 1037 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 693 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 698 of file ViewMap.cpp.

◆ fedge_iterator_end() [1/2]

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

Definition at line 713 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 718 of file ViewMap.cpp.

◆ fedge_iterator_last() [1/2]

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

Definition at line 703 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 708 of file ViewMap.cpp.

◆ fedgeA()

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

◆ fedgeB()

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

◆ getChainingTimeStamp()

uint Freestyle::ViewEdge::getChainingTimeStamp ( )
inline

Returns the time stamp of this ViewEdge.

Definition at line 1110 of file ViewMap.h.

Referenced by Freestyle::Functions1D::IncrementChainingTimeStampF1D::operator()().

◆ getExactTypeName()

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

Returns the string "ViewEdge".

Reimplemented from Freestyle::Interface1D.

Definition at line 897 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 904 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 667 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 1101 of file ViewMap.h.

◆ isInImage()

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

Definition at line 1135 of file ViewMap.h.

◆ occluded_shape()

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

Definition at line 1801 of file ViewMap.h.

References Freestyle::ViewShape::sshape().

◆ occludee()

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

Definition at line 1305 of file ViewMap.h.

References Freestyle::FEdge::aFace().

◆ occludee_empty()

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

Definition at line 1312 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 1300 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 1295 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 768 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 773 of file ViewMap.cpp.

References verticesEnd().

◆ qi()

◆ setA()

◆ setaShape()

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

Sets the occluded ViewShape

Definition at line 1187 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 1214 of file ViewMap.h.

◆ setNature()

◆ setQI()

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

Sets the quantitative invisibility value.

Definition at line 1193 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 1172 of file ViewMap.h.

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

◆ setSplittingId()

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

Definition at line 1209 of file ViewMap.h.

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

◆ shape()

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

Definition at line 1327 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 1332 of file ViewMap.h.

References Freestyle::FEdge::shape_importance().

◆ splittingId()

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

Definition at line 1130 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 835 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 729 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 724 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 749 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 739 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 754 of file ViewMap.cpp.

References ret, 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 761 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 682 of file ViewMap.cpp.

◆ ViewEdge_iterator() [2/2]

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

Definition at line 687 of file ViewMap.cpp.

◆ viewShape()

Friends And Related Symbol Documentation

◆ ViewShape

friend class ViewShape
friend

Definition at line 917 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 952 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: