Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# OgreRefApp::CollideCamera Class Reference

A camera which can interact with the world. More...

`#include <OgreRefAppCollideCamera.h>`

Inheritance diagram for OgreRefApp::CollideCamera:

[legend]
List of all members.

## Public Methods

| CollideCamera (const String &name)
Camera * | getRealCamera (void)
| Gets the internal Camera object.
void | _notifyCollided (SceneQuery::WorldFragment *wf, const CollisionInfo &info)
| This method is called automatically if testCollide indicates a real collision.
void | setOrientation (const Quaternion &orientation)
| Sets the orientation of this object.
const Quaternion & | getOrientation (void)
| Gets the current orientation of this object.
void | translate (const Vector3 &d)
| Moves the object along it's local axes.
void | roll (const Radian &angle)
| Rotate the object around the local Z-axis.
void | roll (Real angleunits)
void | pitch (const Radian &angle)
| Rotate the object around the local X-axis.
void | pitch (Real angleunits)
void | yaw (const Radian &angle)
| Rotate the object around the local Y-axis.
void | yaw (Real angleunits)
void | rotate (const Vector3 &axis, const Radian &angle)
| Rotate the object around an arbitrary axis.
void | rotate (const Vector3 &axis, Real angleunits)
void | rotate (const Quaternion &q)
| Rotate the object around an aritrary axis using a Quarternion.
void | setProjectionType (ProjectionType pt)
| Sets the type of projection to use (orthographic or perspective).
ProjectionType | getProjectionType (void) const
| Retrieves info on the type of projection used (orthographic or perspective).
void | setDetailLevel (SceneDetailLevel sd)
| Sets the level of rendering detail required from this camera.
SceneDetailLevel | getDetailLevel (void) const
| Retrieves the level of detail that the camera will render.
void | setDirection (Real x, Real y, Real z)
| Sets the camera's direction vector.
void | setDirection (const Vector3 &vec)
| Sets the camera's direction vector.
Vector3 | getDirection (void) const
void | lookAt (const Vector3 &targetPoint)
| Points the camera at a location in worldspace.
void | lookAt (Real x, Real y, Real z)
| Points the camera at a location in worldspace.
void | setFixedYawAxis (bool useFixed, const Vector3 &fixedAxis=Vector3::UNIT_Y)
| Tells the camera whether to yaw around it's own local Y axis or a fixed axis of choice.
void | setFOVy (const Radian &fovy)
| Sets the Y-dimension Field Of View (FOV) of the camera.
void | setFOVy (Real fovy)
const Radian & | getFOVy (void) const
| Retrieves the cameras Y-dimension Field Of View (FOV).
void | setNearClipDistance (Real nearDist)
| Sets the position of the near clipping plane.
Real | getNearClipDistance (void) const
| Sets the position of the near clipping plane.
void | setFarClipDistance (Real farDist)
| Sets the distance to the far clipping plane.
Real | getFarClipDistance (void) const
| Retrieves the distance from the camera to the far clipping plane.
void | setAspectRatio (Real ratio)
| Sets the aspect ratio for the camera viewport.
Real | getAspectRatio (void) const
| Retreives the current aspect ratio.
const Plane & | getFrustumPlane (FrustumPlane plane)
| Retrieves a specified plane of the frustum.
bool | isVisible (const AxisAlignedBox &bound, FrustumPlane *culledBy=0)
| Tests whether the given container is visible in the Frustum.
bool | isVisible (const Sphere &bound, FrustumPlane *culledBy=0)
| Tests whether the given container is visible in the Frustum.
bool | isVisible (const Vector3 &vert, FrustumPlane *culledBy=0)
| Tests whether the given vertex is visible in the Frustum.
virtual void | setPosition (const Vector3 &vec)
| Sets the position of this object.
virtual void | setPosition (Real x, Real y, Real z)
| Sets the position of this object.
virtual const Vector3 & | getPosition (void)
| Gets the current position of this object.
virtual void | _updateFromDynamics (void)
| Updates the position of this game object from the simulation.
virtual bool | isCollisionEnabled (void)
| Returns whether or not this object is considered for collision.
virtual bool | isDynamicsEnabled (void)
| Returns whether or not this object is physically simulated.
virtual void | setDynamicsDisableThreshold (Real linearSq, Real angularSq, Real overTime)
| Sets the linear and angular velocity thresholds, below which the object will have it's dynamics automatically disabled for performance.
virtual void | setCollisionEnabled (bool enabled)
virtual void | setDynamicsEnabled (bool enabled, bool reEnableOnInteraction=false)
| Sets whether or not this object is physically simulated at this time.
virtual void | setBounceParameters (Real restitutionValue, Real velocityThreshold)
| Sets the 'bounciness' of this object.
virtual Real | getBounceRestitutionValue (void)
| Gets the cefficient of restitution (bounciness) for this object.
virtual Real | getBounceVelocityThreshold (void)
| Gets the bounce velocity threshold for this object.
virtual void | setSoftness (Real softness)
| Sets the softness of this object, which determines how much it is allowed to penetrate other objects.
virtual Real | getSoftness (void)
| Gets the softness factor of this object.
virtual void | setFriction (Real friction)
| Sets the Coulomb frictional coefficient for this object.
virtual Real | getFriction (void)
| Gets the Coulomb frictional coefficient for this object.
virtual void | addForce (const Vector3 &direction, const Vector3 &atPosition=Vector3::ZERO)
| Adds a linear force to this object, in object space, at the position indicated.
virtual void | addForce (Real dir_x, Real dir_y, Real dir_z, Real pos_x=0, Real pos_y=0, Real pos_z=0)
| Adds a linear force to this object, in object space, at the position indicated.
virtual void | addForceWorldSpace (const Vector3 &direction, const Vector3 &atPosition=Vector3::ZERO)
| Adds a linear force to this object, in world space, at the position indicated.
virtual void | addForceWorldSpace (Real dir_x, Real dir_y, Real dir_z, Real pos_x, Real pos_y, Real pos_z)
| Adds a linear force to this object, in world space, at the position indicated.
virtual void | addTorque (const Vector3 &direction)
| Adds rotational force to this object, in object space.
virtual void | addTorque (Real x, Real y, Real z)
| Adds rotational force to this object, in object space.
virtual void | addTorqueWorldSpace (const Vector3 &direction)
| Adds rotational force to this object, in world space.
virtual void | addTorqueWorldSpace (Real x, Real y, Real z)
| Adds rotational force to this object, in world space.
virtual bool | testCollide (ApplicationObject *otherObj)
| Tests to see if there is a detailed collision between this object and the object passed in.
virtual bool | testCollide (SceneQuery::WorldFragment *wf)
| Tests to see if there is a detailed collision between this object and the world fragment passed in.
virtual void | _notifyCollided (ApplicationObject *otherObj, const CollisionInfo &info)
| This method is called automatically if testCollide indicates a real collision.
SceneNode * | getSceneNode (void)
| Gets the SceneNode which is being used to represent this object's position in the OGRE world.
Entity * | getEntity (void)
| Gets the Entity which is being used to represent this object in the OGRE world.
dBody * | getOdeBody (void)
| Gets the ODE body used to represent this object's mass and current velocity.
void | setMassSphere (Real density, Real radius)
| Set the mass parameters of this object to represent a sphere.
void | setMassBox (Real density, const Vector3 &dimensions, const Quaternion &orientation=Quaternion::IDENTITY)
| Set the mass parameters of this object to represent a box.
void | setMassCappedCylinder (Real density, Real length, Real width, const Quaternion &orientation=Quaternion::IDENTITY)
| Set the mass parameters of this object to represent a capped cylinder.
void | setMassExpert (Real mass, const Vector3 center, const Matrix3 inertia)
| Sets the mass parameters manually, use only if you know how!
const dMass * | getOdeMass (void)
| Gets the ODE mass parameters for this object.
void | setLinearVelocity (const Vector3 &vel)
| Sets the current linear velocity of this object.
void | setLinearVelocity (Real x, Real y, Real z)
| Sets the current linear velocity of this object.
const Vector3 & | getLinearVelocity (void)
| Gets the current linear velocity of this object.
const Vector3 & | getAngularVelocity (void)
| Gets the current angular velocity of this object.
void | setAngularVelocity (const Vector3 &vel)
| Sets the current angular velocity of this object.
void | setAngularVelocity (Real x, Real y, Real z)
| Sets the current angular velocity of this object.
virtual void | translate (Real x, Real y, Real z)
| Moves the object along it's local axes.
virtual void | translateWorldSpace (const Vector3 &d)
| Moves the object along the world axes.
virtual void | translateWorldSpace (Real x, Real y, Real z)
| Moves the object along the world axes.

## Protected Types

typedef std::list< dGeom * > | CollisionProxyList
| Collision proxies, must be set up if collision enabled.

## Protected Methods

void | setUp (const String &name)
| Set up.
void | nearDistChanged (void)
| Triggers recacl of collison bounds.
virtual void | updateCollisionProxies (void)
| Internal method for updating the state of the collision proxies.
virtual bool | testCollidePlaneBounds (SceneQuery::WorldFragment *wf)
| Internal method for testing the plane bounded region WorldFragment type.
virtual void | setEntityQueryFlags (void)
| Internal method for updating the query mask.

## Protected Attributes

Camera * | mCamera
| Contained camera.
SceneNode * | mSceneNode
Entity * | mEntity
dBody * | mOdeBody
| Dynamics properties, must be set up by subclasses if dynamics enabled.
dMass | mMass
| Mass parameters.
CollisionProxyList | mCollisionProxies
bool | mDynamicsEnabled
bool | mReenableIfInteractedWith
bool | mCollisionEnabled
Real | mBounceCoeffRestitution
Real | mBounceVelocityThreshold
Real | mSoftness
Real | mFriction
Real | mLinearVelDisableThreshold
Real | mAngularVelDisableThreshold
Real | mDisableTime
Real | mDisableTimeEnd

## Detailed Description

A camera which can interact with the world.

Definition at line 35 of file OgreRefAppCollideCamera.h.

## Member Typedef Documentation

typedef std::list<dGeom*> OgreRefApp::ApplicationObject::CollisionProxyList`[protected, inherited]`

| Collision proxies, must be set up if collision enabled. Definition at line 56 of file OgreRefAppApplicationObject.h.

## Constructor & Destructor Documentation

OgreRefApp::CollideCamera::CollideCamera | ( | const String & | name | ) |

| Definition at line 33 of file OgreRefAppCollideCamera.cpp. References setUp(), and Ogre::String.

## Member Function Documentation

void OgreRefApp::ApplicationObject::_notifyCollided | ( | ApplicationObject * | otherObj,
|  | const CollisionInfo & | info
| ) | `[virtual, inherited]`

| This method is called automatically if testCollide indicates a real collision. Reimplemented in OgreRefApp::Box. Definition at line 531 of file OgreRefAppApplicationObject.cpp. Referenced by OgreRefApp::ApplicationObject::testCollide(), and OgreRefApp::ApplicationObject::testCollidePlaneBounds().

void OgreRefApp::CollideCamera::_notifyCollided | ( | SceneQuery::WorldFragment * | wf,
|  | const CollisionInfo & | info
| ) | `[virtual]`

| This method is called automatically if testCollide indicates a real collision. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 62 of file OgreRefAppCollideCamera.cpp. References OgreRefApp::ApplicationObject::translateWorldSpace().

void OgreRefApp::ApplicationObject::_updateFromDynamics | ( | void |  | ) | `[virtual, inherited]`

Updates the position of this game object from the simulation.

Definition at line 131 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::getAngularVelocity(), OgreRefApp::ApplicationObject::getLinearVelocity(), OgreRefApp::ApplicationObject::mAngularVelDisableThreshold, OgreRefApp::ApplicationObject::mDisableTime, OgreRefApp::ApplicationObject::mDisableTimeEnd, OgreRefApp::ApplicationObject::mDynamicsEnabled, OgreRefApp::ApplicationObject::mLinearVelDisableThreshold, OgreRefApp::ApplicationObject::mOdeBody, OgreRefApp::ApplicationObject::mSceneNode, Ogre::Real, OgreRefApp::ApplicationObject::setDynamicsEnabled(), and OgreRefApp::ApplicationObject::updateCollisionProxies().

void OgreRefApp::ApplicationObject::addForce | ( | Real | dir_x,
|  | Real | dir_y,
|  | Real | dir_z,
|  | Real | pos_x = 0,
|  | Real | pos_y = 0,
|  | Real | pos_z = 0
| ) | `[virtual, inherited]`

Adds a linear force to this object, in object space, at the position indicated.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  dir_x, dir_y, dir_z | The force direction in object coordinates.
  pos_x, pos_y, pos_z | The position at which the force is to be applied, in object coordinates.

Definition at line 245 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mOdeBody, and Ogre::Real.

void OgreRefApp::ApplicationObject::addForce | ( | const Vector3 & | direction,
|  | const Vector3 & | atPosition = Vector3::ZERO
| ) | `[virtual, inherited]`

Adds a linear force to this object, in object space, at the position indicated.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  direction | The force direction in object coordinates.
  atPosition | The position at which the force is to be applied, in object coordinates.

Definition at line 239 of file OgreRefAppApplicationObject.cpp.

void OgreRefApp::ApplicationObject::addForceWorldSpace | ( | Real | dir_x,
|  | Real | dir_y,
|  | Real | dir_z,
|  | Real | pos_x,
|  | Real | pos_y,
|  | Real | pos_z
| ) | `[virtual, inherited]`

Adds a linear force to this object, in world space, at the position indicated.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  dir_x, dir_y, dir_z | The force direction in world coordinates.
  pos_x, pos_y, pos_z | The position at which the force is to be applied, in world coordinates.

Definition at line 260 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mOdeBody, and Ogre::Real.

void OgreRefApp::ApplicationObject::addForceWorldSpace | ( | const Vector3 & | direction,
|  | const Vector3 & | atPosition = Vector3::ZERO
| ) | `[virtual, inherited]`

Adds a linear force to this object, in world space, at the position indicated.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  direction | The force direction in world coordinates.
  atPosition | The position at which the force is to be applied, in world coordinates.

Definition at line 254 of file OgreRefAppApplicationObject.cpp.

void OgreRefApp::ApplicationObject::addTorque | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) | `[virtual, inherited]`

Adds rotational force to this object, in object space.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  x, y, z | The direction of the torque to apply, in object space.

Definition at line 273 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mOdeBody, and Ogre::Real.

void OgreRefApp::ApplicationObject::addTorque | ( | const Vector3 & | direction | ) | `[virtual, inherited]`

Adds rotational force to this object, in object space.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  direction | The direction of the torque to apply, in object space.

Definition at line 268 of file OgreRefAppApplicationObject.cpp.

void OgreRefApp::ApplicationObject::addTorqueWorldSpace | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) | `[virtual, inherited]`

Adds rotational force to this object, in world space.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  x, y, z | The direction of the torque to apply, in world space.

Definition at line 284 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mOdeBody, and Ogre::Real.

void OgreRefApp::ApplicationObject::addTorqueWorldSpace | ( | const Vector3 & | direction | ) | `[virtual, inherited]`

Adds rotational force to this object, in world space.

Remarks:
  All forces are applied, then reset after World::applyDynamics is called.

Parameters:

  direction | The direction of the torque to apply, in world space.

Definition at line 279 of file OgreRefAppApplicationObject.cpp.

const Vector3 & OgreRefApp::ApplicationObject::getAngularVelocity | ( | void |  | ) | `[inherited]`

Gets the current angular velocity of this object.

Remarks:
  Only applicable if dynamics are enabled for this object.

Returns:
  Vector3 representing the angular velocity in units per second around each axis.

Definition at line 672 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::isDynamicsEnabled(), and OgreRefApp::ApplicationObject::mOdeBody.

Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics().

Real OgreRefApp::CollideCamera::getAspectRatio | ( | void |  | ) | const

| Retreives the current aspect ratio. Definition at line 200 of file OgreRefAppCollideCamera.cpp. References mCamera, and Ogre::Real.

Real OgreRefApp::ApplicationObject::getBounceRestitutionValue | ( | void |  | ) | `[virtual, inherited]`

| Gets the cefficient of restitution (bounciness) for this object. Definition at line 552 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mBounceCoeffRestitution, and Ogre::Real. Referenced by OgreRefApp::ApplicationObject::testCollide(), and OgreRefApp::ApplicationObject::testCollidePlaneBounds().

Real OgreRefApp::ApplicationObject::getBounceVelocityThreshold | ( | void |  | ) | `[virtual, inherited]`

| Gets the bounce velocity threshold for this object. Definition at line 557 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mBounceVelocityThreshold, and Ogre::Real. Referenced by OgreRefApp::ApplicationObject::testCollide(), and OgreRefApp::ApplicationObject::testCollidePlaneBounds().

SceneDetailLevel OgreRefApp::CollideCamera::getDetailLevel | ( | void |  | ) | const

| Retrieves the level of detail that the camera will render. Definition at line 127 of file OgreRefAppCollideCamera.cpp. References mCamera, and Ogre::SceneDetailLevel.

Vector3 OgreRefApp::CollideCamera::getDirection | ( | void |  | ) | const

| Definition at line 143 of file OgreRefAppCollideCamera.cpp. References mCamera.

Entity * OgreRefApp::ApplicationObject::getEntity | ( | void |  | ) | `[inherited]`

| Gets the Entity which is being used to represent this object in the OGRE world. Definition at line 295 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mEntity.

Real OgreRefApp::CollideCamera::getFarClipDistance | ( | void |  | ) | const

| Retrieves the distance from the camera to the far clipping plane. Definition at line 190 of file OgreRefAppCollideCamera.cpp. References mCamera, and Ogre::Real.

const Radian & OgreRefApp::CollideCamera::getFOVy | ( | void |  | ) | const

| Retrieves the cameras Y-dimension Field Of View (FOV). Definition at line 169 of file OgreRefAppCollideCamera.cpp. References mCamera.

Real OgreRefApp::ApplicationObject::getFriction | ( | void |  | ) | `[virtual, inherited]`

| Gets the Coulomb frictional coefficient for this object. Definition at line 584 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mFriction, and Ogre::Real. Referenced by OgreRefApp::ApplicationObject::testCollide(), and OgreRefApp::ApplicationObject::testCollidePlaneBounds().

const Plane & OgreRefApp::CollideCamera::getFrustumPlane | ( | FrustumPlane | plane | ) |

Retrieves a specified plane of the frustum.

Remarks:
  Gets a reference to one of the planes which make up the camera frustum, e.g. for clipping purposes.

Definition at line 205 of file OgreRefAppCollideCamera.cpp.

References Ogre::FrustumPlane, and mCamera.

const Vector3 & OgreRefApp::ApplicationObject::getLinearVelocity | ( | void |  | ) | `[inherited]`

Gets the current linear velocity of this object.

Remarks:
  Only applicable if dynamics are enabled for this object.

Returns:
  Vector3 representing the velocity in units per second.

Definition at line 658 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::isDynamicsEnabled(), and OgreRefApp::ApplicationObject::mOdeBody.

Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics().

Real OgreRefApp::CollideCamera::getNearClipDistance | ( | void |  | ) | const

| Sets the position of the near clipping plane. Definition at line 180 of file OgreRefAppCollideCamera.cpp. References mCamera, and Ogre::Real. Referenced by nearDistChanged().

dBody * OgreRefApp::ApplicationObject::getOdeBody | ( | void |  | ) | `[inherited]`

Gets the ODE body used to represent this object's mass and current velocity.

Definition at line 300 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::isDynamicsEnabled(), and OgreRefApp::ApplicationObject::mOdeBody.

Referenced by OgreRefApp::Joint::setAttachments(), OgreRefApp::ApplicationObject::testCollide(), and OgreRefApp::ApplicationObject::testCollidePlaneBounds().

const dMass * OgreRefApp::ApplicationObject::getOdeMass | ( | void |  | ) | `[inherited]`

| Gets the ODE mass parameters for this object. Definition at line 638 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mMass.

const Quaternion & OgreRefApp::CollideCamera::getOrientation | ( | void |  | ) | `[virtual]`

| Gets the current orientation of this object. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 74 of file OgreRefAppCollideCamera.cpp. References mCamera.

const Vector3 & OgreRefApp::ApplicationObject::getPosition | ( | void |  | ) | `[virtual, inherited]`

| Gets the current position of this object. Definition at line 113 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mSceneNode. Referenced by OgreRefApp::ApplicationObject::setDynamicsEnabled(), and OgreRefApp::ApplicationObject::translateWorldSpace().

ProjectionType OgreRefApp::CollideCamera::getProjectionType | ( | void |  | ) | const

| Retrieves info on the type of projection used (orthographic or perspective). Definition at line 117 of file OgreRefAppCollideCamera.cpp. References mCamera, and Ogre::ProjectionType.

Camera* OgreRefApp::CollideCamera::getRealCamera | ( | void |  | ) |

| Gets the internal Camera object. Definition at line 52 of file OgreRefAppCollideCamera.h.

SceneNode * OgreRefApp::ApplicationObject::getSceneNode | ( | void |  | ) | `[inherited]`

| Gets the SceneNode which is being used to represent this object's position in the OGRE world. Definition at line 290 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mSceneNode.

Real OgreRefApp::ApplicationObject::getSoftness | ( | void |  | ) | `[virtual, inherited]`

| Gets the softness factor of this object. Definition at line 567 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mSoftness, and Ogre::Real. Referenced by OgreRefApp::ApplicationObject::testCollide(), and OgreRefApp::ApplicationObject::testCollidePlaneBounds().

bool OgreRefApp::ApplicationObject::isCollisionEnabled | ( | void |  | ) | `[virtual, inherited]`

| Returns whether or not this object is considered for collision. Definition at line 193 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mCollisionEnabled.

bool OgreRefApp::ApplicationObject::isDynamicsEnabled | ( | void |  | ) | `[virtual, inherited]`

Returns whether or not this object is physically simulated.

Remarks:
  Objects which are not physically simulated only move when their SceneNode is manually altered.

Definition at line 198 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mDynamicsEnabled, and OgreRefApp::ApplicationObject::mReenableIfInteractedWith.

Referenced by OgreRefApp::ApplicationObject::getAngularVelocity(), OgreRefApp::ApplicationObject::getLinearVelocity(), OgreRefApp::ApplicationObject::getOdeBody(), OgreRefApp::ApplicationObject::setAngularVelocity(), OgreRefApp::ApplicationObject::setLinearVelocity(), OgreRefApp::ApplicationObject::setOrientation(), OgreRefApp::ApplicationObject::setPosition(), OgreRefApp::ApplicationObject::testCollide(), and OgreRefApp::ApplicationObject::testCollidePlaneBounds().

bool OgreRefApp::CollideCamera::isVisible | ( | const Vector3 & | vert,
|  | FrustumPlane * | culledBy = 0
| ) |

Tests whether the given vertex is visible in the Frustum.

Parameters:

  vert | Vertex to be checked
  culledBy | Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;

Returns:
  If the box was visible, true is returned.

  Otherwise, false is returned.

Definition at line 220 of file OgreRefAppCollideCamera.cpp.

References Ogre::FrustumPlane, and mCamera.

bool OgreRefApp::CollideCamera::isVisible | ( | const Sphere & | bound,
|  | FrustumPlane * | culledBy = 0
| ) |

Tests whether the given container is visible in the Frustum.

Parameters:

  bound | Bounding sphere to be checked
  culledBy | Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;

Returns:
  If the sphere was visible, true is returned.

  Otherwise, false is returned.

Definition at line 215 of file OgreRefAppCollideCamera.cpp.

References Ogre::FrustumPlane, and mCamera.

bool OgreRefApp::CollideCamera::isVisible | ( | const AxisAlignedBox & | bound,
|  | FrustumPlane * | culledBy = 0
| ) |

Tests whether the given container is visible in the Frustum.

Parameters:

  bound | Bounding box to be checked
  culledBy | Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;

Returns:
  If the box was visible, true is returned.

  Otherwise, false is returned.

Definition at line 210 of file OgreRefAppCollideCamera.cpp.

References Ogre::FrustumPlane, and mCamera.

void OgreRefApp::CollideCamera::lookAt | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) |

Points the camera at a location in worldspace.

Remarks:
  This is a helper method to automatically generate the direction vector for the camera, based on it's current position and the supplied look-at point.

Parameters:

  x |
  y |
  z | Co-ordinates of the point to look at.

Definition at line 153 of file OgreRefAppCollideCamera.cpp.

References mCamera, and Ogre::Real.

void OgreRefApp::CollideCamera::lookAt | ( | const Vector3 & | targetPoint | ) |

Points the camera at a location in worldspace.

Remarks:
  This is a helper method to automatically generate the direction vector for the camera, based on it's current position and the supplied look-at point.

Parameters:

  targetPoint | A vector specifying the look at point.

Definition at line 148 of file OgreRefAppCollideCamera.cpp.

References mCamera.

void OgreRefApp::CollideCamera::nearDistChanged | ( | void |  | ) | `[protected]`

| Triggers recacl of collison bounds. Definition at line 225 of file OgreRefAppCollideCamera.cpp. References getNearClipDistance(), and OgreRefApp::ApplicationObject::mCollisionProxies. Referenced by setFOVy(), and setNearClipDistance().

void OgreRefApp::CollideCamera::pitch | ( | Real | angleunits | ) |

| Reimplemented from OgreRefApp::ApplicationObject. Definition at line 89 of file OgreRefAppCollideCamera.h. References Ogre::Real.

void OgreRefApp::CollideCamera::pitch | ( | const Radian & | angle | ) | `[virtual]`

| Rotate the object around the local X-axis. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 84 of file OgreRefAppCollideCamera.cpp. References mCamera.

void OgreRefApp::CollideCamera::roll | ( | Real | angleunits | ) |

| Reimplemented from OgreRefApp::ApplicationObject. Definition at line 80 of file OgreRefAppCollideCamera.h. References Ogre::Real.

void OgreRefApp::CollideCamera::roll | ( | const Radian & | angle | ) | `[virtual]`

| Rotate the object around the local Z-axis. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 79 of file OgreRefAppCollideCamera.cpp. References mCamera.

void OgreRefApp::CollideCamera::rotate | ( | const Quaternion & | q | ) | `[virtual]`

| Rotate the object around an aritrary axis using a Quarternion. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 99 of file OgreRefAppCollideCamera.cpp. References mCamera.

void OgreRefApp::CollideCamera::rotate | ( | const Vector3 & | axis,
|  | Real | angleunits
| ) |

| Reimplemented from OgreRefApp::ApplicationObject. Definition at line 107 of file OgreRefAppCollideCamera.h. References Ogre::Real.

void OgreRefApp::CollideCamera::rotate | ( | const Vector3 & | axis,
|  | const Radian & | angle
| ) | `[virtual]`

| Rotate the object around an arbitrary axis. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 94 of file OgreRefAppCollideCamera.cpp. References mCamera.

void OgreRefApp::ApplicationObject::setAngularVelocity | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) | `[inherited]`

Sets the current angular velocity of this object.

Remarks:
  Only applicable if dynamics are enabled for this object. This method is useful for starting an object off rather than applying forces to get it there.

Definition at line 690 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::isDynamicsEnabled(), OgreRefApp::ApplicationObject::mOdeBody, Ogre::Real, and OgreRefApp::ApplicationObject::setDynamicsEnabled().

void OgreRefApp::ApplicationObject::setAngularVelocity | ( | const Vector3 & | vel | ) | `[inherited]`

Sets the current angular velocity of this object.

Remarks:
  Only applicable if dynamics are enabled for this object. This method is useful for starting an object off rather than applying forces to get it there.

Definition at line 685 of file OgreRefAppApplicationObject.cpp.

void OgreRefApp::CollideCamera::setAspectRatio | ( | Real | ratio | ) |

Sets the aspect ratio for the camera viewport.

Remarks:
  The ratio between the x and y dimensions of the rectangular area visible through the camera is known as aspect ratio: aspect = width / height .

  The default for most fullscreen windows is 1.3333 - this is also assumed by Ogre unless you use this method to state otherwise.

Definition at line 195 of file OgreRefAppCollideCamera.cpp.

References mCamera, and Ogre::Real.

void OgreRefApp::ApplicationObject::setBounceParameters | ( | Real | restitutionValue,
|  | Real | velocityThreshold
| ) | `[virtual, inherited]`

Sets the 'bounciness' of this object.

Remarks:
  Only applies if this object has both collision and dynamics enabled. When 2 movable objects collide, the greatest bounce parameters from both objects apply, so even a non-bouncy object can bounce if it hits a bouncy surface.

Parameters:

  restitutionValue | Coeeficient of restitution (0 for no bounce, 1 for perfect bounciness)
  velocityThreshold | Velocity below which no bounce will occur; this is a dampening value to ensure small velocities do not cause bounce.

Definition at line 545 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mBounceCoeffRestitution, OgreRefApp::ApplicationObject::mBounceVelocityThreshold, and Ogre::Real.

Referenced by OgreRefApp::OgreHead::setUp(), OgreRefApp::Box::setUp(), and OgreRefApp::Ball::setUp().

void OgreRefApp::ApplicationObject::setCollisionEnabled | ( | bool | enabled | ) | `[virtual, inherited]`

| Definition at line 203 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mCollisionEnabled, and OgreRefApp::ApplicationObject::setEntityQueryFlags().

void OgreRefApp::CollideCamera::setDetailLevel | ( | SceneDetailLevel | sd | ) |

Sets the level of rendering detail required from this camera.

Remarks:
  Each camera is set to render at full detail by default, that is with full texturing, lighting etc. This method lets you change that behaviour, allowing you to make the camera just render a wireframe view, for example.

Definition at line 122 of file OgreRefAppCollideCamera.cpp.

References mCamera, and Ogre::SceneDetailLevel.

void OgreRefApp::CollideCamera::setDirection | ( | const Vector3 & | vec | ) |

| Sets the camera's direction vector. Definition at line 138 of file OgreRefAppCollideCamera.cpp. References mCamera.

void OgreRefApp::CollideCamera::setDirection | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) |

Sets the camera's direction vector.

Remarks:
  Note that the 'up' vector for the camera will automatically be recalculated based on the current 'up' vector (i.e. the roll will remain the same).

Definition at line 132 of file OgreRefAppCollideCamera.cpp.

References mCamera, and Ogre::Real.

void OgreRefApp::ApplicationObject::setDynamicsDisableThreshold | ( | Real | linearSq,
|  | Real | angularSq,
|  | Real | overTime
| ) | `[virtual, inherited]`

Sets the linear and angular velocity thresholds, below which the object will have it's dynamics automatically disabled for performance.

Remarks:
  These thresholds are used to speed up the simulation and to make it more stable, by turning off dynamics for objects that appear to be at rest. Otherwise, objects which are supposedly stationary can jitter when involved in large stacks, and can consume unnecessary CPU time. Note that if another object interacts with the disabled object, it will automatically reenable itself.

  If you never want to disable dynamics automatically for this object, just set all the values to 0.

Parameters:

  linearSq | The squared linear velocity magnitude threshold
  angularSq | The squared angular velocity magnitude threshold
  overTime | The number of seconds over which the values must continue to be under this threshold for the dynamics to be disabled. This is to catch cases where the object almost stops moving because of a boundary condition, but would speed up again later (e.g. box teetering on an edge).

Definition at line 123 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mAngularVelDisableThreshold, OgreRefApp::ApplicationObject::mDisableTime, OgreRefApp::ApplicationObject::mLinearVelDisableThreshold, and Ogre::Real.

void OgreRefApp::ApplicationObject::setDynamicsEnabled | ( | bool | enabled,
|  | bool | reEnableOnInteraction = false
| ) | `[virtual, inherited]`

Sets whether or not this object is physically simulated at this time.

Remarks:
  Objects which are not physically simulated only move when their SceneNode is manually altered. Objects which are physically simulated must set up an ODE body as part of their setUp method.

  You can also use this to temporarily turn off simulation on an object, such that it is not simulated until some other object which IS simulated comes in contact with it, or is attached to it with a joint.

Parameters:

  enabled | Specifies whether dynamics is enabled
  reEnableOnInteraction | If set to true, this object will reenable if some other dynamically simulated object interacts with it

Definition at line 209 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::getOrientation(), OgreRefApp::ApplicationObject::getPosition(), OgreRefApp::ApplicationObject::mDynamicsEnabled, OgreRefApp::ApplicationObject::mOdeBody, and OgreRefApp::ApplicationObject::mReenableIfInteractedWith.

Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::setAngularVelocity(), and OgreRefApp::ApplicationObject::setLinearVelocity().

void OgreRefApp::ApplicationObject::setEntityQueryFlags | ( | void |  | ) | `[protected, virtual, inherited]`

| Internal method for updating the query mask. Definition at line 749 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::mCollisionEnabled, and OgreRefApp::ApplicationObject::mEntity. Referenced by OgreRefApp::ApplicationObject::setCollisionEnabled().

void OgreRefApp::CollideCamera::setFarClipDistance | ( | Real | farDist | ) |

Sets the distance to the far clipping plane.

Remarks:
  The view frustrum is a pyramid created from the camera position and the edges of the viewport. This frustrum does not extend to infinity - it is cropped near to the camera and there is a far plane beyond which nothing is displayed. This method sets the distance for the far plane. Different applications need different values: e.g. a flight sim needs a much further far clipping plane than a first-person shooter. An important point here is that the larger the gap between near and far clipping planes, the lower the accuracy of the Z-buffer used to depth-cue pixels. This is because the Z-range is limited to the size of the Z buffer (16 or 32-bit) and the max values must be spread over the gap between near and far clip planes. The bigger the range, the more the Z values will be approximated which can cause artifacts when lots of objects are close together in the Z-plane. So make sure you clip as close to the camera as you can - don't set a huge value for the sake of it.

Parameters:

  far | The distance to the far clipping plane from the camera in world coordinates.

Definition at line 185 of file OgreRefAppCollideCamera.cpp.

References mCamera, and Ogre::Real.

void OgreRefApp::CollideCamera::setFixedYawAxis | ( | bool | useFixed,
|  | const Vector3 & | fixedAxis = Vector3::UNIT_Y
| ) |

Tells the camera whether to yaw around it's own local Y axis or a fixed axis of choice.

Remarks:
  This method allows you to change the yaw behaviour of the camera - by default, the camera yaws around it's own local Y axis. This is often what you want - for example a flying camera
  - but sometimes this produces unwanted effects. For example, if you're making a first-person shooter, you really don't want the yaw axis to reflect the local camera Y, because this would mean a different yaw axis if the player is looking upwards rather than when they are looking straight ahead. You can change this behaviour by setting the yaw to a fixed axis (say, the world Y).

Parameters:

  useFixed | If true, the axis passed in the second parameter will always be the yaw axis no matter what the camera orientation. If false, the camera returns to it's default behaviour.
  fixedAxis | The axis to use if the first parameter is true.

Definition at line 158 of file OgreRefAppCollideCamera.cpp.

References mCamera.

void OgreRefApp::CollideCamera::setFOVy | ( | Real | fovy | ) |

| Definition at line 210 of file OgreRefAppCollideCamera.h. References Ogre::Real.

void OgreRefApp::CollideCamera::setFOVy | ( | const Radian & | fovy | ) |

Sets the Y-dimension Field Of View (FOV) of the camera.

Remarks:
  Field Of View (FOV) is the angle made between the camera's position, and the left & right edges of the 'screen' onto which the scene is projected. High values (90+) result in a wide-angle, fish-eye kind of view, low values (30-) in a stretched, telescopic kind of view. Typical values are between 45 and 60.

  This value represents the HORIZONTAL field-of-view. The vertical field of view is calculated from this depending on the dimensions of the viewport (they will only be the same if the viewport is square).

Note:
  Setting the FOV overrides the value supplied for Camera::setNearClipPlane.

Definition at line 163 of file OgreRefAppCollideCamera.cpp.

References mCamera, and nearDistChanged().

void OgreRefApp::ApplicationObject::setFriction | ( | Real | friction | ) | `[virtual, inherited]`

Sets the Coulomb frictional coefficient for this object.

Remarks:
  This coefficient affects how much an object will slip when it comes into contact with another object.

Parameters:

  friction | The Coulomb friction coefficient, valid from 0 to Math::POS_INFINITY. 0 means no friction, Math::POS_INFINITY means infinite friction ie no slippage. Note that friction between these 2 bounds is more CPU intensive so use with caution.

Definition at line 572 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mFriction, and Ogre::Real.

Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::OgreHead::setUp(), OgreRefApp::Box::setUp(), and OgreRefApp::Ball::setUp().

void OgreRefApp::ApplicationObject::setLinearVelocity | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) | `[inherited]`

Sets the current linear velocity of this object.

Remarks:
  Only applicable if dynamics are enabled for this object. This method is useful for starting an object off at a particular speed rather than applying forces to get it there.

Definition at line 648 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::isDynamicsEnabled(), OgreRefApp::ApplicationObject::mOdeBody, Ogre::Real, and OgreRefApp::ApplicationObject::setDynamicsEnabled().

void OgreRefApp::ApplicationObject::setLinearVelocity | ( | const Vector3 & | vel | ) | `[inherited]`

Sets the current linear velocity of this object.

Remarks:
  Only applicable if dynamics are enabled for this object. This method is useful for starting an object off at a particular speed rather than applying forces to get it there.

Definition at line 643 of file OgreRefAppApplicationObject.cpp.

void OgreRefApp::ApplicationObject::setMassBox | ( | Real | density,
|  | const Vector3 & | dimensions,
|  | const Quaternion & | orientation = Quaternion::IDENTITY
| ) | `[inherited]`

Set the mass parameters of this object to represent a box.

Remarks:
  This method sets the mass and inertia properties of this object such that it is like a box.

Parameters:

  density | Density of the box in Kg/m^3
  dimensions | Width, height and depth of the box.
  orientation | Optional orientation of the box.

Definition at line 595 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mMass, OgreRefApp::ApplicationObject::mOdeBody, OgreRefApp::OgreToOde(), and Ogre::Real.

Referenced by OgreRefApp::Box::setUp().

void OgreRefApp::ApplicationObject::setMassCappedCylinder | ( | Real | density,
|  | Real | length,
|  | Real | width,
|  | const Quaternion & | orientation = Quaternion::IDENTITY
| ) | `[inherited]`

Set the mass parameters of this object to represent a capped cylinder.

Remarks:
  This method sets the mass and inertia properties of this object such that it is like a capped cylinder, by default lying along the Z-axis.

Parameters:

  density | Density of the cylinder in Kg/m^3
  length | Length of the cylinder
  width | Width of the cylinder
  orientation | Optional orientation if you wish the cylinder to lay along a different axis from Z.

Definition at line 611 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mMass, OgreRefApp::ApplicationObject::mOdeBody, OgreRefApp::OgreToOde(), and Ogre::Real.

void OgreRefApp::ApplicationObject::setMassExpert | ( | Real | mass,
|  | const Vector3 | center,
|  | const Matrix3 | inertia
| ) | `[inherited]`

Sets the mass parameters manually, use only if you know how!

Parameters:

  mass | Mass in Kg
  center | The center of gravity
  inertia | The inertia matrix describing distribution of the mass around the body.

Definition at line 625 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mMass, OgreRefApp::ApplicationObject::mOdeBody, OgreRefApp::OgreToOde(), and Ogre::Real.

void OgreRefApp::ApplicationObject::setMassSphere | ( | Real | density,
|  | Real | radius
| ) | `[inherited]`

Set the mass parameters of this object to represent a sphere.

Remarks:
  This method sets the mass and inertia properties of this object such that it is like a sphere, ie center of gravity at the origin and an even distribution of mass in all directions.

Parameters:

  density | Density of the sphere in Kg/m^3
  radius | of the sphere mass

Definition at line 589 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mMass, OgreRefApp::ApplicationObject::mOdeBody, and Ogre::Real.

Referenced by OgreRefApp::OgreHead::setUp(), and OgreRefApp::Ball::setUp().

void OgreRefApp::CollideCamera::setNearClipDistance | ( | Real | nearDist | ) |

Sets the position of the near clipping plane.

Remarks:
  The position of the near clipping plane is the distance from the cameras position to the screen on which the world is projected. The near plane distance, combined with the field-of-view and the aspect ratio, determines the size of the viewport through which the world is viewed (in world co-ordinates). Note that this world viewport is different to a screen viewport, which has it's dimensions expressed in pixels. The cameras viewport should have the same aspect ratio as the screen viewport it renders into to avoid distortion.

Parameters:

  near | The distance to the near clipping plane from the camera in world coordinates.

Definition at line 174 of file OgreRefAppCollideCamera.cpp.

References mCamera, nearDistChanged(), and Ogre::Real.

void OgreRefApp::CollideCamera::setOrientation | ( | const Quaternion & | orientation | ) | `[virtual]`

| Sets the orientation of this object. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 68 of file OgreRefAppCollideCamera.cpp. References mCamera. Referenced by OgreRefApp::World::createCamera().

void OgreRefApp::ApplicationObject::setPosition | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) | `[virtual, inherited]`

| Sets the position of this object. Definition at line 94 of file OgreRefAppApplicationObject.cpp. References OgreRefApp::ApplicationObject::isDynamicsEnabled(), OgreRefApp::ApplicationObject::mOdeBody, OgreRefApp::ApplicationObject::mSceneNode, Ogre::Real, and OgreRefApp::ApplicationObject::updateCollisionProxies().

void OgreRefApp::ApplicationObject::setPosition | ( | const Vector3 & | vec | ) | `[virtual, inherited]`

| Sets the position of this object. Definition at line 89 of file OgreRefAppApplicationObject.cpp. Referenced by OgreRefApp::World::createBall(), OgreRefApp::World::createBox(), OgreRefApp::World::createCamera(), OgreRefApp::World::createOgreHead(), OgreRefApp::World::createPlane(), and OgreRefApp::ApplicationObject::translateWorldSpace().

void OgreRefApp::CollideCamera::setProjectionType | ( | ProjectionType | pt | ) |

| Sets the type of projection to use (orthographic or perspective). Default is perspective. Definition at line 112 of file OgreRefAppCollideCamera.cpp. References mCamera, and Ogre::ProjectionType.

void OgreRefApp::ApplicationObject::setSoftness | ( | Real | softness | ) | `[virtual, inherited]`

Sets the softness of this object, which determines how much it is allowed to penetrate other objects.

Remarks:
  This parameter only has meaning if collision and dynamics are enabled for this object.

Parameters:

  softness | Softness factor (0 is completely hard). Softness will be combined from both objects involved in a collision to determine how much they will penetrate.

Definition at line 562 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mSoftness, and Ogre::Real.

Referenced by OgreRefApp::OgreHead::setUp(), OgreRefApp::Box::setUp(), and OgreRefApp::Ball::setUp().

void OgreRefApp::CollideCamera::setUp | ( | const String & | name | ) | `[protected, virtual]`

| Set up. Implements OgreRefApp::ApplicationObject. Definition at line 39 of file OgreRefAppCollideCamera.cpp. References mCamera, OgreRefApp::ApplicationObject::mCollisionProxies, OgreRefApp::ApplicationObject::mSceneNode, Ogre::String, and OgreRefApp::ApplicationObject::updateCollisionProxies(). Referenced by CollideCamera().

bool OgreRefApp::ApplicationObject::testCollide | ( | SceneQuery::WorldFragment * | wf | ) | `[virtual, inherited]`

Tests to see if there is a detailed collision between this object and the world fragment passed in.

Remarks:
  If there is a collision, the object will be notified and if dynamics are enabled on this object, physics will be applied automatically.

Returns:
  true if collision occurred

Definition at line 425 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::testCollidePlaneBounds().

bool OgreRefApp::ApplicationObject::testCollide | ( | ApplicationObject * | otherObj | ) | `[virtual, inherited]`

Tests to see if there is a detailed collision between this object and the object passed in.

Remarks:
  If there is a collision, both objects will be notified and if dynamics are enabled on these objects, physics will be applied automatically.

Returns:
  true if collision occurred

Definition at line 336 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::_notifyCollided(), OgreRefApp::ApplicationObject::getBounceRestitutionValue(), OgreRefApp::ApplicationObject::getBounceVelocityThreshold(), OgreRefApp::ApplicationObject::getFriction(), OgreRefApp::ApplicationObject::getOdeBody(), OgreRefApp::ApplicationObject::getSoftness(), OgreRefApp::ApplicationObject::isDynamicsEnabled(), OgreRefApp::ApplicationObject::mCollisionProxies, OgreRefApp::ApplicationObject::CollisionInfo::normal, OgreRefApp::ApplicationObject::CollisionInfo::penetrationDepth, OgreRefApp::ApplicationObject::CollisionInfo::position, and Ogre::Real.

Referenced by OgreRefApp::World::_applyCollision().

bool OgreRefApp::ApplicationObject::testCollidePlaneBounds | ( | SceneQuery::WorldFragment * | wf | ) | `[protected, virtual, inherited]`

Internal method for testing the plane bounded region WorldFragment type.

Definition at line 441 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::_notifyCollided(), OgreRefApp::ApplicationObject::getBounceRestitutionValue(), OgreRefApp::ApplicationObject::getBounceVelocityThreshold(), OgreRefApp::ApplicationObject::getFriction(), OgreRefApp::ApplicationObject::getOdeBody(), OgreRefApp::ApplicationObject::getSoftness(), OgreRefApp::ApplicationObject::isDynamicsEnabled(), OgreRefApp::ApplicationObject::mCollisionProxies, OgreRefApp::ApplicationObject::CollisionInfo::normal, OgreRefApp::ApplicationObject::CollisionInfo::penetrationDepth, OgreRefApp::ApplicationObject::CollisionInfo::position, and Ogre::Real.

Referenced by OgreRefApp::ApplicationObject::testCollide().

void OgreRefApp::ApplicationObject::translate | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) | `[virtual, inherited]`

Moves the object along it's local axes.

This method moves the object by the supplied vector along the local axes of the obect.

Parameters:

  x, y | z Real x, y and z values representing the translation.

Definition at line 707 of file OgreRefAppApplicationObject.cpp.

References Ogre::Real, and OgreRefApp::ApplicationObject::translate().

void OgreRefApp::CollideCamera::translate | ( | const Vector3 & | d | ) | `[virtual]`

Moves the object along it's local axes.

This method moves the object by the supplied vector along the local axes of the obect.

Parameters:

  d | Vector with x,y,z values representing the translation.

Reimplemented from OgreRefApp::ApplicationObject.

Definition at line 104 of file OgreRefAppCollideCamera.cpp.

References mCamera, and OgreRefApp::ApplicationObject::translateWorldSpace().

void OgreRefApp::ApplicationObject::translateWorldSpace | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) | `[virtual, inherited]`

Moves the object along the world axes.

This method moves the object by the supplied vector along the local axes of the obect.

Parameters:

  x, y | z Real x, y and z values representing the translation.

Definition at line 717 of file OgreRefAppApplicationObject.cpp.

References Ogre::Real, and OgreRefApp::ApplicationObject::translateWorldSpace().

void OgreRefApp::ApplicationObject::translateWorldSpace | ( | const Vector3 & | d | ) | `[virtual, inherited]`

Moves the object along the world axes.

This method moves the object by the supplied vector along the world axes.

Parameters:

  d | Vector with x,y,z values representing the translation.

Definition at line 712 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::getPosition(), and OgreRefApp::ApplicationObject::setPosition().

Referenced by _notifyCollided(), translate(), OgreRefApp::ApplicationObject::translate(), and OgreRefApp::ApplicationObject::translateWorldSpace().

void OgreRefApp::ApplicationObject::updateCollisionProxies | ( | void |  | ) | `[protected, virtual, inherited]`

Internal method for updating the state of the collision proxies.

Definition at line 313 of file OgreRefAppApplicationObject.cpp.

References OgreRefApp::ApplicationObject::mCollisionProxies, and OgreRefApp::ApplicationObject::mSceneNode.

Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::setOrientation(), OgreRefApp::ApplicationObject::setPosition(), OgreRefApp::FinitePlane::setUp(), OgreRefApp::OgreHead::setUp(), setUp(), OgreRefApp::Box::setUp(), and OgreRefApp::Ball::setUp().

void OgreRefApp::CollideCamera::yaw | ( | Real | angleunits | ) |

| Reimplemented from OgreRefApp::ApplicationObject. Definition at line 98 of file OgreRefAppCollideCamera.h. References Ogre::Real.

void OgreRefApp::CollideCamera::yaw | ( | const Radian & | angle | ) | `[virtual]`

| Rotate the object around the local Y-axis. Reimplemented from OgreRefApp::ApplicationObject. Definition at line 89 of file OgreRefAppCollideCamera.cpp. References mCamera.

## Member Data Documentation

Real OgreRefApp::ApplicationObject::mAngularVelDisableThreshold`[protected, inherited]`

| Definition at line 69 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::ApplicationObject(), and OgreRefApp::ApplicationObject::setDynamicsDisableThreshold().

Real OgreRefApp::ApplicationObject::mBounceCoeffRestitution`[protected, inherited]`

| Definition at line 64 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::getBounceRestitutionValue(), and OgreRefApp::ApplicationObject::setBounceParameters().

Real OgreRefApp::ApplicationObject::mBounceVelocityThreshold`[protected, inherited]`

| Definition at line 65 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::getBounceVelocityThreshold(), and OgreRefApp::ApplicationObject::setBounceParameters().

Camera* OgreRefApp::CollideCamera::mCamera`[protected]`

Contained camera.

Definition at line 43 of file OgreRefAppCollideCamera.h.

Referenced by getAspectRatio(), getDetailLevel(), getDirection(), getFarClipDistance(), getFOVy(), getFrustumPlane(), getNearClipDistance(), getOrientation(), getProjectionType(), isVisible(), lookAt(), pitch(), roll(), rotate(), setAspectRatio(), setDetailLevel(), setDirection(), setFarClipDistance(), setFixedYawAxis(), setFOVy(), setNearClipDistance(), setOrientation(), setProjectionType(), setUp(), translate(), and yaw().

bool OgreRefApp::ApplicationObject::mCollisionEnabled`[protected, inherited]`

| Definition at line 62 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::isCollisionEnabled(), OgreRefApp::ApplicationObject::setCollisionEnabled(), and OgreRefApp::ApplicationObject::setEntityQueryFlags().

CollisionProxyList OgreRefApp::ApplicationObject::mCollisionProxies`[protected, inherited]`

Definition at line 57 of file OgreRefAppApplicationObject.h.

Referenced by nearDistChanged(), OgreRefApp::FinitePlane::setUp(), OgreRefApp::OgreHead::setUp(), setUp(), OgreRefApp::Box::setUp(), OgreRefApp::Ball::setUp(), OgreRefApp::ApplicationObject::testCollide(), OgreRefApp::ApplicationObject::testCollidePlaneBounds(), OgreRefApp::ApplicationObject::updateCollisionProxies(), and OgreRefApp::ApplicationObject::~ApplicationObject().

Real OgreRefApp::ApplicationObject::mDisableTime`[protected, inherited]`

| Definition at line 70 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::ApplicationObject(), and OgreRefApp::ApplicationObject::setDynamicsDisableThreshold().

Real OgreRefApp::ApplicationObject::mDisableTimeEnd`[protected, inherited]`

| Definition at line 71 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), and OgreRefApp::ApplicationObject::ApplicationObject().

bool OgreRefApp::ApplicationObject::mDynamicsEnabled`[protected, inherited]`

| Definition at line 60 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::isDynamicsEnabled(), and OgreRefApp::ApplicationObject::setDynamicsEnabled().

Entity* OgreRefApp::ApplicationObject::mEntity`[protected, inherited]`

| Definition at line 47 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::getEntity(), OgreRefApp::ApplicationObject::setEntityQueryFlags(), OgreRefApp::FinitePlane::setUp(), OgreRefApp::OgreHead::setUp(), OgreRefApp::Box::setUp(), and OgreRefApp::Ball::setUp().

Real OgreRefApp::ApplicationObject::mFriction`[protected, inherited]`

| Definition at line 67 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::getFriction(), and OgreRefApp::ApplicationObject::setFriction().

Real OgreRefApp::ApplicationObject::mLinearVelDisableThreshold`[protected, inherited]`

| Definition at line 68 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::ApplicationObject(), and OgreRefApp::ApplicationObject::setDynamicsDisableThreshold().

dMass OgreRefApp::ApplicationObject::mMass`[protected, inherited]`

| Mass parameters. Definition at line 52 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::getOdeMass(), OgreRefApp::ApplicationObject::setMassBox(), OgreRefApp::ApplicationObject::setMassCappedCylinder(), OgreRefApp::ApplicationObject::setMassExpert(), and OgreRefApp::ApplicationObject::setMassSphere().

dBody* OgreRefApp::ApplicationObject::mOdeBody`[protected, inherited]`

Dynamics properties, must be set up by subclasses if dynamics enabled.

Definition at line 50 of file OgreRefAppApplicationObject.h.

Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::addForce(), OgreRefApp::ApplicationObject::addForceWorldSpace(), OgreRefApp::ApplicationObject::addTorque(), OgreRefApp::ApplicationObject::addTorqueWorldSpace(), OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::getAngularVelocity(), OgreRefApp::ApplicationObject::getLinearVelocity(), OgreRefApp::ApplicationObject::getOdeBody(), OgreRefApp::ApplicationObject::setAngularVelocity(), OgreRefApp::ApplicationObject::setDynamicsEnabled(), OgreRefApp::ApplicationObject::setLinearVelocity(), OgreRefApp::ApplicationObject::setMassBox(), OgreRefApp::ApplicationObject::setMassCappedCylinder(), OgreRefApp::ApplicationObject::setMassExpert(), OgreRefApp::ApplicationObject::setMassSphere(), OgreRefApp::ApplicationObject::setOrientation(), OgreRefApp::ApplicationObject::setPosition(), OgreRefApp::OgreHead::setUp(), OgreRefApp::Box::setUp(), OgreRefApp::Ball::setUp(), and OgreRefApp::ApplicationObject::~ApplicationObject().

bool OgreRefApp::ApplicationObject::mReenableIfInteractedWith`[protected, inherited]`

| Definition at line 61 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::isDynamicsEnabled(), and OgreRefApp::ApplicationObject::setDynamicsEnabled().

SceneNode* OgreRefApp::ApplicationObject::mSceneNode`[protected, inherited]`

Definition at line 46 of file OgreRefAppApplicationObject.h.

Referenced by OgreRefApp::ApplicationObject::_updateFromDynamics(), OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::getOrientation(), OgreRefApp::ApplicationObject::getPosition(), OgreRefApp::ApplicationObject::getSceneNode(), OgreRefApp::ApplicationObject::setOrientation(), OgreRefApp::ApplicationObject::setPosition(), OgreRefApp::FinitePlane::setUp(), OgreRefApp::OgreHead::setUp(), setUp(), OgreRefApp::Box::setUp(), OgreRefApp::Ball::setUp(), OgreRefApp::ApplicationObject::translate(), OgreRefApp::ApplicationObject::updateCollisionProxies(), and OgreRefApp::ApplicationObject::~ApplicationObject().

Real OgreRefApp::ApplicationObject::mSoftness`[protected, inherited]`

| Definition at line 66 of file OgreRefAppApplicationObject.h. Referenced by OgreRefApp::ApplicationObject::ApplicationObject(), OgreRefApp::ApplicationObject::getSoftness(), and OgreRefApp::ApplicationObject::setSoftness().

The documentation for this class was generated from the following files:

- OgreRefAppCollideCamera.h
- OgreRefAppCollideCamera.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:57 2004