|
Visualization Library 2.1.0
A lightweight C++ OpenGL middleware for 2D/3D graphics
|
[Download] [Tutorials] [All Classes] [Grouped Classes] |
Removes from a Geometry the vertices with the same attributes. More...
#include <DoubleVertexRemover.hpp>
Inheritance diagram for vl::DoubleVertexRemover:Public Member Functions | |
| DoubleVertexRemover () | |
| void | removeDoubles (Geometry *geom) |
| const std::vector< u32 > & | mapNewToOld () const |
| const std::vector< u32 > & | mapOldToNew () const |
Public Member Functions inherited from vl::VertexMapper | |
| ref< ArrayAbstract > | regenerate (ArrayAbstract *data, const std::vector< u32 > &map_new_to_old) const |
| Regenerates a new Array based on the given mapping. More... | |
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... | |
| Object & | operator= (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... | |
| IMutex * | refCountMutex () |
| The mutex used to protect the reference counting of an Object across multiple threads. More... | |
| const IMutex * | refCountMutex () 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 Attributes | |
| std::vector< u32 > | mMapNewToOld |
| std::vector< u32 > | mMapOldToNew |
Protected Attributes inherited from vl::Object | |
| std::string | mObjectName |
| IMutex * | mRefCountMutex |
| int | mReferenceCount |
| bool | mAutomaticDelete |
Additional Inherited Members | |
Protected Member Functions inherited from vl::Object | |
| virtual | ~Object () |
Removes from a Geometry the vertices with the same attributes.
As a result also all the DrawArrays prensent in the Geometry are substituted with DrawElements.
Definition at line 63 of file DoubleVertexRemover.hpp.
|
inline |
Definition at line 68 of file DoubleVertexRemover.hpp.
|
inline |
Definition at line 70 of file DoubleVertexRemover.hpp.
|
inline |
Definition at line 71 of file DoubleVertexRemover.hpp.
Referenced by vl::loadMD2().
| void DoubleVertexRemover::removeDoubles | ( | Geometry * | geom | ) |
Definition at line 210 of file DoubleVertexRemover.cpp.
References vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >::at(), vl::Log::debug(), vl::Geometry::drawCalls(), vl::Time::elapsed(), vl::ref< T >::get(), vl::DrawElements< arr_type >::indexBuffer(), vl::Geometry::regenerateVertices(), vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >::resize(), vl::ArrayAbstract::size(), vl::Time::start(), vl::Geometry::vertexArray(), and VL_CHECK.
Referenced by vl::loadMD2(), vl::makeIcosphere(), vl::makeTeapot(), vl::GeometryLoadCallback::operator()(), vl::PolygonSimplifier::simplify(), and vl::TriangleStripGenerator::stripfy().
|
protected |
Definition at line 74 of file DoubleVertexRemover.hpp.
|
protected |
Definition at line 75 of file DoubleVertexRemover.hpp.
Visualization Library 2.1.0 Reference Documentation
Updated on Wed Mar 10 2021 16:02:49.
© Copyright Michele Bosi. All rights reserved.