Moved SurfacePatchRenderable to main application.

This commit is contained in:
David Williams
2008-02-04 19:30:57 +00:00
parent d2c87f7bf7
commit 1e3904098a
6 changed files with 5 additions and 259 deletions

View File

@ -8,12 +8,13 @@
#include "IntegralVector3.h"
#include "SurfaceTypes.h"
#include "SurfaceVertex.h"
#include "TypeDef.h"
#include "VolumeIterator.h"
namespace Ogre
{
class IndexedSurfacePatch
class VOXEL_SCENE_MANAGER_API IndexedSurfacePatch
{
public:
IndexedSurfacePatch(bool allowDuplicateVertices);

View File

@ -24,7 +24,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "Constants.h"
#include "IndexedSurfacePatch.h"
#include "SurfacePatchRenderable.h"
#include "SurfaceTriangle.h"
//#include "AbstractSurfacePatch.h"
#include "TypeDef.h"

View File

@ -1,56 +0,0 @@
#ifndef __SurfacePatchRenderable_H__
#define __SurfacePatchRenderable_H__
#include "Ogre.h"
#include <vector>
//#include "AbstractSurfacePatch.h"
//#include "SurfaceTriangle.h"
//#include "SurfaceVertex.h"
#include "IndexedSurfacePatch.h"
namespace Ogre
{
//IDEA - If profiling identifies this class as a bottleneck, we could implement a memory pooling system.
//All buffers could be powers of two, and we get the smallest one which is big enough for our needs.
//See http://www.ogre3d.org/wiki/index.php/DynamicGrowingBuffers
class VOXEL_SCENE_MANAGER_API SurfacePatchRenderable : public SimpleRenderable
{
public:
SurfacePatchRenderable(const String& name);
~SurfacePatchRenderable(void);
void setInitialSurfacePatch(IndexedSurfacePatch* patchToRender, const String& material = "BaseWhiteNoLighting");
void updateWithNewSurfacePatch(IndexedSurfacePatch* patchToRender);
void setGeometry(IndexedSurfacePatch* patchToRender);
Real getSquaredViewDepth(const Camera *cam) const;
Real getBoundingRadius(void) const;
virtual const String& getMovableType(void) const;
protected:
//void getWorldTransforms(Matrix4 *xform) const;
const Quaternion &getWorldOrientation(void) const;
const Vector3 &getWorldPosition(void) const;
};
/** Factory object for creating Light instances */
class VOXEL_SCENE_MANAGER_API SurfacePatchRenderableFactory : public MovableObjectFactory
{
protected:
MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params);
public:
SurfacePatchRenderableFactory() {}
~SurfacePatchRenderableFactory() {}
static String FACTORY_TYPE_NAME;
const String& getType(void) const;
void destroyInstance( MovableObject* obj);
};
}
#endif /* __SurfacePatchRenderable_H__ */

View File

@ -20,6 +20,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#ifndef __SurfaceVertex_H__
#define __SurfaceVertex_H__
#include "TypeDef.h"
#include "OgrePrerequisites.h"
#include "OgreVector3.h"
@ -28,7 +30,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
namespace Ogre
{
class SurfaceVertex
class VOXEL_SCENE_MANAGER_API SurfaceVertex
{
public:
SurfaceVertex();