Loading...
Searching...
No Matches
OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType > Class Template Reference

Uniform LongestEdgeT subdivision algorithm More...

`#include <OpenMesh/Tools/Subdivider/Uniform/LongestEdgeT.hh>`

Inheritance diagram for OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType >:
[legend]
Collaboration diagram for OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType >:
[legend]

## Public Types

typedef RealType | real_t
typedef MeshType | mesh_t
typedef SubdividerT< mesh_t, real_t > | parent_t
typedef std::vector< std::vector< real_t > > | weights_t
typedef std::vector< real_t > | weight_t
typedef std::pair< typename mesh_t::EdgeHandle, real_t > | queueElement
Public Types inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, float >
typedef MeshType | mesh_t
typedef float | real_t

## Public Member Functions

| LongestEdgeT (mesh_t &_m)
const char * | name () const
| Return name of subdivision algorithm.
void | set_max_edge_length (double _value)
Public Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, float >
| SubdividerT (void)
| Constructor to be used with interface 2.
virtual | ~SubdividerT ()
| Destructor (calls detach()).
bool | operator() (MeshType &_m, size_t _n, const bool _update_points=true)
| Subdivide the mesh `_m` `_n` times.
bool | attach (MeshType &_m)
| Attach mesh `_m` to self.
void | detach (void)
| Detach an eventually attached mesh.

## Protected Member Functions

bool | prepare (mesh_t &_m)
| Prepare mesh, e.g.
bool | cleanup (mesh_t &_m)
| Cleanup mesh after usage, e.g. remove added properties.
bool | subdivide (MeshType &_m, size_t _n, const bool _update_points=true)
| Subdivide mesh `_m` `_n` times.

## Detailed Description

template<typename MeshType, typename RealType = float>
class OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType >

Uniform LongestEdgeT subdivision algorithm

Very simple algorithm splitting all edges which are longer than given via set_max_edge_length(). The split is always performed on the longest edge in the mesh.

## Member Function Documentation

## cleanup()

template<typename MeshType, typename RealType = float>

bool OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType >::cleanup | ( | mesh_t & | _m | ) |

inline protected virtual

Cleanup mesh after usage, e.g. remove added properties.

Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, float >.

## name()

template<typename MeshType, typename RealType = float>

const char * OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType >::name | ( | void |  | ) | const

inline virtual

Return name of subdivision algorithm.

Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, float >.

## prepare()

template<typename MeshType, typename RealType = float>

bool OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType >::prepare | ( | mesh_t & |  | ) |

inline protected virtual

Prepare mesh, e.g.

add properties

You have to reimplement this function to setup your mesh. The default implementation will always return false and therefore block your algorithm.

Reimplemented from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, float >.

## subdivide()

template<typename MeshType, typename RealType = float>

bool OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType >::subdivide | ( | MeshType & | _m,
|  | size_t | _n,
|  | const bool | _update_points = true )

inline protected virtual

Subdivide mesh `_m` `_n` times.

Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, float >.

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

- OpenMesh/Tools/Subdivider/Uniform/LongestEdgeT.hh