diff --git a/vcg/simplex/faceplus/base.h b/vcg/simplex/faceplus/base.h index e634e580..9092ad3f 100644 --- a/vcg/simplex/faceplus/base.h +++ b/vcg/simplex/faceplus/base.h @@ -131,12 +131,11 @@ template class FaceBase: public face::EmptyPolyInfo< face::EmptyVertexRef< face::EmptyAdj< - face::EmptyColorQuality< + face::EmptyColorMarkQuality< face::EmptyNormal< face::EmptyBitFlags< - face::EmptyMark< face::EmptyWedgeTexCoord< - FaceTypeHolder > > > > > > > > { + FaceTypeHolder > > > > > > > { }; @@ -158,8 +157,8 @@ template class C, template class D, template class E, template class F, template class G, template class H, - template class I > - class FaceArityMax: public I > { + template class I, template class J > + class FaceArityMax: public I > { // ----- Flags stuff ----- public: @@ -344,16 +343,16 @@ template class C = FaceDefaultDeriver, template class D = FaceDefaultDeriver, template class E = FaceDefaultDeriver, template class F = FaceDefaultDeriver, template class G = FaceDefaultDeriver, template class H = FaceDefaultDeriver, - template class I = FaceDefaultDeriver > - class FaceSimp3: public FaceArityMax {}; + template class I = FaceDefaultDeriver, template class J = FaceDefaultDeriver > + class FaceSimp3: public FaceArityMax {}; class DumTT; template class A = FaceDefaultDeriver, template class B = FaceDefaultDeriver, template class C = FaceDefaultDeriver, template class D = FaceDefaultDeriver, template class E = FaceDefaultDeriver, template class F = FaceDefaultDeriver, template class G = FaceDefaultDeriver, template class H = FaceDefaultDeriver, - template class I = FaceDefaultDeriver > - class FaceSimp2: public FaceArityMax {}; + template class I = FaceDefaultDeriver, template class J = FaceDefaultDeriver > + class FaceSimp2: public FaceArityMax {}; }// end namespace diff --git a/vcg/simplex/faceplus/component.h b/vcg/simplex/faceplus/component.h index 6470a927..9810eefe 100644 --- a/vcg/simplex/faceplus/component.h +++ b/vcg/simplex/faceplus/component.h @@ -359,17 +359,26 @@ private: /*-------------------------- COLOR ----------------------------------*/ -template class EmptyColorQuality: public T { +template class EmptyColorMarkQuality: public T { public: - typedef float QualityType; + typedef int MarkType; + inline void InitIMark() { } + inline int & IMark() { assert(0); static int tmp=-1; return tmp;} + inline const int IMark() const {return 0;} + + typedef float QualityType; typedef vcg::Color4b ColorType; ColorType &C() { static ColorType dumcolor(vcg::Color4b::White); assert(0); return dumcolor; } ColorType &WC(const int) { static ColorType dumcolor(vcg::Color4b::White); assert(0); return dumcolor; } QualityType &Q() { static QualityType dummyQuality(0); assert(0); return dummyQuality; } - static bool HasFaceColor() { return false; } + + static bool HasFaceColor() { return false; } static bool HasWedgeColor() { return false; } static bool HasFaceQuality() { return false; } static bool HasFaceColorOcc() { return false;} + static bool HasMark() { return false; } + static bool HasMarkOcc() { return false; } + static void Name(std::vector & name){T::Name(name);} template void ImportLocal(const LeftF & leftF){ T::ImportLocal(leftF);} @@ -415,11 +424,6 @@ template class Color4b: public Color { /*-------------------------- Quality ----------------------------------*/ -template class EmptyQuality: public T { -public: - static void Name(std::vector & name){T::Name(name);} - -}; template class Quality: public T { public: typedef A QualityType; @@ -447,21 +451,6 @@ public: static void Name(std::vector & name){name.push_back(std::s }; /*-------------------------- INCREMENTAL MARK ----------------------------------------*/ -template class EmptyMark: public T { -public: - typedef int MarkType; - static bool HasMark() { return false; } - static bool HasMarkOcc() { return false; } - inline void InitIMark() { } - inline int & IMark() { assert(0); static int tmp=-1; return tmp;} - inline const int IMark() const {return 0;} - template - void ImportLocal(const LeftF & leftF){T::ImportLocal(leftF);} - inline void Alloc(const int & ns){T::Alloc(ns);} - inline void Dealloc(){T::Dealloc();} - static void Name(std::vector & name){T::Name(name);} - -}; template class Mark: public T { public: static bool HasMark() { return true; }