use double as default RealType for subdividers
This commit is contained in:
@@ -88,7 +88,7 @@ namespace Uniform { // BEGIN_NS_UNIFORM
|
||||
|
||||
\note Needs a PolyMesh to work on!
|
||||
*/
|
||||
template <typename MeshType, typename RealType = float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class CatmullClarkT : public SubdividerT< MeshType, RealType >
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace Uniform { // BEGIN_NS_DECIMATER
|
||||
|
||||
/** Uniform composite Loop subdivision algorithm
|
||||
*/
|
||||
template <class MeshType, class RealType=float>
|
||||
template <class MeshType, class RealType = double>
|
||||
class CompositeLoopT : public CompositeT<MeshType, RealType>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace Uniform { // BEGIN_NS_UNIFORM
|
||||
|
||||
/** Uniform composite sqrt(3) subdivision algorithm
|
||||
*/
|
||||
template <typename MeshType, typename RealType=float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class CompositeSqrt3T : public CompositeT<MeshType, RealType>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -82,7 +82,7 @@ namespace Uniform { // BEGIN_NS_UNIFORM
|
||||
|
||||
//== CLASS DEFINITION =========================================================
|
||||
|
||||
template <typename MeshType, typename RealType = float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class CompareLengthFunction {
|
||||
public:
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace Uniform { // BEGIN_NS_DECIMATER
|
||||
* M.S. Thesis, Department of Mathematics, University of Utah, August 1987.
|
||||
*
|
||||
*/
|
||||
template <typename MeshType, typename RealType = float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class LoopT : public SubdividerT<MeshType, RealType>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -95,7 +95,7 @@ namespace Uniform { // BEGIN_NS_UNIFORM
|
||||
*
|
||||
* Clement Courbet - clement.courbet@ecp.fr
|
||||
*/
|
||||
template <typename MeshType, typename RealType = float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class ModifiedButterflyT : public SubdividerT<MeshType, RealType>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -109,7 +109,7 @@ namespace Uniform { // BEGIN_NS_UNIFORM
|
||||
* Clement Courbet - clement.courbet@ecp.fr
|
||||
*/
|
||||
|
||||
template <typename MeshType, typename RealType = float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class InterpolatingSqrt3LGT : public SubdividerT< MeshType, RealType >
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace Uniform { // BEGIN_NS_DECIMATER
|
||||
*
|
||||
* L. Kobbelt, <a href="http://www-i8.informatik.rwth-aachen.de/publications/downloads/sqrt3.pdf">"Sqrt(3) subdivision"</a>, Proceedings of SIGGRAPH 2000.
|
||||
*/
|
||||
template <typename MeshType, typename RealType = float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class Sqrt3T : public SubdividerT< MeshType, RealType >
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -79,18 +79,17 @@ namespace OpenMesh {
|
||||
namespace Subdivider {
|
||||
namespace Uniform {
|
||||
|
||||
|
||||
//== CLASS DEFINITION =========================================================
|
||||
|
||||
/** Abstract base class for uniform subdivision algorithms.
|
||||
*
|
||||
* A derived class must overload the following functions:
|
||||
* -# name()
|
||||
* -# prepare()
|
||||
* -# subdivide()
|
||||
* -# cleanup()
|
||||
* -# const char* name() const
|
||||
* -# void prepare(MeshType&)
|
||||
* -# void subdivide(MeshType&, size_t, bool)
|
||||
* -# void cleanup(MeshType&)
|
||||
*/
|
||||
template <typename MeshType, typename RealType=float>
|
||||
template <typename MeshType, typename RealType = double>
|
||||
class SubdividerT : private Utils::Noncopyable
|
||||
{
|
||||
public:
|
||||
@@ -104,15 +103,15 @@ public:
|
||||
//@{
|
||||
/// Constructor to be used with interface 2
|
||||
/// \see attach(), operator()(size_t), detach()
|
||||
SubdividerT(void) : attached_(NULL) { }
|
||||
SubdividerT(void) : attached_(nullptr) { }
|
||||
|
||||
/// Constructor to be used with interface 1 (calls attach())
|
||||
/// \see operator()( MeshType&, size_t )
|
||||
SubdividerT( MeshType &_m ) : attached_(NULL) { attach(_m); }
|
||||
SubdividerT( MeshType &_m ) : attached_(nullptr) { attach(_m); }
|
||||
|
||||
//@}
|
||||
|
||||
/// Descructor (calls detach())
|
||||
/// Destructor (calls detach())
|
||||
virtual ~SubdividerT()
|
||||
{ detach(); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user