Blender  V3.3
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
Freestyle::ViewVertex Class Referenceabstract

#include <ViewMap.h>

Inheritance diagram for Freestyle::ViewVertex:
Freestyle::Interface0D Freestyle::NonTVertex Freestyle::TVertex

Public Types

typedef pair< ViewEdge *, booldirectedViewEdge
 
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

voiduserdata
 

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 256 of file ViewMap.h.

Member Typedef Documentation

◆ const_edge_iterator

Definition at line 273 of file ViewMap.h.

◆ directedViewEdge

Definition at line 266 of file ViewMap.h.

◆ edge_iterator

Definition at line 271 of file ViewMap.h.

◆ edges_container

Definition at line 268 of file ViewMap.h.

Constructor & Destructor Documentation

◆ ViewVertex() [1/3]

Freestyle::ViewVertex::ViewVertex ( )
inline

Default constructor.

Definition at line 285 of file ViewMap.h.

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

◆ ViewVertex() [2/3]

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

Definition at line 291 of file ViewMap.h.

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

◆ ViewVertex() [3/3]

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

Copy constructor.

Definition at line 299 of file ViewMap.h.

References NULL, and userdata.

◆ ~ViewVertex()

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

Destructor.

Definition at line 311 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 259 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 317 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 330 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 324 of file ViewMap.h.

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

Friends And Related Function Documentation

◆ ViewShape

friend class ViewShape
friend

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

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


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