Cleaning up decimation, moving to sets.

This commit is contained in:
David Williams
2007-09-24 23:13:55 +00:00
parent cabc988625
commit c79845f6fd
7 changed files with 87 additions and 40 deletions

View File

@ -29,18 +29,17 @@ namespace Ogre
class SurfaceTriangle;
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
class SurfaceEdge;
typedef std::list<SurfaceEdge>::iterator SurfaceEdgeIterator;
typedef std::set<SurfaceEdge>::iterator SurfaceEdgeIterator;
class SurfaceEdge
{
public:
SurfaceEdge(const SurfaceVertexIterator& targetToSet,const SurfaceVertexIterator& sourceToSet);
friend bool operator == (const SurfaceEdge& lhs, const SurfaceEdge& rhs);
friend bool operator < (const SurfaceEdge& lhs, const SurfaceEdge& rhs);
//int crud;
SurfaceVertexIterator target;
//int crud;
SurfaceTriangleIterator triangle;
@ -55,6 +54,20 @@ namespace Ogre
std::string toString(void);
bool isDegenerate(void);
const SurfaceVertexIterator& getTarget(void)
{
return target;
}
const SurfaceVertexIterator& getSource(void)
{
return source;
}
private:
SurfaceVertexIterator target;
SurfaceVertexIterator source;
};
}

View File

@ -23,7 +23,7 @@ namespace Ogre
class SurfaceTriangle;
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
class SurfaceEdge;
typedef std::list<SurfaceEdge>::iterator SurfaceEdgeIterator;
typedef std::set<SurfaceEdge>::iterator SurfaceEdgeIterator;
class SurfacePatch
{
@ -57,7 +57,7 @@ namespace Ogre
private:
std::set<SurfaceVertex> m_listVertices;
std::set<SurfaceTriangle> m_listTriangles;
std::list<SurfaceEdge> m_listEdges;
std::set<SurfaceEdge> m_listEdges;
//std::vector<SurfaceVertex> m_vecVertexData;
//std::vector<uint> m_vecIndexData;

View File

@ -29,7 +29,7 @@ namespace Ogre
class SurfaceTriangle;
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
class SurfaceEdge;
typedef std::list<SurfaceEdge>::iterator SurfaceEdgeIterator;
typedef std::set<SurfaceEdge>::iterator SurfaceEdgeIterator;
class SurfaceTriangle
{

View File

@ -32,7 +32,7 @@ namespace Ogre
class SurfaceTriangle;
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
class SurfaceEdge;
typedef std::list<SurfaceEdge>::iterator SurfaceEdgeIterator;
typedef std::set<SurfaceEdge>::iterator SurfaceEdgeIterator;
class SurfaceVertex
{