Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
The EdgeExtractor class extracts the edges from one or more Geometry objects. More...
#include <EdgeExtractor.hpp>
Classes | |
| class | Edge |
| A single edge as extracted from the EdgeExtractor class. More... | |
Public Member Functions | |
| virtual const char * | className () |
| Returns the name of the class. | |
| EdgeExtractor () | |
| void | extractEdges (Geometry *geom) |
| Extracts the edges from the given Geometry and appends them to edges(). | |
| bool | extractEdges (Actor *actor) |
| void | extractEdges (ActorCollection *actors) |
| void | extractEdges (SceneManager *scenemanager) |
| void | extractEdges (Rendering *rendering) |
| ref< Geometry > | generateEdgeGeometry () 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. | |
| void | setCreaseAngle (float a) |
| The minimum angle (in degrees) considered to generate crease-edges. | |
| bool | warnNonManifold () const |
| void | setWarnNonManifold (bool warn_on) |
Protected Member Functions | |
| void | addEdge (std::set< EdgeExtractor::Edge > &edges, const EdgeExtractor::Edge &e, const fvec3 &n) |
Protected Attributes | |
| std::vector< Edge > | mEdges |
| float | mCreaseAngle |
| bool | mWarnNonManifold |
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.
Definition at line 73 of file EdgeExtractor.hpp.
| vl::EdgeExtractor::EdgeExtractor | ( | ) | [inline] |
Definition at line 135 of file EdgeExtractor.hpp.
References VL_DEBUG_SET_OBJECT_NAME.
| virtual const char* vl::EdgeExtractor::className | ( | ) | [inline, virtual] |
Returns the name of the class.
Reimplemented from vl::Object.
Definition at line 134 of file EdgeExtractor.hpp.
| void EdgeExtractor::extractEdges | ( | Geometry * | geom ) |
Extracts the edges from the given Geometry and appends them to edges().
The given geometry must have a vertex array of format ArrayFloat3.
Definition at line 68 of file EdgeExtractor.cpp.
References vl::acos(), addEdge(), vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >::at(), vl::Collection< T >::at(), vl::clamp(), creaseAngle(), vl::cross(), vl::dot(), vl::Geometry::drawCalls(), edges(), vl::Log::error(), vl::fPi, vl::TriangleIterator::isEnd(), vl::Vector3< T_Scalar >::isNull(), mEdges, vl::EdgeExtractor::Edge::normal1(), vl::EdgeExtractor::Edge::normal2(), vl::Vector3< T_Scalar >::normalize(), vl::EdgeExtractor::Edge::setIsCrease(), vl::Collection< T >::size(), vl::DrawCall::triangleIterator(), and vl::Geometry::vertexArray().
Referenced by vl::EdgeRenderer::declareActor(), and extractEdges().
| bool EdgeExtractor::extractEdges | ( | Actor * | actor ) |
Definition at line 164 of file EdgeExtractor.cpp.
References extractEdges(), vl::ref< T >::get(), and vl::Actor::lod().
| void EdgeExtractor::extractEdges | ( | ActorCollection * | actors ) |
Definition at line 172 of file EdgeExtractor.cpp.
References vl::Collection< T >::at(), extractEdges(), vl::ref< T >::get(), vl::Actor::lod(), and vl::Collection< T >::size().
| void EdgeExtractor::extractEdges | ( | SceneManager * | scenemanager ) |
Definition at line 182 of file EdgeExtractor.cpp.
References vl::SceneManager::extractActors(), extractEdges(), and vl::ref< T >::get().
| void EdgeExtractor::extractEdges | ( | Rendering * | rendering ) |
Definition at line 189 of file EdgeExtractor.cpp.
References vl::Collection< T >::at(), extractEdges(), vl::Rendering::sceneManagers(), and vl::Collection< T >::size().
Definition at line 127 of file EdgeExtractor.cpp.
References edges(), vl::ref< T >::get(), and vl::PT_LINES.
Referenced by vl::EdgeRenderer::declareActor().
| const std::vector<Edge>& vl::EdgeExtractor::edges | ( | ) | const [inline] |
Definition at line 148 of file EdgeExtractor.hpp.
Referenced by vl::EdgeRenderer::declareActor(), extractEdges(), and generateEdgeGeometry().
| std::vector<Edge>& vl::EdgeExtractor::edges | ( | ) | [inline] |
Definition at line 149 of file EdgeExtractor.hpp.
| void vl::EdgeExtractor::reset | ( | ) | [inline] |
Definition at line 151 of file EdgeExtractor.hpp.
| float vl::EdgeExtractor::creaseAngle | ( | ) | const [inline] |
The minimum angle (in degrees) considered to generate crease-edges.
Definition at line 154 of file EdgeExtractor.hpp.
Referenced by extractEdges().
| void vl::EdgeExtractor::setCreaseAngle | ( | float | a ) | [inline] |
The minimum angle (in degrees) considered to generate crease-edges.
Definition at line 156 of file EdgeExtractor.hpp.
Referenced by vl::EdgeRenderer::declareActor().
| bool vl::EdgeExtractor::warnNonManifold | ( | ) | const [inline] |
Definition at line 158 of file EdgeExtractor.hpp.
| void vl::EdgeExtractor::setWarnNonManifold | ( | bool | warn_on ) | [inline] |
Definition at line 159 of file EdgeExtractor.hpp.
| void EdgeExtractor::addEdge | ( | std::set< EdgeExtractor::Edge > & | edges, |
| const EdgeExtractor::Edge & | e, | ||
| const fvec3 & | n | ||
| ) | [protected] |
Definition at line 43 of file EdgeExtractor.cpp.
References vl::Log::error(), vl::Vector3< T_Scalar >::isNull(), mWarnNonManifold, vl::EdgeExtractor::Edge::setNormal1(), vl::EdgeExtractor::Edge::setNormal2(), and VL_CHECK.
Referenced by extractEdges().
std::vector<Edge> vl::EdgeExtractor::mEdges [protected] |
Definition at line 165 of file EdgeExtractor.hpp.
Referenced by extractEdges().
float vl::EdgeExtractor::mCreaseAngle [protected] |
Definition at line 166 of file EdgeExtractor.hpp.
bool vl::EdgeExtractor::mWarnNonManifold [protected] |
Definition at line 167 of file EdgeExtractor.hpp.
Referenced by addEdge().