37 #ifndef OCTREESCENEMANAGER_H
38 #define OCTREESCENEMANAGER_H
57 class OctreeIntersectionSceneQuery;
58 class OctreeRaySceneQuery;
59 class OctreeSphereSceneQuery;
60 class OctreeAxisAlignedBoxSceneQuery;
91 const String& getTypeName(
void)
const;
98 virtual SceneNode * createSceneNodeImpl (
void );
105 virtual void destroySceneNode(
const String &name );
110 virtual void _updateSceneGraph(
Camera * cam );
112 virtual void _findVisibleObjects (
Camera * cam,
119 virtual void _alertVisibleObjects(
void );
128 bool onlyShadowCasters);
183 virtual bool setOption(
const String &,
const void * );
188 virtual bool getOption(
const String &,
void * );
193 void clearScene(
void);
227 static unsigned long mColors[ 8 ];
228 static unsigned short mIndexes[ 24 ];
Representation of a ray in space, i.e.
A viewpoint from which the scene will be rendered.
#define _OgreOctreePluginExport
Class encapsulating a standard 4x4 homogeneous matrix.
float Real
Software floating point type.
Specialized viewpoint from which an Octree can be rendered.
~OctreeSceneManagerFactory()
static int intersect_call
SceneManager * createInstance(const String &instanceName)
Create a new instance of a SceneManager.
Manages the organisation and rendering of a 'scene' i.e.
Specialises the SceneQuery class for querying within a sphere.
Octree implementation of RaySceneQuery.
A 3D box aligned with the x/y/z axes.
AxisAlignedBox mBox
Size of the octree.
void initMetaData(void) const
Internal method to initialise the metadata, must be implemented.
Class representing a node in the scene graph.
Octree implementation of AxisAlignedBoxSceneQuery.
list< OctreeNode * >::type NodeList
vector< PlaneBoundedVolume >::type PlaneBoundedVolumeList
Specialized SceneManager that divides the geometry into an octree in order to facilitate spatial quer...
Octree implementation of PlaneBoundedVolumeListSceneQuery.
void setShowBoxes(bool b)
Sets the box visibility flag.
int mNumObjects
Number of rendered objs.
Octree::NodeList mVisible
A sphere primitive, mostly used for bounds checking.
bool mShowBoxes
Boxes visibility flag.
Octree datastructure for managing scene nodes.
list< unsigned long >::type ColorList
Factory for OctreeSceneManager.
list< WireBoundingBox * >::type BoxList
vector< String >::type StringVector
Octree implementation of IntersectionSceneQuery.
Represents a convex volume bounded by planes.
void setLooseOctree(bool b)
void destroyInstance(SceneManager *instance)
Destroy an instance of a SceneManager.
Class to manage the scene object rendering queue.
Specialises the SceneQuery class for querying within an axis aligned box.
OctreeSceneManagerFactory()
int mMaxDepth
Max depth for the tree.
Octree implementation of SphereSceneQuery.
Specialises the SceneQuery class for querying within a plane-bounded volume.
BoxList mBoxes
List of boxes to be rendered.
Separate SceneQuery class to query for pairs of objects which are possibly intersecting one another...
static const String FACTORY_TYPE_NAME
Factory type name.
Octree * mOctree
The root octree.
Specialized SceneNode that is customized for working within an Octree.
Structure collecting together information about the visible objects that have been discovered in a sc...
Specialises the SceneQuery class for querying along a ray.
Class which will create instances of a given SceneManager.