OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Math
+ Collaboration diagram for Math:

Classes

struct  Ogre::Aabb
 AoS (array of structures) version of ArrayAabb. More...
 
class  Ogre::Angle
 Wrapper class which identifies a value as the currently default angle type, as defined by Math::setAngleUnit. More...
 
class  Ogre::ArrayAabb
 Cache-friendly array of Aabb represented as a SoA array. More...
 
class  Ogre::ArrayMatrix4
 Cache-friendly container of 4x4 matrices represented as a SoA array. More...
 
class  Ogre::ArrayMatrixAf4x3
 Cache-friendly container of AFFINE 4x4 matrices represented as a SoA array. More...
 
class  Ogre::ArrayQuaternion
 Cache-friendly array of Quaternion represented as a SoA array. More...
 
class  Ogre::ArraySphere
 Cache-friendly array of Sphere represented as a SoA array. More...
 
class  Ogre::ArrayVector3
 Cache-friendly array of 3-dimensional represented as a SoA array. More...
 
class  Ogre::AxisAlignedBox
 A 3D box aligned with the x/y/z axes. More...
 
class  Ogre::Bitwise
 Class for manipulating bit patterns. More...
 
class  Ogre::ConvexBody
 Holds a solid representation of a convex body. More...
 
class  Ogre::Degree
 Wrapper class which indicates a given angle value is in Degrees. More...
 
class  Ogre::DualQuaternion
 Implementation of a dual quaternion, i.e. More...
 
class  Ogre::EdgeData
 This class contains the information required to describe the edge connectivity of a given set of vertices and indexes. More...
 
class  Ogre::EdgeListBuilder
 General utility class for building edge lists for geometry. More...
 
class  Ogre::Frustum
 A frustum represents a pyramid, capped at the near and far end which is used to represent either a visible area or a projection area. More...
 
class  Ogre::Math
 Class to provide access to common mathematical functions. More...
 
class  Ogre::Matrix3
 A 3x3 matrix which can represent rotations around axes. More...
 
class  Ogre::Matrix4
 Class encapsulating a standard 4x4 homogeneous matrix. More...
 
class  Ogre::NumericSolver
 Provides numeric solvers for Ogre. More...
 
class  Ogre::OptimisedUtil
 Utility class for provides optimised functions. More...
 
class  Ogre::Plane
 Defines a plane in 3D space. More...
 
class  Ogre::PlaneBoundedVolume
 Represents a convex volume bounded by planes. More...
 
class  Ogre::Polygon
 The class represents a polygon in 3D space. More...
 
class  Ogre::Quaternion
 Implementation of a Quaternion, i.e. More...
 
class  Ogre::Radian
 Wrapper class which indicates a given angle value is in Radians. More...
 
class  Ogre::Ray
 Representation of a ray in space, i.e. More...
 
class  Ogre::RotationalSpline
 This class interpolates orientations (rotations) along a spline using derivatives of quaternions. More...
 
class  Ogre::SimpleMatrix4
 Simple wrap up to load an AoS matrix 4x4 using SSE. More...
 
class  Ogre::SimpleMatrixAf4x3
 Simple wrap up to load an AoS matrix 4x3 using SSE. More...
 
class  Ogre::SimpleSpline
 A very simple spline class which implements the Catmull-Rom class of splines. More...
 
class  Ogre::Sphere
 A sphere primitive, mostly used for bounds checking. More...
 
class  Ogre::TangentSpaceCalc
 Class for calculating a tangent space basis. More...
 
class  Ogre::Vector2
 Standard 2-dimensional vector. More...
 
class  Ogre::Vector3
 Standard 3-dimensional vector. More...
 
class  Ogre::Vector4
 4-dimensional homogeneous vector. More...
 

Typedefs

typedef vector
< PlaneBoundedVolume >::type 
Ogre::PlaneBoundedVolumeList
 
typedef vector< Plane >::type Ogre::PlaneList
 
typedef double Ogre::PreciseReal
 Real type for numeric solvers. More...
 

Enumerations

enum  Ogre::FrustumPlane {
  Ogre::FRUSTUM_PLANE_NEAR = 0, Ogre::FRUSTUM_PLANE_FAR = 1, Ogre::FRUSTUM_PLANE_LEFT = 2, Ogre::FRUSTUM_PLANE_RIGHT = 3,
  Ogre::FRUSTUM_PLANE_TOP = 4, Ogre::FRUSTUM_PLANE_BOTTOM = 5
}
 Worldspace clipping planes. More...
 
enum  Ogre::OrientationMode {
  Ogre::OR_DEGREE_0 = 0, Ogre::OR_DEGREE_90 = 1, Ogre::OR_DEGREE_180 = 2, Ogre::OR_DEGREE_270 = 3,
  Ogre::OR_PORTRAIT = OR_DEGREE_0, Ogre::OR_LANDSCAPERIGHT = OR_DEGREE_90, Ogre::OR_LANDSCAPELEFT = OR_DEGREE_270
}
 Specifies orientation mode. More...
 
enum  Ogre::ProjectionType { Ogre::PT_ORTHOGRAPHIC, Ogre::PT_PERSPECTIVE }
 Specifies perspective (realistic) or orthographic (architectural) projection. More...
 

Functions

 Ogre::Radian::Radian (const Degree &d)
 
template<class T >
static FORCEINLINE void Ogre::advanceRawPointer (const T *&ptr, ptrdiff_t offset)
 Advance the pointer with raw offset. More...
 
template<class T >
static FORCEINLINE void Ogre::advanceRawPointer (T *&ptr, ptrdiff_t offset)
 
template<>
float Ogre::Math::Clamp (float val, float minval, float maxval)
 
template<>
double Ogre::Math::Clamp (double val, double minval, double maxval)
 
 Ogre::Angle::operator Degree () const
 
 Ogre::Angle::operator Radian () const
 
Vector4 Ogre::operator* (const Vector4 &v, const Matrix4 &mat)
 
Radian Ogre::operator* (Real a, const Radian &b)
 
Degree Ogre::operator* (Real a, const Degree &b)
 
Radian Ogre::Radian::operator+ (const Degree &d) const
 
Radian & Ogre::Radian::operator+= (const Degree &d)
 
Radian Ogre::Radian::operator- (const Degree &d) const
 
Radian & Ogre::Radian::operator-= (const Degree &d)
 
Radian Ogre::operator/ (Real a, const Radian &b)
 
Degree Ogre::operator/ (Real a, const Degree &b)
 
Radian & Ogre::Radian::operator= (const Degree &d)
 
template<class T >
static FORCEINLINE const T * Ogre::rawOffsetPointer (const T *ptr, ptrdiff_t offset)
 Returns raw offseted of the given pointer. More...
 
template<class T >
static FORCEINLINE T * Ogre::rawOffsetPointer (T *ptr, ptrdiff_t offset)
 
Real Ogre::Radian::valueAngleUnits () const
 
Real Ogre::Degree::valueAngleUnits () const
 
Real Ogre::Radian::valueDegrees () const
 
Real Ogre::Degree::valueRadians () const
 

Detailed Description

Typedef Documentation

typedef vector<PlaneBoundedVolume>::type Ogre::PlaneBoundedVolumeList

Definition at line 128 of file OgrePlaneBoundedVolume.h.

typedef vector<Plane>::type Ogre::PlaneList

Definition at line 160 of file OgrePlane.h.

typedef double Ogre::PreciseReal

Real type for numeric solvers.

Definition at line 44 of file OgreNumerics.h.

Enumeration Type Documentation

Worldspace clipping planes.

Enumerator
FRUSTUM_PLANE_NEAR 
FRUSTUM_PLANE_FAR 
FRUSTUM_PLANE_LEFT 
FRUSTUM_PLANE_RIGHT 
FRUSTUM_PLANE_TOP 
FRUSTUM_PLANE_BOTTOM 

Definition at line 70 of file OgreFrustum.h.

Specifies orientation mode.

Enumerator
OR_DEGREE_0 
OR_DEGREE_90 
OR_DEGREE_180 
OR_DEGREE_270 
OR_PORTRAIT 
OR_LANDSCAPERIGHT 
OR_LANDSCAPELEFT 

Definition at line 48 of file OgreFrustum.h.

Specifies perspective (realistic) or orthographic (architectural) projection.

Enumerator
PT_ORTHOGRAPHIC 
PT_PERSPECTIVE 

Definition at line 62 of file OgreFrustum.h.

Function Documentation

Ogre::Radian::Radian ( const Degree d)
inline

Definition at line 163 of file OgreMath.h.

template<class T >
static FORCEINLINE void Ogre::advanceRawPointer ( const T *&  ptr,
ptrdiff_t  offset 
)
static

Advance the pointer with raw offset.

Note
The offset are in bytes, no matter what type of the pointer.

Definition at line 229 of file OgreOptimisedUtil.h.

References Ogre::rawOffsetPointer().

template<class T >
static FORCEINLINE void Ogre::advanceRawPointer ( T *&  ptr,
ptrdiff_t  offset 
)
static

Definition at line 235 of file OgreOptimisedUtil.h.

References Ogre::rawOffsetPointer().

template<>
float Ogre::Math::Clamp ( float  val,
float  minval,
float  maxval 
)
inline

Definition at line 737 of file OgreMath.h.

References Ogre::max(), and Ogre::min().

template<>
double Ogre::Math::Clamp ( double  val,
double  minval,
double  maxval 
)
inline

Definition at line 743 of file OgreMath.h.

References Ogre::max(), and Ogre::min().

Ogre::Angle::operator Degree ( ) const
inline

Definition at line 777 of file OgreMath.h.

References Ogre::Math::AngleUnitsToDegrees().

Ogre::Angle::operator Radian ( ) const
inline

Definition at line 772 of file OgreMath.h.

References Ogre::Math::AngleUnitsToRadians().

Vector4 Ogre::operator* ( const Vector4 &  v,
const Matrix4 &  mat 
)
inline

Definition at line 692 of file OgreMatrix4.h.

References Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.

Radian Ogre::operator* ( Real  a,
const Radian &  b 
)
inline

Definition at line 782 of file OgreMath.h.

References Ogre::Radian::valueRadians().

Degree Ogre::operator* ( Real  a,
const Degree &  b 
)
inline

Definition at line 792 of file OgreMath.h.

References Ogre::Degree::valueDegrees().

Radian Ogre::Radian::operator+ ( const Degree d) const
inline
Radian & Ogre::Radian::operator+= ( const Degree d)
inline

Definition at line 171 of file OgreMath.h.

References Ogre::Radian::mRad, and Ogre::Degree::valueRadians().

Radian Ogre::Radian::operator- ( const Degree d) const
inline
Radian & Ogre::Radian::operator-= ( const Degree d)
inline

Definition at line 178 of file OgreMath.h.

References Ogre::Radian::mRad, and Ogre::Degree::valueRadians().

Radian Ogre::operator/ ( Real  a,
const Radian &  b 
)
inline

Definition at line 787 of file OgreMath.h.

References Ogre::Radian::valueRadians().

Degree Ogre::operator/ ( Real  a,
const Degree &  b 
)
inline

Definition at line 797 of file OgreMath.h.

References Ogre::Degree::valueDegrees().

Radian & Ogre::Radian::operator= ( const Degree d)
inline

Definition at line 165 of file OgreMath.h.

References Ogre::Radian::mRad, and Ogre::Degree::valueRadians().

template<class T >
static FORCEINLINE const T* Ogre::rawOffsetPointer ( const T *  ptr,
ptrdiff_t  offset 
)
static

Returns raw offseted of the given pointer.

Note
The offset are in bytes, no matter what type of the pointer.

Definition at line 213 of file OgreOptimisedUtil.h.

Referenced by Ogre::advanceRawPointer().

template<class T >
static FORCEINLINE T* Ogre::rawOffsetPointer ( T *  ptr,
ptrdiff_t  offset 
)
static

Definition at line 219 of file OgreOptimisedUtil.h.

Real Ogre::Radian::valueAngleUnits ( ) const
inline

Definition at line 757 of file OgreMath.h.

References Ogre::Radian::mRad, and Ogre::Math::RadiansToAngleUnits().

Referenced by Ogre::StringConverter::toString().

Real Ogre::Degree::valueAngleUnits ( ) const
inline

Definition at line 767 of file OgreMath.h.

References Ogre::Math::DegreesToAngleUnits(), and Ogre::Degree::mDeg.

Referenced by Ogre::StringConverter::toString().

Real Ogre::Radian::valueDegrees ( ) const
inline