Developer Documentation

Sudivision Tools

# Overview

The OpenMesh library provides a few tools for uniform and adaptive subdivision:

1. Uniform subdivision
   1. OpenMesh::Subdivider::Uniform::LoopT
   2. OpenMesh::Subdivider::Uniform::Sqrt3T
   3. OpenMesh::Subdivider::Uniform::ModifiedButterflyT
   4. OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT
   5. OpenMesh::Subdivider::Uniform::CompositeT
   6. OpenMesh::Subdivider::Uniform::CatmullClarkT
   7. OpenMesh::Subdivider::Uniform::MidpointT
2. Adaptive subdivision
   1. OpenMesh::Subdivider::Adaptive::CompositeT
3. Simple subdivision
   1. OpenMesh::Subdivider::Uniform::LongestEdgeT

# Usage

The subdividers directly work on an OpenMesh. The following example shows how to use them:

#include <OpenMesh/Tools/Subdivider/Uniform/CatmullClarkT.hh>
// Initialize subdivider
OpenMesh::Subdivider::Uniform::CatmullClarkT<PolyMesh> catmull;
// Execute 3 subdivision steps
catmull.attach(mesh_);
catmull( 3 );
catmull.detach();