re-Added to all the data members of vertex the const access member
This commit is contained in:
parent
fca284d27c
commit
3fb4e6d061
vcg/simplex/vertex
|
@ -147,8 +147,9 @@ template <class A, class T> class Coord: public T {
|
|||
public:
|
||||
typedef A CoordType;
|
||||
typedef typename A::ScalarType ScalarType;
|
||||
inline CoordType &P() { return _coord; }
|
||||
inline CoordType cP() const { return _coord; }
|
||||
inline const CoordType &P() const { return _coord; }
|
||||
inline CoordType &P() { return _coord; }
|
||||
inline CoordType cP() const { return _coord; }
|
||||
|
||||
template < class RightValueType>
|
||||
void ImportData(const RightValueType & rVert ) { if(RightValueType::HasCoord()) P().Import(rVert.cP()); T::ImportData( rVert); }
|
||||
|
@ -174,8 +175,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
template <class A, class T> class Normal: public T {
|
||||
public:
|
||||
typedef A NormalType;
|
||||
inline NormalType &N() { return _norm; }
|
||||
inline NormalType cN() const { return _norm; }
|
||||
inline const NormalType &N() const { return _norm; }
|
||||
inline NormalType &N() { return _norm; }
|
||||
inline NormalType cN() const { return _norm; }
|
||||
template < class RightValueType>
|
||||
void ImportData(const RightValueType & rVert ){
|
||||
if(RightValueType::HasNormal()) N().Import(rVert.cN());
|
||||
|
@ -207,8 +209,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
|
||||
template <class T> class Mark: public T {
|
||||
public:
|
||||
inline int cIMark() const { return _imark;}
|
||||
inline int &IMark() { return _imark;}
|
||||
inline const int &IMark() const { return _imark;}
|
||||
inline int &IMark() { return _imark;}
|
||||
inline int cIMark() const { return _imark;}
|
||||
static bool HasMark() { return true; }
|
||||
inline void InitIMark() { _imark = 0; }
|
||||
template < class RightValueType>
|
||||
|
@ -230,8 +233,9 @@ public:
|
|||
template <class A, class TT> class TexCoord: public TT {
|
||||
public:
|
||||
typedef A TexCoordType;
|
||||
TexCoordType &T() { return _t; }
|
||||
TexCoordType cT() const { return _t; }
|
||||
const TexCoordType &T() const { return _t; }
|
||||
TexCoordType &T() { return _t; }
|
||||
TexCoordType cT() const { return _t; }
|
||||
template < class RightValueType>
|
||||
void ImportData(const RightValueType & rVert ) { if(RightValueType::HasTexCoord()) T() = rVert.cT(); TT::ImportData( rVert); }
|
||||
static bool HasTexCoord() { return true; }
|
||||
|
@ -261,8 +265,9 @@ template <class T> class BitFlags: public T {
|
|||
public:
|
||||
BitFlags(){_flags=0;}
|
||||
typedef int FlagType;
|
||||
inline int &Flags() {return _flags; }
|
||||
inline int cFlags() const {return _flags; }
|
||||
inline const int &Flags() const {return _flags; }
|
||||
inline int &Flags() {return _flags; }
|
||||
inline int cFlags() const {return _flags; }
|
||||
template < class RightValueType>
|
||||
void ImportData(const RightValueType & rVert ) { if(RightValueType::HasFlags()) Flags() = rVert.cFlags(); T::ImportData( rVert); }
|
||||
static bool HasFlags() { return true; }
|
||||
|
@ -283,8 +288,9 @@ template <class A, class T> class Color: public T {
|
|||
public:
|
||||
Color():_color(vcg::Color4b::White) {}
|
||||
typedef A ColorType;
|
||||
inline ColorType &C() { return _color; }
|
||||
inline ColorType cC() const { return _color; }
|
||||
inline const ColorType &C() const { return _color; }
|
||||
inline ColorType &C() { return _color; }
|
||||
inline ColorType cC() const { return _color; }
|
||||
template < class RightValueType>
|
||||
void ImportData(const RightValueType & rVert ) { if(RightValueType::HasColor()) C() = rVert.cC(); T::ImportData( rVert); }
|
||||
static bool HasColor() { return true; }
|
||||
|
@ -310,8 +316,9 @@ The Quality Component is a generic place for storing a float. The term 'quality'
|
|||
template <class A, class TT> class Quality: public TT {
|
||||
public:
|
||||
typedef A QualityType;
|
||||
inline QualityType &Q() { return _quality; }
|
||||
inline QualityType cQ() const {return _quality; }
|
||||
inline const QualityType &Q() const { return _quality; }
|
||||
inline QualityType &Q() { return _quality; }
|
||||
inline QualityType cQ() const {return _quality; }
|
||||
template < class RightValueType>
|
||||
void ImportData(const RightValueType & rVert ) { if(RightValueType::HasQuality()) Q() = rVert.cQ(); TT::ImportData( rVert); }
|
||||
static bool HasQuality() { return true; }
|
||||
|
@ -340,10 +347,12 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
public:
|
||||
typedef Point2<A> CurvatureType;
|
||||
typedef typename CurvatureType::ScalarType ScalarType;
|
||||
ScalarType &Kh() { return _hk[0];}
|
||||
ScalarType &Kg() { return _hk[1];}
|
||||
ScalarType cKh() const { return _hk[0];}
|
||||
ScalarType cKg() const { return _hk[1];}
|
||||
const ScalarType &Kh() const { return _hk[0];}
|
||||
const ScalarType &Kg() const { return _hk[1];}
|
||||
ScalarType &Kh() { return _hk[0];}
|
||||
ScalarType &Kg() { return _hk[1];}
|
||||
ScalarType cKh() const { return _hk[0];}
|
||||
ScalarType cKg() const { return _hk[1];}
|
||||
|
||||
static bool HasCurvature() { return true; }
|
||||
static bool IsCurvatureEnabled(typename TT::VertexType *) { return true; }
|
||||
|
@ -368,10 +377,12 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
public:
|
||||
typedef CurvatureDirBaseType<float> CurvatureDirType;
|
||||
|
||||
Point3f &PD1() { static Point3f dummy(0,0,0); return dummy;}
|
||||
Point3f &PD2() { static Point3f dummy(0,0,0); return dummy;}
|
||||
Point3f cPD1() const { static Point3f dummy(0,0,0); return dummy;}
|
||||
Point3f cPD2() const { static Point3f dummy(0,0,0); return dummy;}
|
||||
const Point3f &PD1() const { static Point3f dummy(0,0,0); return dummy;}
|
||||
const Point3f &PD2() const { static Point3f dummy(0,0,0); return dummy;}
|
||||
Point3f &PD1() { static Point3f dummy(0,0,0); return dummy;}
|
||||
Point3f &PD2() { static Point3f dummy(0,0,0); return dummy;}
|
||||
Point3f cPD1() const { static Point3f dummy(0,0,0); return dummy;}
|
||||
Point3f cPD2() const { static Point3f dummy(0,0,0); return dummy;}
|
||||
|
||||
float &K1() { static float dummy(0);assert(0);return dummy;}
|
||||
float &K2() { static float dummy(0);assert(0);return dummy;}
|
||||
|
@ -435,8 +446,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
template <class A, class TT> class Radius: public TT {
|
||||
public:
|
||||
typedef A RadiusType;
|
||||
RadiusType &R() { return _radius; }
|
||||
RadiusType cR() const {return _radius; }
|
||||
const RadiusType &R() const { return _radius; }
|
||||
RadiusType &R() { return _radius; }
|
||||
RadiusType cR() const {return _radius; }
|
||||
template < class RightValueType>
|
||||
void ImportData(const RightValueType & rVert ) { if(RightValueType::HasRadius()) R() = rVert.cR(); TT::ImportData( rVert); }
|
||||
static bool HasRadius() { return true; }
|
||||
|
|
|
@ -305,8 +305,9 @@ public:
|
|||
static bool HasNormal() { return true; }
|
||||
static bool HasNormalOcf() { return true; }
|
||||
|
||||
NormalType &N() { assert((*this).Base().NormalEnabled); return (*this).Base().NV[(*this).Index()]; }
|
||||
NormalType cN() const { assert((*this).Base().NormalEnabled); return (*this).Base().NV[(*this).Index()]; }
|
||||
const NormalType &N() const { assert((*this).Base().NormalEnabled); return (*this).Base().NV[(*this).Index()]; }
|
||||
NormalType &N() { assert((*this).Base().NormalEnabled); return (*this).Base().NV[(*this).Index()]; }
|
||||
NormalType cN() const { assert((*this).Base().NormalEnabled); return (*this).Base().NV[(*this).Index()]; }
|
||||
|
||||
template <class LeftV>
|
||||
void ImportData(const LeftV & leftV){
|
||||
|
@ -324,8 +325,9 @@ template <class T> class Normal3dOcf: public NormalOcf<vcg::Point3d, T> {public:
|
|||
template <class A, class T> class ColorOcf: public T {
|
||||
public:
|
||||
typedef A ColorType;
|
||||
ColorType &C() { assert((*this).Base().ColorEnabled); return (*this).Base().CV[(*this).Index()]; }
|
||||
ColorType cC() const { assert((*this).Base().ColorEnabled); return (*this).Base().CV[(*this).Index()]; }
|
||||
const ColorType &C() const { assert((*this).Base().ColorEnabled); return (*this).Base().CV[(*this).Index()]; }
|
||||
ColorType &C() { assert((*this).Base().ColorEnabled); return (*this).Base().CV[(*this).Index()]; }
|
||||
ColorType cC() const { assert((*this).Base().ColorEnabled); return (*this).Base().CV[(*this).Index()]; }
|
||||
template <class LeftV>
|
||||
void ImportData(const LeftV & leftV)
|
||||
{
|
||||
|
@ -347,8 +349,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
template <class A, class T> class QualityOcf: public T {
|
||||
public:
|
||||
typedef A QualityType;
|
||||
QualityType &Q() { assert((*this).Base().QualityEnabled); return (*this).Base().QV[(*this).Index()]; }
|
||||
QualityType cQ() const { assert((*this).Base().QualityEnabled); return (*this).Base().QV[(*this).Index()]; }
|
||||
const QualityType &Q() const { assert((*this).Base().QualityEnabled); return (*this).Base().QV[(*this).Index()]; }
|
||||
QualityType &Q() { assert((*this).Base().QualityEnabled); return (*this).Base().QV[(*this).Index()]; }
|
||||
QualityType cQ() const { assert((*this).Base().QualityEnabled); return (*this).Base().QV[(*this).Index()]; }
|
||||
template <class LeftV>
|
||||
void ImportData(const LeftV & leftV)
|
||||
{
|
||||
|
@ -370,8 +373,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
template <class A, class TT> class TexCoordOcf: public TT {
|
||||
public:
|
||||
typedef A TexCoordType;
|
||||
TexCoordType &T() { assert((*this).Base().TexCoordEnabled); return (*this).Base().TV[(*this).Index()]; }
|
||||
TexCoordType cT() const { assert((*this).Base().TexCoordEnabled); return (*this).Base().TV[(*this).Index()]; }
|
||||
const TexCoordType &T() const { assert((*this).Base().TexCoordEnabled); return (*this).Base().TV[(*this).Index()]; }
|
||||
TexCoordType &T() { assert((*this).Base().TexCoordEnabled); return (*this).Base().TV[(*this).Index()]; }
|
||||
TexCoordType cT() const { assert((*this).Base().TexCoordEnabled); return (*this).Base().TV[(*this).Index()]; }
|
||||
template < class LeftV>
|
||||
void ImportData(const LeftV & leftV)
|
||||
{
|
||||
|
@ -392,8 +396,9 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
template <class T> class MarkOcf: public T {
|
||||
public:
|
||||
typedef int MarkType;
|
||||
inline int &IMark() { assert((*this).Base().MarkEnabled); return (*this).Base().MV[(*this).Index()]; }
|
||||
inline int cIMark() const { assert((*this).Base().MarkEnabled); return (*this).Base().MV[(*this).Index()]; }
|
||||
inline const int &IMark() const { assert((*this).Base().MarkEnabled); return (*this).Base().MV[(*this).Index()]; }
|
||||
inline int &IMark() { assert((*this).Base().MarkEnabled); return (*this).Base().MV[(*this).Index()]; }
|
||||
inline int cIMark() const { assert((*this).Base().MarkEnabled); return (*this).Base().MV[(*this).Index()]; }
|
||||
|
||||
template <class LeftV>
|
||||
void ImportData(const LeftV & leftV)
|
||||
|
@ -499,8 +504,9 @@ public:
|
|||
typedef A RadiusType;
|
||||
typedef RadiusType ScalarType;
|
||||
|
||||
RadiusType &R() { assert((*this).Base().RadiusEnabled); return (*this).Base().RadiusV[(*this).Index()];}
|
||||
RadiusType cR() const { assert((*this).Base().RadiusEnabled); return (*this).Base().RadiusV[(*this).Index()];}
|
||||
const RadiusType &R() const { assert((*this).Base().RadiusEnabled); return (*this).Base().RadiusV[(*this).Index()];}
|
||||
RadiusType &R() { assert((*this).Base().RadiusEnabled); return (*this).Base().RadiusV[(*this).Index()];}
|
||||
RadiusType cR() const { assert((*this).Base().RadiusEnabled); return (*this).Base().RadiusV[(*this).Index()];}
|
||||
|
||||
template <class LeftV>
|
||||
void ImportData(const LeftV & leftV)
|
||||
|
|
Loading…
Reference in New Issue