Work on mesh decimation.

This commit is contained in:
David Williams
2007-09-07 23:13:10 +00:00
parent 49846fa5d9
commit c2194378cd
11 changed files with 248 additions and 32 deletions

View File

@ -5,28 +5,36 @@
namespace Ogre
{
SurfaceEdge::SurfaceEdge()
:hasOtherHalfEdge(false)
{
}
bool operator == (const SurfaceEdge& lhs, const SurfaceEdge& rhs)
{
return
(
(lhs.target == rhs.target) &&
(lhs.triangle == rhs.triangle)
);
}
std::string SurfaceEdge::toString(void)
{
std::stringstream ss;
ss << "SurfaceEdge: Target Vertex = " << target->toString();
return ss.str();
}
bool operator < (const SurfaceEdge& lhs, const SurfaceEdge& rhs)
bool operator == (const SurfaceEdge& lhs, const SurfaceEdge& rhs)
{
return
(
(lhs.target == rhs.target) &&
(lhs.triangle == rhs.triangle)
);
}
bool operator < (const SurfaceEdge& lhs, const SurfaceEdge& rhs)
{
if(lhs.target == rhs.target)
{
if(lhs.target == rhs.target)
if(lhs.triangle == rhs.triangle)
{
if(lhs.triangle == rhs.triangle)
{
return false;
}
return (*(lhs.triangle) < *(rhs.triangle));
return false;
}
return (*(lhs.target) < *(rhs.target));
return (*(lhs.triangle) < *(rhs.triangle));
}
return (*(lhs.target) < *(rhs.target));
}
}