From 0a367b89baf107675af7c40f24623cdb35d18be2 Mon Sep 17 00:00:00 2001 From: cignoni Date: Thu, 3 Apr 2008 23:02:17 +0000 Subject: [PATCH] Increased the derivation chain lenght. God save the compiler patience! --- vcg/simplex/vertexplus/base.h | 47 +++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/vcg/simplex/vertexplus/base.h b/vcg/simplex/vertexplus/base.h index ba26f46f..33f4d0cf 100644 --- a/vcg/simplex/vertexplus/base.h +++ b/vcg/simplex/vertexplus/base.h @@ -24,6 +24,9 @@ History $Log: not supported by cvs2svn $ +Revision 1.12 2008/03/17 11:39:14 ganovelli +added curvature and curvatruredir (compiled .net 2005 and gcc) + Revision 1.11 2008/02/04 21:26:49 ganovelli added ImportLocal which imports all local attributes into vertexplus and faceplus. A local attribute is everything (N(), C(), Q()....) except pointers to other simplices @@ -114,14 +117,12 @@ we have to build the type a step a time (deriving from a single ancestor at a ti template class VertexBase: public vert::EmptyTexCoord< vert::EmptyVFAdj< - vert::EmptyColor< - vert::EmptyQuality< - vert::EmptyNormal< + vert::EmptyColorQuality< vert::EmptyBitFlags< - vert::EmptyCoord< + vert::EmptyCoordNormal< vert::EmptyCurvature< vert::EmptyCurvatureDir< - VertexTypeHolder > > > > > > > > >{ + VertexTypeHolder > > > > > > >{ }; // Metaprogramming Core @@ -171,6 +172,22 @@ template class G, template class H> class VertexArity8: public H > {}; +template class A, template class B, + template class C, template class D, + template class E, template class F, + template class G, template class H, + template class I> + class VertexArity9: public I > {}; + +template class A, template class B, + template class C, template class D, + template class E, template class F, + template class G, template class H, + template class I, template class J> + class VertexArity10: public J > {}; + /* The Real Big Vertex class; The class __VertexArityMax__ is the one that is the Last to be derived, @@ -188,8 +205,9 @@ template class C, template class D, template class E, template class F, template class G, template class H, - template class I> -class VertexArityMax: public I > { + template class I, template class J, + template class K> +class VertexArityMax: public K > { // ----- Flags stuff ----- public: @@ -315,24 +333,27 @@ template class C = DefaultDeriver, template class D = DefaultDeriver, template class E = DefaultDeriver, template class F = DefaultDeriver, template class G = DefaultDeriver, template class H = DefaultDeriver, - template class I = DefaultDeriver> - class VertexSimp3: public VertexArityMax {}; + template class I = DefaultDeriver, template class J = DefaultDeriver, + template class K = DefaultDeriver> + class VertexSimp3: public VertexArityMax {}; template class A = DefaultDeriver, template class B = DefaultDeriver, template class C = DefaultDeriver, template class D = DefaultDeriver, template class E = DefaultDeriver, template class F = DefaultDeriver, template class G = DefaultDeriver, template class H = DefaultDeriver, - template class I = DefaultDeriver> - class VertexSimp2: public VertexArityMax {}; + template class I = DefaultDeriver, template class J = DefaultDeriver, + template class K = DefaultDeriver> + class VertexSimp2: public VertexArityMax {}; template class A = DefaultDeriver, template class B = DefaultDeriver, template class C = DefaultDeriver, template class D = DefaultDeriver, template class E = DefaultDeriver, template class F = DefaultDeriver, template class G = DefaultDeriver, template class H = DefaultDeriver, - template class I = DefaultDeriver> - class VertexSimp1: public VertexArityMax {}; + template class I = DefaultDeriver, template class J = DefaultDeriver, + template class K = DefaultDeriver> + class VertexSimp1: public VertexArityMax {}; }// end namespace #endif