Blender V4.3
Freestyle::ViewVertex Class Referenceabstract

#include <ViewMap.h>

Inherits Freestyle::Interface0D.

Inherited by Freestyle::NonTVertex, and Freestyle::TVertex.

Public Types

typedef pair< ViewEdge *, bool > directedViewEdge
 
typedef vector< directedViewEdgeedges_container
 
typedef ViewVertexInternal::edge_iterator_base< ViewVertexInternal::edge_nonconst_traitsedge_iterator
 
typedef ViewVertexInternal::edge_iterator_base< ViewVertexInternal::edge_const_traitsconst_edge_iterator
 

Public Member Functions

virtual string getExactTypeName () const
 
 ViewVertex ()
 
 ViewVertex (Nature::VertexNature nature)
 
virtual ~ViewVertex ()
 
virtual Nature::VertexNature getNature () const
 
void setNature (Nature::VertexNature iNature)
 
virtual void Replace (ViewEdge *, ViewEdge *)
 
virtual edge_iterator edges_begin ()=0
 
virtual const_edge_iterator edges_begin () const =0
 
virtual edge_iterator edges_end ()=0
 
virtual const_edge_iterator edges_end () const =0
 
virtual edge_iterator edges_iterator (ViewEdge *iEdge)=0
 
virtual const_edge_iterator edges_iterator (ViewEdge *iEdge) const =0
 
virtual ViewVertexInternal::orientedViewEdgeIterator edgesBegin ()=0
 
virtual ViewVertexInternal::orientedViewEdgeIterator edgesEnd ()=0
 
virtual ViewVertexInternal::orientedViewEdgeIterator edgesIterator (ViewEdge *iEdge)=0
 
- Public Member Functions inherited from Freestyle::Interface0D
 Interface0D ()
 
virtual ~Interface0D ()
 
virtual real getX () const
 
virtual real getY () const
 
virtual real getZ () const
 
virtual Geometry::Vec3r getPoint3D () const
 
virtual real getProjectedX () const
 
virtual real getProjectedY () const
 
virtual real getProjectedZ () const
 
virtual Geometry::Vec2r getPoint2D () const
 
virtual FEdgegetFEdge (Interface0D &)
 
virtual Id getId () const
 
virtual SVertexcastToSVertex ()
 
virtual ViewVertexcastToViewVertex ()
 
virtual NonTVertexcastToNonTVertex ()
 
virtual TVertexcastToTVertex ()
 

Public Attributes

void * userdata
 

Protected Member Functions

 ViewVertex (ViewVertex &iBrother)
 
virtual ViewVertexduplicate ()=0
 

Friends

class ViewShape
 

Detailed Description

Class to define a view vertex. A view vertex is a feature vertex corresponding to a point of the image graph, where the characteristics of an edge might change (nature, visibility, ...). A ViewVertex can be of two kinds: a TVertex when it corresponds to the intersection between two ViewEdges or a NonTVertex when it corresponds to a vertex of the initial input mesh (it is the case for vertices such as corners for example). Thus, this class can be specialized into two classes, the TVertex class and the NonTVertex class.

Definition at line 257 of file ViewMap.h.

Member Typedef Documentation

◆ const_edge_iterator

◆ directedViewEdge

Definition at line 267 of file ViewMap.h.

◆ edge_iterator

◆ edges_container

Constructor & Destructor Documentation

◆ ViewVertex() [1/3]

Freestyle::ViewVertex::ViewVertex ( )
inline

Default constructor.

Definition at line 286 of file ViewMap.h.

References userdata, and Freestyle::Nature::VIEW_VERTEX.

◆ ViewVertex() [2/3]

Freestyle::ViewVertex::ViewVertex ( Nature::VertexNature nature)
inline

Definition at line 292 of file ViewMap.h.

References userdata, and Freestyle::Nature::VIEW_VERTEX.

◆ ViewVertex() [3/3]

Freestyle::ViewVertex::ViewVertex ( ViewVertex & iBrother)
inlineprotected

Copy constructor.

Definition at line 300 of file ViewMap.h.

References userdata.

◆ ~ViewVertex()

virtual Freestyle::ViewVertex::~ViewVertex ( )
inlinevirtual

Destructor.

Definition at line 312 of file ViewMap.h.

Member Function Documentation

◆ duplicate()

virtual ViewVertex * Freestyle::ViewVertex::duplicate ( )
protectedpure virtual

Cloning method.

Implemented in Freestyle::NonTVertex, and Freestyle::TVertex.

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

◆ edges_begin() [1/2]

virtual const_edge_iterator Freestyle::ViewVertex::edges_begin ( ) const
pure virtual

◆ edges_begin() [2/2]

virtual edge_iterator Freestyle::ViewVertex::edges_begin ( )
pure virtual

◆ edges_end() [1/2]

virtual const_edge_iterator Freestyle::ViewVertex::edges_end ( ) const
pure virtual

◆ edges_end() [2/2]

virtual edge_iterator Freestyle::ViewVertex::edges_end ( )
pure virtual

◆ edges_iterator() [1/2]

virtual const_edge_iterator Freestyle::ViewVertex::edges_iterator ( ViewEdge * iEdge) const
pure virtual

◆ edges_iterator() [2/2]

virtual edge_iterator Freestyle::ViewVertex::edges_iterator ( ViewEdge * iEdge)
pure virtual

◆ edgesBegin()

virtual ViewVertexInternal::orientedViewEdgeIterator Freestyle::ViewVertex::edgesBegin ( )
pure virtual

Returns an iterator over the ViewEdges that goes to or comes from this ViewVertex pointing to the first ViewEdge of the list. The orientedViewEdgeIterator allows to iterate in CCW order over these ViewEdges and to get the orientation for each ViewEdge (incoming/outgoing).

Implemented in Freestyle::NonTVertex, and Freestyle::TVertex.

Referenced by Freestyle::AdjacencyIterator::AdjacencyIterator().

◆ edgesEnd()

virtual ViewVertexInternal::orientedViewEdgeIterator Freestyle::ViewVertex::edgesEnd ( )
pure virtual

Returns an orientedViewEdgeIterator over the ViewEdges around this ViewVertex, pointing after the last ViewEdge.

Implemented in Freestyle::NonTVertex, and Freestyle::TVertex.

◆ edgesIterator()

virtual ViewVertexInternal::orientedViewEdgeIterator Freestyle::ViewVertex::edgesIterator ( ViewEdge * iEdge)
pure virtual

Returns an orientedViewEdgeIterator pointing to the ViewEdge given as argument.

Implemented in Freestyle::NonTVertex, and Freestyle::TVertex.

◆ getExactTypeName()

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

Returns the string "ViewVertex".

Reimplemented from Freestyle::Interface0D.

Reimplemented in Freestyle::NonTVertex, and Freestyle::TVertex.

Definition at line 260 of file ViewMap.h.

Referenced by Any_BPy_ViewVertex_from_ViewVertex().

◆ getNature()

virtual Nature::VertexNature Freestyle::ViewVertex::getNature ( ) const
inlinevirtual

Returns the nature of the vertex.

Reimplemented from Freestyle::Interface0D.

Definition at line 316 of file ViewMap.h.

Referenced by Freestyle::ViewMapBuilder::computeCusps(), Freestyle::SVertex::getNature(), and Freestyle::ChainSilhouetteIterator::traverse().

◆ Replace()

virtual void Freestyle::ViewVertex::Replace ( ViewEdge * ,
ViewEdge *  )
inlinevirtual

Reimplemented in Freestyle::NonTVertex, and Freestyle::TVertex.

Definition at line 329 of file ViewMap.h.

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

◆ setNature()

void Freestyle::ViewVertex::setNature ( Nature::VertexNature iNature)
inline

Sets the nature of the vertex.

Definition at line 323 of file ViewMap.h.

Referenced by Freestyle::ViewMapBuilder::computeCusps().

Friends And Related Symbol Documentation

◆ ViewShape

friend class ViewShape
friend

Definition at line 266 of file ViewMap.h.

Member Data Documentation

◆ userdata

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

Referenced by Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), ViewVertex(), ViewVertex(), and ViewVertex().


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