Refactoring mesh generation code.
This commit is contained in:
@ -4,6 +4,7 @@
|
||||
#include <set>
|
||||
#include <list>
|
||||
|
||||
#include "AbstractSurfacePatch.h"
|
||||
#include "IntegralVector3.h"
|
||||
#include "SurfaceTypes.h"
|
||||
#include "VolumeIterator.h"
|
||||
@ -11,7 +12,7 @@
|
||||
|
||||
namespace Ogre
|
||||
{
|
||||
class SurfacePatch
|
||||
class SurfacePatch : public AbstractSurfacePatch
|
||||
{
|
||||
public:
|
||||
SurfacePatch();
|
||||
@ -21,9 +22,7 @@ namespace Ogre
|
||||
SurfaceEdgeIterator getEdgesBegin(void);
|
||||
SurfaceEdgeIterator getEdgesEnd(void);
|
||||
SurfaceTriangleIterator getTrianglesBegin(void);
|
||||
SurfaceTriangleIterator getTrianglesEnd(void);
|
||||
SurfaceVertexIterator getVerticesBegin(void);
|
||||
SurfaceVertexIterator getVerticesEnd(void);
|
||||
SurfaceTriangleIterator getTrianglesEnd(void);
|
||||
|
||||
//Users of the class might want these for debugging or info purposes.
|
||||
uint getNoOfEdges(void) const;
|
||||
@ -42,8 +41,7 @@ namespace Ogre
|
||||
|
||||
|
||||
|
||||
private:
|
||||
std::set<SurfaceVertex> m_listVertices;
|
||||
private:
|
||||
std::set<SurfaceTriangle> m_listTriangles;
|
||||
std::set<SurfaceEdge> m_listEdges;
|
||||
|
@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#include "MaterialMap.h"
|
||||
#include "SurfacePatchRenderable.h"
|
||||
#include "SurfaceTriangle.h"
|
||||
#include "SurfacePatch.h"
|
||||
#include "AbstractSurfacePatch.h"
|
||||
#include "TypeDef.h"
|
||||
#include "Volume.h"
|
||||
#include "SurfaceVertex.h"
|
||||
@ -81,7 +81,7 @@ namespace Ogre
|
||||
|
||||
void generateLevelVolume(void);
|
||||
|
||||
void generateMeshDataForRegion(uint regionX, uint regionY, uint regionZ, std::map<uchar, SurfacePatch>& result) const;
|
||||
std::map<uchar, AbstractSurfacePatch*> generateMeshDataForRegion(uint regionX, uint regionY, uint regionZ) const;
|
||||
|
||||
void doRegionGrowing(uint xStart, uint yStart, uint zStart, uchar value);
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
#include "Ogre.h"
|
||||
#include <vector>
|
||||
|
||||
#include "SurfacePatch.h"
|
||||
#include "SurfaceTriangle.h"
|
||||
#include "SurfaceVertex.h"
|
||||
#include "AbstractSurfacePatch.h"
|
||||
//#include "SurfaceTriangle.h"
|
||||
//#include "SurfaceVertex.h"
|
||||
|
||||
namespace Ogre
|
||||
{
|
||||
@ -16,11 +16,11 @@ namespace Ogre
|
||||
class SurfacePatchRenderable : public SimpleRenderable
|
||||
{
|
||||
public:
|
||||
SurfacePatchRenderable(SurfacePatch& patchToRender, const String& material = "BaseWhiteNoLighting");
|
||||
SurfacePatchRenderable(AbstractSurfacePatch* patchToRender, const String& material = "BaseWhiteNoLighting");
|
||||
~SurfacePatchRenderable(void);
|
||||
|
||||
void updateWithNewSurfacePatch(SurfacePatch& patchToRender);
|
||||
void setGeometry(SurfacePatch& patchToRender);
|
||||
void updateWithNewSurfacePatch(AbstractSurfacePatch* patchToRender);
|
||||
void setGeometry(AbstractSurfacePatch* patchToRender);
|
||||
|
||||
Real getSquaredViewDepth(const Camera *cam) const;
|
||||
Real getBoundingRadius(void) const;
|
||||
|
@ -1,6 +1,8 @@
|
||||
#ifndef __SurfaceTypes_H__
|
||||
#define __SurfaceTypes_H__
|
||||
|
||||
#include <set>
|
||||
|
||||
namespace Ogre
|
||||
{
|
||||
class SurfaceVertex;
|
||||
|
Reference in New Issue
Block a user