Blender V5.0
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 253 of file ViewMap.h.

Member Typedef Documentation

◆ const_edge_iterator

◆ directedViewEdge

Definition at line 263 of file ViewMap.h.

◆ edge_iterator

◆ edges_container

Constructor & Destructor Documentation

◆ ViewVertex() [1/3]

◆ ViewVertex() [2/3]

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

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

References userdata, and ViewVertex().

◆ ~ViewVertex()

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

Destructor.

Definition at line 308 of file ViewMap.h.

Member Function Documentation

◆ duplicate()

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

Cloning method.

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

References ViewVertex().

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

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

◆ Replace()

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

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

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

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

◆ ViewShape

friend class ViewShape
friend

Definition at line 262 of file ViewMap.h.

References ViewShape.

Referenced by ViewShape.

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

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


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