Moved some stuff to the scrapyard

This commit is contained in:
David Williams
2008-01-16 21:35:43 +00:00
parent 2ec6e8fbda
commit bb67aaceb1
7 changed files with 2 additions and 524 deletions

View File

@ -1,26 +0,0 @@
#ifndef __AbstractSurfacePatch_H__
#define __AbstractSurfacePatch_H__
#include "SurfaceTypes.h"
#include "SurfaceVertex.h"
namespace Ogre
{
class AbstractSurfacePatch
{
public:
AbstractSurfacePatch();
virtual ~AbstractSurfacePatch();
SurfaceVertexIterator getVerticesBegin(void);
SurfaceVertexIterator getVerticesEnd(void);
virtual void addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2) = 0;
virtual void fillVertexAndIndexData(std::vector<SurfaceVertex>& vecVertices, std::vector<ushort>& vecIndices) = 0;
protected:
std::set<SurfaceVertex> m_listVertices;
};
}
#endif /* __AbstractSurfacePatch_H__ */

View File

@ -1,54 +0,0 @@
#ifndef __HalfEdgeSurfacePatch_H__
#define __HalfEdgeSurfacePatch_H__
#include <set>
#include <list>
#include "AbstractSurfacePatch.h"
#include "IntegralVector3.h"
#include "SurfaceTypes.h"
#include "VolumeIterator.h"
namespace Ogre
{
class HalfEdgeSurfacePatch : public AbstractSurfacePatch
{
public:
HalfEdgeSurfacePatch();
~HalfEdgeSurfacePatch();
//This allow users of the class to iterate over its contents.
SurfaceEdgeIterator getEdgesBegin(void);
SurfaceEdgeIterator getEdgesEnd(void);
SurfaceTriangleIterator getTrianglesBegin(void);
SurfaceTriangleIterator getTrianglesEnd(void);
//Users of the class might want these for debugging or info purposes.
uint getNoOfEdges(void) const;
uint getNoOfTriangles(void) const;
uint getNoOfVertices(void) const;
bool canRemoveVertexFrom(SurfaceVertexIterator vertexIter, std::list<SurfaceVertexIterator> listConnectedIter, bool isEdge);
std::list<SurfaceVertexIterator> findConnectedVertices(SurfaceVertexIterator vertexIter, bool& isEdge);
uint decimate(void);
void triangulate(std::list<SurfaceVertexIterator> listVertices);
bool isPolygonConvex(std::list<SurfaceVertexIterator> listVertices, Vector3 normal);
void addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2);
void fillVertexAndIndexData(std::vector<SurfaceVertex>& vecVertices, std::vector<ushort>& vecIndices);
private:
std::set<SurfaceTriangle> m_listTriangles;
std::set<SurfaceEdge> m_listEdges;
SurfaceEdgeIterator findEdge(const SurfaceVertexIterator& source, const SurfaceVertexIterator& target);
SurfaceEdgeIterator findOrAddEdge(const SurfaceVertexIterator& source, const SurfaceVertexIterator& target);
SurfaceVertexIterator findOrAddVertex(const SurfaceVertex& vertex);
};
}
#endif /* __HalfEdgeSurfacePatch_H__ */