diff --git a/vcg/simplex/faceplus/component_occ.h b/vcg/simplex/faceplus/component_occ.h index 7cec4750..d22b4c42 100644 --- a/vcg/simplex/faceplus/component_occ.h +++ b/vcg/simplex/faceplus/component_occ.h @@ -24,6 +24,9 @@ History $Log: not supported by cvs2svn $ +Revision 1.2 2005/10/18 14:27:22 ganovelli +EdgePLaneType added (_RT) + Revision 1.1 2005/10/15 16:23:39 ganovelli Working release (compilata solo su MSVC), component_occ è migrato da component_opt @@ -47,6 +50,30 @@ compare with OCF(Optional Component Fast) namespace vcg { namespace face { + ///*-------------------------- WedgeTextureOcc ----------------------------------------*/ + + template class WedgeTextureOcc: public T { + public: + typedef A WedgeTextureType; + WedgeTextureType &N() {return CAT< vector_occ,WedgeTextureType>::Instance()->Get((FaceType*)this);} + static bool HasWedgeTexture() { return true; } + static bool HasWedgeTextureOcc() { return true; } + }; + + template class WedgeTexturefOcc: public WedgeTextureOcc, T> {}; + + ///*-------------------------- FACEINFO ----------------------------------------*/ + + template class InfoOccBase: public T { + public: + typedef A InfoType; + InfoType &N() {return CAT< vector_occ,InfoType>::Instance()->Get((FaceType*)this);} + static bool HasInfo() { return true; } + static bool HasInfoOcc() { return true; } + }; + + template class InfoOcc: public InfoOccBase {}; + ///*-------------------------- NORMAL ----------------------------------------*/ template class NormalOcc: public T { @@ -112,7 +139,8 @@ struct FFAdjTypeSup { template class FFAdjOccBase: public T { public: - typedef A FFAdjType; +// typedef A FFAdjType; + typedef FFAdjTypeSup FFAdjType; typename T::FacePointer &FFp(const int j) { return (CAT< vector_occ,FFAdjTypeSup >::Instance()->Get((FaceType*)this))._ffp[j];} @@ -126,6 +154,10 @@ public: char &FFi(const int j) { return (CAT< vector_occ,FFAdjTypeSup >::Instance()->Get((FaceType*)this))._ffi[j];} + char cFFi(const int j) const{ + return (CAT< vector_occ,FFAdjTypeSup >::Instance()->Get((FaceType*)this ))._ffi[j]; + } + static bool HasFFAdjacency() { return true; } static bool HasFFAdjacencyOcc() { return true; }