54#ifndef OPENMESH_SUBDIVIDER_UNIFORM_SUDIVIDERT_HH
55#define OPENMESH_SUBDIVIDER_UNIFORM_SUDIVIDERT_HH
59#include <OpenMesh/Core/System/config.hh>
60#include <OpenMesh/Core/Utils/Noncopyable.hh>
61#if defined(_DEBUG) || defined(DEBUG)
64# include <OpenMesh/Tools/Utils/MeshCheckerT.hh>
65# define ASSERT_CONSISTENCY( T, m ) \
66 assert(OpenMesh::Utils::MeshCheckerT<T>(m).check())
68# define ASSERT_CONSISTENCY( T, m )
87template <
typename MeshType,
typename RealType =
double>
92 typedef MeshType mesh_t;
93 typedef RealType real_t;
114 virtual const char *
name(
void )
const = 0;
122 bool operator () ( MeshType& _m,
size_t _n ,
const bool _update_points =
true)
148 bool operator()(
size_t _n ,
const bool _update_points =
true)
174 virtual bool prepare( MeshType& ) {
return false; };
177 virtual bool subdivide( MeshType& _m,
size_t _n,
const bool _update_points =
true) = 0;