Visualization Library 2.0.0

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vl::EdgeExtractor Class Reference

The EdgeExtractor class extracts the edges from one or more Geometry objects. More...

#include <EdgeExtractor.hpp>

+ Inheritance diagram for vl::EdgeExtractor:

Classes

class  Edge
 A single edge as extracted from the EdgeExtractor class. More...
 

Public Member Functions

 EdgeExtractor ()
 
void extractEdges (Geometry *geom)
 Extracts the edges from the given Geometry and appends them to edges(). More...
 
bool extractEdges (Actor *actor)
 
void extractEdges (ActorCollection *actors)
 
void extractEdges (SceneManager *scenemanager)
 
void extractEdges (Rendering *rendering)
 
ref< GeometrygenerateEdgeGeometry () const
 
const std::vector< Edge > & edges () const
 
std::vector< Edge > & edges ()
 
void reset ()
 
float creaseAngle () const
 The minimum angle (in degrees) considered to generate crease-edges. More...
 
void setCreaseAngle (float a)
 The minimum angle (in degrees) considered to generate crease-edges. More...
 
bool warnNonManifold () const
 
void setWarnNonManifold (bool warn_on)
 
- Public Member Functions inherited from vl::Object
 Object ()
 Constructor. More...
 
 Object (const Object &other)
 Copy constructor: copies the name, ref count mutex and user data. More...
 
Objectoperator= (const Object &other)
 Copy operator: copies the object's name, ref count mutex and user data. More...
 
const std::string & objectName () const
 The name of the object, by default set to the object's class name. More...
 
void setObjectName (const char *name)
 The name of the object, by default set to the object's class name in debug builds. More...
 
void setObjectName (const std::string &name)
 The name of the object, by default set to the object's class name in debug builds. More...
 
void setRefCountMutex (IMutex *mutex)
 The mutex used to protect the reference counting of an Object across multiple threads. More...
 
IMutexrefCountMutex ()
 The mutex used to protect the reference counting of an Object across multiple threads. More...
 
const IMutexrefCountMutex () const
 The mutex used to protect the reference counting of an Object across multiple threads. More...
 
int referenceCount () const
 Returns the number of references of an object. More...
 
void incReference () const
 Increments the reference count of an object. More...
 
void decReference ()
 Decrements the reference count of an object and deletes it if both automaticDelete() is true the count reaches 0. More...
 
void setAutomaticDelete (bool autodel_on)
 If set to true the Object is deleted when its reference count reaches 0. More...
 
bool automaticDelete () const
 If set to true the Object is deleted when its reference count reaches 0. More...
 
template<class T >
T * as ()
 Casts an Object to the specified class. More...
 
template<class T >
const T * as () const
 Casts an Object to the specified class. More...
 

Protected Member Functions

void addEdge (std::set< EdgeExtractor::Edge > &edges, const EdgeExtractor::Edge &e, const fvec3 &n)
 
- Protected Member Functions inherited from vl::Object
virtual ~Object ()
 

Protected Attributes

std::vector< EdgemEdges
 
float mCreaseAngle
 
bool mWarnNonManifold
 
- Protected Attributes inherited from vl::Object
std::string mObjectName
 
IMutexmRefCountMutex
 
int mReferenceCount
 
bool mAutomaticDelete
 

Detailed Description

The EdgeExtractor class extracts the edges from one or more Geometry objects.

The edges are always extracted from the triangles or quads that are part of a vl::Geometry and can be of three types: silhouette edges, crease edges and boundary edges.

Usage
See also

Definition at line 73 of file EdgeExtractor.hpp.

Constructor & Destructor Documentation

◆ EdgeExtractor()

vl::EdgeExtractor::EdgeExtractor ( )
inline

Definition at line 136 of file EdgeExtractor.hpp.

Member Function Documentation

◆ addEdge()

void EdgeExtractor::addEdge ( std::set< EdgeExtractor::Edge > &  edges,
const EdgeExtractor::Edge e,
const fvec3 n 
)
protected

◆ creaseAngle()

float vl::EdgeExtractor::creaseAngle ( ) const
inline

The minimum angle (in degrees) considered to generate crease-edges.

Definition at line 155 of file EdgeExtractor.hpp.

Referenced by extractEdges().

◆ edges() [1/2]

const std::vector<Edge>& vl::EdgeExtractor::edges ( ) const
inline

◆ edges() [2/2]

std::vector<Edge>& vl::EdgeExtractor::edges ( )
inline

Definition at line 150 of file EdgeExtractor.hpp.

◆ extractEdges() [1/5]

void EdgeExtractor::extractEdges ( Geometry geom)

◆ extractEdges() [2/5]

bool EdgeExtractor::extractEdges ( Actor actor)

Definition at line 165 of file EdgeExtractor.cpp.

References extractEdges(), vl::Actor::lod(), and NULL.

◆ extractEdges() [3/5]

void EdgeExtractor::extractEdges ( ActorCollection actors)

◆ extractEdges() [4/5]

void EdgeExtractor::extractEdges ( SceneManager scenemanager)

◆ extractEdges() [5/5]

void EdgeExtractor::extractEdges ( Rendering rendering)

Definition at line 190 of file EdgeExtractor.cpp.

References extractEdges(), and vl::Rendering::sceneManagers().

◆ generateEdgeGeometry()

ref< Geometry > EdgeExtractor::generateEdgeGeometry ( ) const

◆ reset()

void vl::EdgeExtractor::reset ( )
inline

Definition at line 152 of file EdgeExtractor.hpp.

◆ setCreaseAngle()

void vl::EdgeExtractor::setCreaseAngle ( float  a)
inline

The minimum angle (in degrees) considered to generate crease-edges.

Definition at line 157 of file EdgeExtractor.hpp.

Referenced by vl::EdgeRenderer::declareActor().

◆ setWarnNonManifold()

void vl::EdgeExtractor::setWarnNonManifold ( bool  warn_on)
inline

Definition at line 160 of file EdgeExtractor.hpp.

◆ warnNonManifold()

bool vl::EdgeExtractor::warnNonManifold ( ) const
inline

Definition at line 159 of file EdgeExtractor.hpp.

Member Data Documentation

◆ mCreaseAngle

float vl::EdgeExtractor::mCreaseAngle
protected

Definition at line 167 of file EdgeExtractor.hpp.

◆ mEdges

std::vector<Edge> vl::EdgeExtractor::mEdges
protected

Definition at line 166 of file EdgeExtractor.hpp.

Referenced by extractEdges().

◆ mWarnNonManifold

bool vl::EdgeExtractor::mWarnNonManifold
protected

Definition at line 168 of file EdgeExtractor.hpp.

Referenced by addEdge().


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