diff --git a/vcg/simplex/edge/pos.h b/vcg/simplex/edge/pos.h index d3c291cc..fa17e962 100644 --- a/vcg/simplex/edge/pos.h +++ b/vcg/simplex/edge/pos.h @@ -35,11 +35,16 @@ created #ifndef __VCG_EDGE_POS #define __VCG_EDGE_POS -#include namespace vcg { namespace edge { +// Needed Prototypes (pos is include before topology) +template +bool IsEdgeBorder(EDGETYPE const & e, const int j ); +template +bool IsEdgeManifold(EDGETYPE const & e, const int j ); + /* Vertex_Edge: run over the fan of a vertex (no order is specified) */ diff --git a/vcg/simplex/edge/topology.h b/vcg/simplex/edge/topology.h index d1711452..0fe62f1e 100644 --- a/vcg/simplex/edge/topology.h +++ b/vcg/simplex/edge/topology.h @@ -56,6 +56,30 @@ inline bool IsEdgeBorder(EdgeType const & e, const int j ) return true; } +template +void VVStarVE(typename EdgeType::VertexType* vp, std::vector &starVec) +{ + typedef typename EdgeType::VertexType* VertexPointer; + starVec.clear(); + edge::VEIterator vei(vp); + while(!vei.End()) + { + starVec.push_back(vei.V1()); + ++vei; + } +} + +template +void VEStarVE(typename EdgeType::VertexType* vp, std::vector &starVec) +{ + starVec.clear(); + edge::VEIterator vei(vp); + while(!vei.End()) + { + starVec.push_back(vei.E()); + ++vei; + } +} } // end namespace edge } // end namespace vcg