Refactoring work... working on meshes
This commit is contained in:
@ -15,10 +15,9 @@ namespace Ogre
|
||||
SurfacePatch();
|
||||
~SurfacePatch();
|
||||
|
||||
void addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2);
|
||||
void endDefinition(void);
|
||||
|
||||
/*const std::vector<SurfaceVertex> getVertexArray();
|
||||
const std::vector<SurfaceTriangle> getTriangleArray();*/
|
||||
void addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2);
|
||||
|
||||
void getVertexAndIndexData(std::vector<SurfaceVertex>& vertexData, std::vector<uint>& indexData);
|
||||
|
||||
@ -28,6 +27,8 @@ namespace Ogre
|
||||
|
||||
std::vector<SurfaceVertex> m_vecVertexData;
|
||||
std::vector<uint> m_vecIndexData;
|
||||
|
||||
uint m_uTrianglesAdded;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -24,10 +24,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
#include "OgreVector3.h"
|
||||
|
||||
#include "SurfaceVertex.h"
|
||||
|
||||
namespace Ogre
|
||||
{
|
||||
class SurfaceVertex;
|
||||
|
||||
class SurfaceTriangle
|
||||
{
|
||||
public:
|
||||
@ -40,16 +40,11 @@ namespace Ogre
|
||||
std::list<SurfaceVertex>::iterator v1;
|
||||
std::list<SurfaceVertex>::iterator v2;
|
||||
|
||||
SurfaceTriangle()
|
||||
{
|
||||
}
|
||||
SurfaceTriangle();
|
||||
|
||||
SurfaceTriangle(std::list<SurfaceVertex>::iterator v0ToSet, std::list<SurfaceVertex>::iterator v1ToSet, std::list<SurfaceVertex>::iterator v2ToSet)
|
||||
:v0(v0ToSet)
|
||||
,v1(v1ToSet)
|
||||
,v2(v2ToSet)
|
||||
{
|
||||
}
|
||||
SurfaceTriangle(std::list<SurfaceVertex>::iterator v0ToSet, std::list<SurfaceVertex>::iterator v1ToSet, std::list<SurfaceVertex>::iterator v2ToSet);
|
||||
|
||||
//bool operator < (const SurfaceTriangle& rhs) const;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
namespace Ogre
|
||||
{
|
||||
class SurfaceTriangle;
|
||||
|
||||
class SurfaceVertex
|
||||
{
|
||||
public:
|
||||
@ -33,52 +35,17 @@ namespace Ogre
|
||||
Vector3 normal;
|
||||
float alpha;
|
||||
|
||||
SurfaceVertex()
|
||||
{
|
||||
}
|
||||
std::list<std::list<SurfaceTriangle>::iterator> listTrianglesUsingThisVertex;
|
||||
|
||||
SurfaceVertex(Vector3 positionToSet)
|
||||
:position(positionToSet)
|
||||
{
|
||||
}
|
||||
SurfaceVertex();
|
||||
|
||||
SurfaceVertex(Vector3 positionToSet, Vector3 normalToSet)
|
||||
:position(positionToSet)
|
||||
,normal(normalToSet)
|
||||
{
|
||||
}
|
||||
SurfaceVertex(Vector3 positionToSet);
|
||||
|
||||
bool matchesPosition(const Vector3& rhs) const
|
||||
{
|
||||
//return ((x == rhs.x) && (y == rhs.y) && (z == rhs.z));
|
||||
return ((position - rhs).length() < 0.01);
|
||||
}
|
||||
SurfaceVertex(Vector3 positionToSet, Vector3 normalToSet);
|
||||
|
||||
bool operator < (const SurfaceVertex& rhs) const
|
||||
{
|
||||
if(position.z < rhs.position.z)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(position.y < rhs.position.y)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(position.x < rhs.position.x)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bool operator==(const SurfaceVertex& rhs) const;
|
||||
|
||||
//bool operator < (const SurfaceVertex& rhs) const;
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user