Refactoring work... working on meshes
This commit is contained in:
@ -4,8 +4,7 @@
|
||||
#include <list>
|
||||
#include <vector>
|
||||
|
||||
#include "SurfaceVertex.h"
|
||||
#include "SurfaceTriangle.h"
|
||||
#include "IntegralVector3.h"
|
||||
|
||||
#include "VolumeIterator.h"
|
||||
|
||||
@ -19,6 +18,11 @@ namespace Ogre
|
||||
SOBEL
|
||||
};
|
||||
|
||||
class SurfaceVertex;
|
||||
typedef std::set<SurfaceVertex>::iterator SurfaceVertexIterator;
|
||||
class SurfaceTriangle;
|
||||
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
|
||||
|
||||
class SurfacePatch
|
||||
{
|
||||
public:
|
||||
@ -34,11 +38,15 @@ namespace Ogre
|
||||
|
||||
void computeNormalsFromVolume(VolumeIterator volIter);
|
||||
|
||||
void decimate(void);
|
||||
|
||||
//bool verticesArePlanar(SurfaceVertexIterator iterCurrentVertex);
|
||||
|
||||
UIntVector3 m_v3dOffset;
|
||||
|
||||
private:
|
||||
std::set<SurfaceVertex> m_setVertices;
|
||||
std::list<SurfaceTriangle> m_listTriangles;
|
||||
std::set<SurfaceTriangle> m_setTriangles;
|
||||
|
||||
//std::vector<SurfaceVertex> m_vecVertexData;
|
||||
//std::vector<uint> m_vecIndexData;
|
||||
|
@ -22,30 +22,32 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
#include "OgrePrerequisites.h"
|
||||
|
||||
#include "OgreVector3.h"
|
||||
|
||||
namespace Ogre
|
||||
{
|
||||
class SurfaceVertex;
|
||||
typedef std::set<SurfaceVertex>::iterator SurfaceVertexIterator;
|
||||
class SurfaceTriangle;
|
||||
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
|
||||
|
||||
class SurfaceTriangle
|
||||
{
|
||||
public:
|
||||
|
||||
//FIXME - maybe these should be short?
|
||||
/*ulong v0;
|
||||
ulong v1;
|
||||
ulong v2;*/
|
||||
std::set<SurfaceVertex>::iterator v0;
|
||||
std::set<SurfaceVertex>::iterator v1;
|
||||
std::set<SurfaceVertex>::iterator v2;
|
||||
SurfaceVertexIterator v0;
|
||||
SurfaceVertexIterator v1;
|
||||
SurfaceVertexIterator v2;
|
||||
|
||||
SurfaceTriangle();
|
||||
|
||||
SurfaceTriangle(std::set<SurfaceVertex>::iterator v0ToSet, std::set<SurfaceVertex>::iterator v1ToSet, std::set<SurfaceVertex>::iterator v2ToSet);
|
||||
|
||||
//bool operator < (const SurfaceTriangle& rhs) const;
|
||||
SurfaceTriangle(SurfaceVertexIterator v0ToSet, SurfaceVertexIterator v1ToSet, SurfaceVertexIterator v2ToSet);
|
||||
};
|
||||
|
||||
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
|
||||
|
||||
bool operator == (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs);
|
||||
bool operator < (const SurfaceTriangle& lhs, const SurfaceTriangle& rhs);
|
||||
|
||||
//bool operator < (const SurfaceTriangleIterator& lhs, const SurfaceTriangleIterator& rhs);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -26,28 +26,34 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#include "IntegralVector3.h"
|
||||
|
||||
namespace Ogre
|
||||
{
|
||||
{
|
||||
class SurfaceVertex;
|
||||
typedef std::set<SurfaceVertex>::iterator SurfaceVertexIterator;
|
||||
class SurfaceTriangle;
|
||||
typedef std::set<SurfaceTriangle>::iterator SurfaceTriangleIterator;
|
||||
|
||||
class SurfaceVertex
|
||||
{
|
||||
public:
|
||||
public:
|
||||
UIntVector3 position;
|
||||
Vector3 normal;
|
||||
float alpha;
|
||||
|
||||
std::list<std::list<SurfaceTriangle>::iterator> listTrianglesUsingThisVertex;
|
||||
std::list<SurfaceTriangleIterator> listTrianglesUsingThisVertex;
|
||||
std::list<SurfaceVertexIterator> listConnectedVertices;
|
||||
|
||||
SurfaceVertex();
|
||||
|
||||
SurfaceVertex(UIntVector3 positionToSet);
|
||||
|
||||
SurfaceVertex(UIntVector3 positionToSet, Vector3 normalToSet);
|
||||
|
||||
bool operator==(const SurfaceVertex& rhs) const;
|
||||
|
||||
bool operator < (const SurfaceVertex& rhs) const;
|
||||
SurfaceVertex(UIntVector3 positionToSet, Vector3 normalToSet);
|
||||
};
|
||||
|
||||
bool operator==(const SurfaceVertex& lhs, const SurfaceVertex& rhs);
|
||||
bool operator < (const SurfaceVertex& lhs, const SurfaceVertex& rhs);
|
||||
|
||||
|
||||
//bool operator < (const SurfaceVertexIterator& lhs, const SurfaceVertexIterator& rhs);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user