vcglib/vcg/complex
Paolo Cignoni 8a631d48c1 Corrected a significant bug in the reflection types for ocf components.
Changed the basic reflection mechanism: Instead of having a function templates over all the four containers now we template over Trimesh and we rely on a second function templated on face/vert that wants a vector<face> ; this second function only is eventually overloaded by another function that needs a vector_ocf of faces. 

That is Before we had:
- in complex.h

template < class  CType0, class CType1, class CType2 , class CType3>
bool HasPerFaceVFAdjacency   (const TriMesh < CType0, CType1, CType2, CType3> & /*m*/) {return TriMesh < CType0 , CType1, CType2, CType3>::FaceContainer::value_type::HasVFAdjacency();}

- in the component_ocf.h

template < class VertContainerType, class FaceType, class Container1, class Container2  >
		bool HasPerFaceVFAdjacency (const TriMesh < VertContainerType , face::vector_ocf< FaceType >, Container1, Container2 > & m)
	{
	  if(FaceType::HasVFAdjacencyOcf()) return m.face.IsVFAdjacencyEnabled();
	  else return FaceType::FaceType::HasVFAdjacency();
	}


While now we have:
- in complex.h

template < class FaceType  > bool   FaceVectorHasPerFaceVFAdjacency     (const std::vector<FaceType  > &) {  return FaceType::HasVFAdjacency(); }
template < class TriMeshType> bool   HasPerFaceVFAdjacency     (const TriMeshType &m) { return tri::FaceVectorHasPerFaceVFAdjacency  (m.vert); }

- and in component_ocf.h

template < class FaceType >
  bool FaceVectorHasPerFaceVFAdjacency(const face::vector_ocf<FaceType> &fv)
  {
    if(FaceType::HasVFAdjacencyOcf()) return fv.IsVFAdjacencyEnabled();
    else return FaceType::HasVFAdjacency();
  }
2012-03-31 01:16:58 +00:00
..
algorithms clean up the code and used new per face component 2012-03-29 16:33:33 +00:00
tetramesh Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m) 2012-01-20 07:52:22 +00:00
all_types.h separated alltypes from usedtypes. The dummy types for simplex where char, now are derived by 2010-05-19 17:05:29 +00:00
allocate.h added a few security assert on deletion of simplexes that you are actually deleting objects that belongs to the given mesh 2012-03-30 23:43:04 +00:00
append.h corrected bug in the ImportVertexAdj Topology must be copied only if meaningful. 2012-01-18 11:27:07 +00:00
complex.h Corrected a significant bug in the reflection types for ocf components. 2012-03-31 01:16:58 +00:00
used_types.h definition of USedTypes changed to ensure that MeshType::FaceType is the same as VertexType::FaceType (begin Vertex and Face any type among Vertex,Face,Edge,HEdge). 2010-06-18 07:53:21 +00:00