From 052e774fbc2640982906cc7eb7a707eeb3d6f40f Mon Sep 17 00:00:00 2001 From: nicopietroni Date: Wed, 25 May 2011 16:28:18 +0000 Subject: [PATCH] added Quality3 component --- vcg/simplex/face/component.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/vcg/simplex/face/component.h b/vcg/simplex/face/component.h index 050af978..736309c7 100644 --- a/vcg/simplex/face/component.h +++ b/vcg/simplex/face/component.h @@ -517,6 +517,34 @@ public: static void Name(std::vector & name){name.push_back(std::s template class Qualityd: public Quality { public: static void Name(std::vector & name){name.push_back(std::string("Qualityd"));T::Name(name);} }; + +/*-------------------------- Quality ----------------------------------*/ + +template class Quality3: public T { +public: + typedef vcg::Point3 Quality3Type; + Quality3Type &Q3() { return _quality; } + const Quality3Type &cQ3() const { return _quality; } + template + void ImportData(const RightF & rightF){ if(RightF::HasFaceQuality3()) Q3() = rightF.cQ3();T::ImportData(rightF);} + inline void Alloc(const int & ns){T::Alloc(ns);} + inline void Dealloc(){T::Dealloc();} + static bool HasFaceQuality3() { return true; } + static bool HasFaceQuality3Occ() { return true; } + static void Name(std::vector & name){name.push_back(std::string("Quality3"));T::Name(name);} +private: + Quality3Type _quality; +}; + +template class Quality3s: public Quality3 { +public: static void Name(std::vector & name){name.push_back(std::string("Quality3s"));T::Name(name);} +}; +template class Quality3f: public Quality3 { +public: static void Name(std::vector & name){name.push_back(std::string("Quality3f"));T::Name(name);} +}; +template class Quality3d: public Quality3 { +public: static void Name(std::vector & name){name.push_back(std::string("Quality3d"));T::Name(name);} +}; /*-------------------------- INCREMENTAL MARK ----------------------------------------*/ template class Mark: public T {