Cleaning up decimation, moving to sets.
This commit is contained in:
parent
42e4526498
commit
cabc988625
@ -35,6 +35,9 @@ namespace Ogre
|
||||
{
|
||||
public:
|
||||
|
||||
friend bool operator == (const SurfaceEdge& lhs, const SurfaceEdge& rhs);
|
||||
friend bool operator < (const SurfaceEdge& lhs, const SurfaceEdge& rhs);
|
||||
|
||||
//int crud;
|
||||
|
||||
SurfaceVertexIterator target;
|
||||
@ -52,10 +55,7 @@ namespace Ogre
|
||||
std::string toString(void);
|
||||
|
||||
bool isDegenerate(void);
|
||||
};
|
||||
|
||||
bool operator == (const SurfaceEdge& lhs, const SurfaceEdge& rhs);
|
||||
bool operator < (const SurfaceEdge& lhs, const SurfaceEdge& rhs);
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -34,16 +34,22 @@ namespace Ogre
|
||||
class SurfaceTriangle
|
||||
{
|
||||
public:
|
||||
|
||||
SurfaceEdgeIterator edge;
|
||||
|
||||
SurfaceTriangle();
|
||||
|
||||
friend bool operator == (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs);
|
||||
friend bool operator < (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs);
|
||||
|
||||
const SurfaceEdgeIterator& getEdge(void) const;
|
||||
|
||||
void setEdge(const SurfaceEdgeIterator& edgeToSet);
|
||||
|
||||
//std::string toString(void);
|
||||
|
||||
private:
|
||||
SurfaceEdgeIterator edge;
|
||||
};
|
||||
|
||||
bool operator == (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs);
|
||||
bool operator < (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs);
|
||||
|
||||
|
||||
//bool operator < (const SurfaceTriangleIterator& lhs, const SurfaceTriangleIterator& rhs);
|
||||
}
|
||||
|
@ -15,9 +15,8 @@ namespace Ogre
|
||||
{
|
||||
return
|
||||
(
|
||||
(lhs.target == rhs.target) &&
|
||||
//(lhs.triangle == rhs.triangle)
|
||||
(lhs.otherHalfEdge == rhs.otherHalfEdge)
|
||||
((*lhs.target) == (*rhs.target)) &&
|
||||
((*lhs.otherHalfEdge->target) == (*rhs.otherHalfEdge->target))
|
||||
);
|
||||
}
|
||||
|
||||
@ -28,14 +27,16 @@ namespace Ogre
|
||||
|
||||
bool operator < (const SurfaceEdge& lhs, const SurfaceEdge& rhs)
|
||||
{
|
||||
if(lhs.target == rhs.target)
|
||||
{
|
||||
if(lhs.otherHalfEdge->target == rhs.otherHalfEdge->target)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return (*(lhs.otherHalfEdge->target) < *(rhs.otherHalfEdge->target));
|
||||
}
|
||||
return (*(lhs.target) < *(rhs.target));
|
||||
if ((*lhs.target) < (*rhs.target))
|
||||
return true;
|
||||
if ((*rhs.target) < (*lhs.target))
|
||||
return false;
|
||||
|
||||
if ((*lhs.otherHalfEdge->target) < (*rhs.otherHalfEdge->target))
|
||||
return true;
|
||||
if ((*rhs.otherHalfEdge->target) < (*lhs.otherHalfEdge->target))
|
||||
return false;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ namespace Ogre
|
||||
|
||||
SurfaceTriangle triangle;
|
||||
|
||||
triangle.edge = v0v1Iter;
|
||||
triangle.setEdge(v0v1Iter);
|
||||
|
||||
//m_listTriangles.push_back(triangle);
|
||||
//SurfaceTriangleIterator iterTriangle = m_listTriangles.end();
|
||||
@ -273,7 +273,7 @@ namespace Ogre
|
||||
std::vector<SurfaceVertex>::iterator iterVertex;
|
||||
SurfaceEdgeIterator edgeIter;
|
||||
|
||||
edgeIter = iterTriangles->edge;
|
||||
edgeIter = iterTriangles->getEdge();
|
||||
//LogManager::getSingleton().logMessage("Edge Target " + StringConverter::toString(edgeIter->target->position.x) + "," + StringConverter::toString(edgeIter->target->position.y) + "," + StringConverter::toString(edgeIter->target->position.z));
|
||||
iterVertex = find(vertexData.begin(), vertexData.end(), *(edgeIter->target));
|
||||
//LogManager::getSingleton().logMessage("");
|
||||
|
@ -8,6 +8,16 @@ namespace Ogre
|
||||
{
|
||||
}
|
||||
|
||||
const SurfaceEdgeIterator& SurfaceTriangle::getEdge(void) const
|
||||
{
|
||||
return edge;
|
||||
}
|
||||
|
||||
void SurfaceTriangle::setEdge(const SurfaceEdgeIterator& edgeToSet)
|
||||
{
|
||||
edge = edgeToSet;
|
||||
}
|
||||
|
||||
/*std::string SurfaceTriangle::toString(void)
|
||||
{
|
||||
std::stringstream ss;
|
||||
@ -35,16 +45,11 @@ namespace Ogre
|
||||
|
||||
bool operator == (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs)
|
||||
{
|
||||
return lhs.edge == rhs.edge;
|
||||
return (*lhs.edge == *rhs.edge);
|
||||
}
|
||||
|
||||
bool operator < (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs)
|
||||
{
|
||||
return (*lhs.edge < *rhs.edge);
|
||||
}
|
||||
|
||||
/*bool operator < (const SurfaceTriangleIterator& lhs, const SurfaceTriangleIterator& rhs)
|
||||
{
|
||||
return (*lhs) < (*rhs);
|
||||
}*/
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user