removed unnecessary edge mesh template from remesher
This commit is contained in:
parent
f74a877891
commit
64a40f10c6
|
@ -51,7 +51,34 @@
|
||||||
namespace vcg {
|
namespace vcg {
|
||||||
namespace tri {
|
namespace tri {
|
||||||
|
|
||||||
template <class MeshType, class EdgeMeshType = MeshType>
|
class VoroEdgeMeshAux
|
||||||
|
{
|
||||||
|
class EmEdgeType;
|
||||||
|
class EmVertexType;
|
||||||
|
class EUsedTypes : public vcg::UsedTypes<vcg::Use<EmVertexType>::AsVertexType,
|
||||||
|
vcg::Use<EmEdgeType>::AsEdgeType> {};
|
||||||
|
class EmVertexType : public vcg::Vertex<EUsedTypes
|
||||||
|
, vcg::vertex::Coord3d
|
||||||
|
, vcg::vertex::BitFlags
|
||||||
|
, vcg::vertex::VEAdj> {};
|
||||||
|
class EmEdgeType : public vcg::Edge<EUsedTypes
|
||||||
|
, vcg::edge::VertexRef
|
||||||
|
, vcg::edge::BitFlags
|
||||||
|
, vcg::edge::EEAdj
|
||||||
|
, vcg::edge::VEAdj> {};
|
||||||
|
public:
|
||||||
|
class EdgeMeshType : public vcg::tri::TriMesh<std::vector<EmVertexType>, std::vector<EmEdgeType> >
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
~EdgeMeshType()
|
||||||
|
{
|
||||||
|
this->Clear();
|
||||||
|
this->ClearAttributes();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class MeshType>
|
||||||
class Remesher
|
class Remesher
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -71,8 +98,9 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
typedef face::Pos<FaceType> PosType;
|
typedef face::Pos<FaceType> PosType;
|
||||||
|
|
||||||
|
typedef typename VoroEdgeMeshAux::EdgeMeshType EdgeMeshType;
|
||||||
|
|
||||||
/// \brief splitCC split the provided mesh into connected components.
|
/// \brief splitCC split the provided mesh into connected components.
|
||||||
/// \param mesh the inputMesh.
|
/// \param mesh the inputMesh.
|
||||||
/// \return the vector of connected components (meshes) for the input model
|
/// \return the vector of connected components (meshes) for the input model
|
||||||
|
@ -115,6 +143,9 @@ public:
|
||||||
UpdateTopology<Mesh>::FaceFace(original);
|
UpdateTopology<Mesh>::FaceFace(original);
|
||||||
UpdateFlags<Mesh>::FaceBorderFromFF(original);
|
UpdateFlags<Mesh>::FaceBorderFromFF(original);
|
||||||
UpdateFlags<Mesh>::VertexBorderFromFaceAdj(original);
|
UpdateFlags<Mesh>::VertexBorderFromFaceAdj(original);
|
||||||
|
|
||||||
|
RequireFFAdjacency(original);
|
||||||
|
RequireVFAdjacency(original);
|
||||||
|
|
||||||
if (Clean<Mesh>::CountNonManifoldEdgeFF(original) > 0)
|
if (Clean<Mesh>::CountNonManifoldEdgeFF(original) > 0)
|
||||||
{
|
{
|
||||||
|
@ -344,7 +375,6 @@ protected:
|
||||||
static inline void ExtractMeshBorders(Mesh & mesh, EdgeMeshType & sides)
|
static inline void ExtractMeshBorders(Mesh & mesh, EdgeMeshType & sides)
|
||||||
{
|
{
|
||||||
RequireFFAdjacency(mesh);
|
RequireFFAdjacency(mesh);
|
||||||
RequireVFAdjacency(mesh);
|
|
||||||
|
|
||||||
// clean the edge mesh containing the borders
|
// clean the edge mesh containing the borders
|
||||||
sides.Clear();
|
sides.Clear();
|
||||||
|
@ -686,9 +716,9 @@ protected:
|
||||||
std::vector<CoordType> & sampleVec;
|
std::vector<CoordType> & sampleVec;
|
||||||
std::vector<bool> & fixedVec;
|
std::vector<bool> & fixedVec;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
|
};
|
||||||
} // end namespace tri
|
} // end namespace tri
|
||||||
} // end namespace vcg
|
} // end namespace vcg
|
||||||
|
|
||||||
#endif // REMESHER_H
|
#endif _VCGLIB_VORONOI_REMESHER_H
|
||||||
|
|
Loading…
Reference in New Issue