28#ifndef __Distance_Lod_Strategy_H__
29#define __Distance_Lod_Strategy_H__
A viewpoint from which the scene will be rendered.
static DistanceLodBoxStrategy & getSingleton(void)
Override standard Singleton retrieval.
static DistanceLodBoxStrategy * getSingletonPtr(void)
Override standard Singleton retrieval.
DistanceLodBoxStrategy()
Default constructor.
Real getSquaredDepth(const MovableObject *movableObject, const Ogre::Camera *camera) const
Get the squared depth from camera to the LOD object.
Real getSquaredDepth(const MovableObject *movableObject, const Ogre::Camera *camera) const
Get the squared depth from camera to the LOD object.
static DistanceLodSphereStrategy & getSingleton(void)
Override standard Singleton retrieval.
DistanceLodSphereStrategy()
Default constructor.
static DistanceLodSphereStrategy * getSingletonPtr(void)
Override standard Singleton retrieval.
virtual void sort(Mesh::MeshLodUsageList &meshLodUsageList) const
Sort mesh LOD usage list from greatest to least detail.
bool isReferenceViewEnabled() const
Determine if use of the reference view is enabled.
virtual Real transformBias(Real factor) const
Transform LOD bias so it only needs to be multiplied by the LOD value.
void setReferenceViewEnabled(bool value)
Enables to disables use of the reference view.
virtual ushort getIndex(Real value, const Material::LodValueList &materialLodValueList) const
Get the index of the LOD usage which applies to a given value.
virtual Real getValueImpl(const MovableObject *movableObject, const Camera *camera) const
Compute the LOD value for a given movable object relative to a given camera.
void setReferenceView(Real viewportWidth, Real viewportHeight, Radian fovY)
Sets the reference view upon which the distances were based.
virtual Real transformUserValue(Real userValue) const
Transform user supplied value to internal value.
virtual Real getSquaredDepth(const MovableObject *movableObject, const Ogre::Camera *camera) const =0
Get the squared depth from camera to the LOD object.
DistanceLodStrategy(const String &name)
Default constructor.
virtual bool isSorted(const Mesh::LodValueList &values) const
Determine if the LOD values are sorted from greatest detail to least detail.
virtual ushort getIndex(Real value, const Mesh::MeshLodUsageList &meshLodUsageList) const
Get the index of the LOD usage which applies to a given value.
virtual Real getBaseValue() const
Get the value of the first (highest) level of detail.
bool mReferenceViewEnabled
LodStrategy(const String &name)
Constructor accepting name.
vector< Real >::type LodValueList
distance list used to specify LOD
vector< Real >::type LodValueList
vector< MeshLodUsage >::type MeshLodUsageList
Abstract class defining a movable object in a scene.
Wrapper class which indicates a given angle value is in Radians.
Singleton(const Singleton< DistanceLodSphereStrategy > &)
float Real
Software floating point type.