From 1e7094c90d24afd0bb408f02422668a49b6da52a Mon Sep 17 00:00:00 2001 From: cignoni Date: Fri, 16 Sep 2005 12:03:11 +0000 Subject: [PATCH] A lot of attempts in gcc compiling... --- vcg/space/index/aabb_binary_tree_utils.h | 94 ++++++++---------------- 1 file changed, 32 insertions(+), 62 deletions(-) diff --git a/vcg/space/index/aabb_binary_tree_utils.h b/vcg/space/index/aabb_binary_tree_utils.h index 575ebd8e..2ae3a6cb 100644 --- a/vcg/space/index/aabb_binary_tree_utils.h +++ b/vcg/space/index/aabb_binary_tree_utils.h @@ -24,6 +24,9 @@ History $Log: not supported by cvs2svn $ +Revision 1.3 2005/09/16 10:03:46 m_di_benedetto +General interface redefinition, added special functors for faces. + Revision 1.2 2005/09/11 11:46:43 m_di_benedetto First Commit @@ -66,7 +69,7 @@ class AABBBinaryTreeUtils { class P3Converter { public: static Point3 Convert(const Point3 & p) { - return (Point3(T1(p[0]), T1(p[1]), T1(p[2]))); + return Point3( (T1)p[0], (T1)p[1], (T1)p[2] ); } }; @@ -91,26 +94,23 @@ class AABBBinaryTreeUtils { class EmptyClass { }; - template + class ObjIteratorPtrFunct { public: - template - inline T * operator () (T & t) { - return (&t); - } + template + inline T * operator () (T & t) { + return (&t); + } + template + inline T * operator () (T* & t) { + return (t); + } }; - template - class ObjIteratorPtrFunct { - public: - inline T * operator () (T * & t) { - return (t); - } - }; - - static ObjIteratorPtrFunct IteratorPtrFunctor(void) { - return (ObjIteratorPtrFunct()); + static ObjIteratorPtrFunct IteratorPtrFunctor(void) { + ObjIteratorPtrFunct pp; + return pp; } template @@ -124,21 +124,9 @@ class AABBBinaryTreeUtils { } }; - template <> - class ObjBoxFunct { - public: - template - inline Box3 operator () (const FACETYPE & f) { - Box3 box; - box.Set(ConvertP3(f.P(0))); - box.Add(ConvertP3(f.P(1))); - box.Add(ConvertP3(f.P(2))); - return (box); - } - }; - - static ObjBoxFunct BoxFunctor(void) { - return (ObjBoxFunct()); + static ObjBoxFunct BoxFunctor(void) { + ObjBoxFunct tt; + return tt; } template @@ -156,7 +144,8 @@ class AABBBinaryTreeUtils { template static FaceBoxFunct FaceBoxFunctor(void) { - return (FaceBoxFunct()); + FaceBoxFunct tt; + return tt; } template @@ -170,18 +159,10 @@ class AABBBinaryTreeUtils { } }; - template <> - class ObjBarycenterFunct { - public: - template - inline Point3 operator () (const Face & f) { - printf("FACE\n"); - return (ConvertP3(f.Barycenter())); - } - }; static ObjBarycenterFunct BarycenterFunctor(void) { - return (ObjBarycenterFunct()); + ObjBarycenterFunct tt; + return tt; } template @@ -195,7 +176,8 @@ class AABBBinaryTreeUtils { template static FaceBarycenterFunct FaceBarycenterFunctor(void) { - return (FaceBarycenterFunct()); + FaceBarycenterFunct tt; + return tt; } template @@ -210,23 +192,10 @@ class AABBBinaryTreeUtils { } }; - template <> - class ObjPointDistanceFunct { - public: - template - inline bool operator () (const FACETYPE & f, const Point3 & p, ScalarType & minDist, Point3 & res) { - Point3 fp = ConvertP3(p); - FACETYPE::ScalarType md = FACETYPE::ScalarType(minDist); - Point3 fres; - const bool bret = face::PointDistance(f, p, md, fres); - minDist = ScalarType(md); - res = ConvertP3(fres); - return (bret); - } - }; - + static ObjPointDistanceFunct PointDistanceFunctor(void) { - return (ObjPointDistanceFunct()); + ObjPointDistanceFunct tt; + return tt; } template @@ -235,18 +204,19 @@ class AABBBinaryTreeUtils { typedef FACETYPE FaceType; inline bool operator () (const FaceType & f, const Point3 & p, ScalarType & minDist, Point3 & res) { Point3 fp = ConvertP3(p); - FaceType::ScalarType md = FaceType::ScalarType(minDist); + typename FaceType::ScalarType md = (typename FaceType::ScalarType)minDist; Point3 fres; const bool bret = face::PointDistance(f, p, md, fres); minDist = ScalarType(md); - res = ConvertP3(fres); + res = ConvertP3(fres); return (bret); } }; template static FacePointDistanceFunct FacePointDistanceFunctor(void) { - return (FacePointDistanceFunct()); + FacePointDistanceFunct tt; + return tt; } };