Radium Engine
1.5.20
|
#include <Core/Geometry/LoopSubdivider.hpp>
Public Member Functions | |
LoopSubdivider (deprecated::TopologicalMesh &mesh) | |
const char * | name (void) const override |
void | recompute (const Vector3Array &newCoarseVertices, const Vector3Array &newCoarseNormals, Vector3Array &newSubdivVertices, Vector3Array &newSubdivNormals, deprecated::TopologicalMesh &mesh) |
Protected Member Functions | |
void | init_weights (size_t max_valence) |
Pre-compute weights. | |
bool | prepare (deprecated::TopologicalMesh &mesh) override |
bool | cleanup (deprecated::TopologicalMesh &mesh) override |
bool | subdivide (deprecated::TopologicalMesh &mesh, size_t n, const bool updatePoints=true) override |
This class implements the Loop subdivision algorithm
This class extends OpenMesh's LoopT subdivider to handle attributes.
Definition at line 17 of file LoopSubdivider.hpp.
|
inline |
Definition at line 32 of file LoopSubdivider.hpp.
|
inlineexplicit |
Definition at line 34 of file LoopSubdivider.hpp.
|
inline |
Definition at line 36 of file LoopSubdivider.hpp.
|
overrideprotected |
Definition at line 23 of file LoopSubdivider.cpp.
|
inlineprotected |
Pre-compute weights.
Definition at line 69 of file LoopSubdivider.hpp.
|
inlineoverride |
Definition at line 39 of file LoopSubdivider.hpp.
|
overrideprotected |
Definition at line 7 of file LoopSubdivider.cpp.
void Ra::Core::Geometry::LoopSubdivider::recompute | ( | const Vector3Array & | newCoarseVertices, |
const Vector3Array & | newCoarseNormals, | ||
Vector3Array & | newSubdivVertices, | ||
Vector3Array & | newSubdivNormals, | ||
deprecated::TopologicalMesh & | mesh ) |
In the case one wants to apply the subdivision on the same mesh topology, but with a different geometry (e.g. for an animated character), one may want to just reapply the subdivision operations instead for performance reasons. This can be achieved with the following code:
Definition at line 349 of file LoopSubdivider.cpp.
|
overrideprotected |
Definition at line 30 of file LoopSubdivider.cpp.