| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Classes | Typedefs | Enumerations | Functions
Math
Core

## Classes
class | Ogre::Affine3
| Transform specialization for 3D Affine - encapsulating a 3x4 Matrix. More...
class | Ogre::Angle
| Wrapper class which identifies a value as the currently default angle type, as defined by Math::setAngleUnit. 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
| Transform specialization for projective - encapsulating a 4x4 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::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::TransformBase
| Class encapsulating a standard 4x4 homogeneous matrix. 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 std::vector< PlaneBoundedVolume > | Ogre::PlaneBoundedVolumeList
typedef std::vector< Plane > | 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 OGRE_FORCE_INLINE void | Ogre::advanceRawPointer (const T *&ptr, ptrdiff_t offset)
| Advance the pointer with raw offset. More...
template<class T >
static OGRE_FORCE_INLINE void | Ogre::advanceRawPointer (T *&ptr, ptrdiff_t offset)
| Ogre::Angle::operator Degree () const
| Ogre::Angle::operator Radian () const
Matrix4 | Ogre::operator* (const Matrix4 &m, const Matrix4 &m2)
Vector3 | Ogre::operator* (const Matrix3 &m, const Vector3 &v)
| Matrix * vector [3x3 * 3x1 = 3x1]. More...
Affine3 | Ogre::operator* (const Affine3 &m, const Affine3 &m2)
Vector3 | Ogre::operator* (const Matrix4 &m, const Vector3 &v)
| Vector transformation using '*'. More...
Vector3 | Ogre::operator* (const Affine3 &m, const Vector3 &v)
Vector4 | Ogre::operator* (const Matrix4 &m, const Vector4 &v)
Vector4 | Ogre::operator* (const Affine3 &m, const Vector4 &v)
Vector4 | Ogre::operator* (const Vector4 &v, const Matrix4 &mat)
Plane | Ogre::operator* (const Matrix4 &mat, const Plane &p)
Radian | Ogre::operator* (Real a, const Radian &b)
Degree | Ogre::operator* (Real a, const Degree &b)
Radian | Ogre::Radian::operator+ (const Degree &d) const
Matrix4 | Ogre::operator+ (const Matrix4 &m, const Matrix4 &m2)
| Matrix addition. More...
Radian & | Ogre::Radian::operator+= (const Degree &d)
Radian | Ogre::Radian::operator- (const Degree &d) const
Matrix4 | Ogre::operator- (const Matrix4 &m, const Matrix4 &m2)
| Matrix subtraction. More...
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 OGRE_FORCE_INLINE const T * | Ogre::rawOffsetPointer (const T *ptr, ptrdiff_t offset)
| Returns raw offseted of the given pointer. More...
template<class T >
static OGRE_FORCE_INLINE T * | Ogre::rawOffsetPointer (T *ptr, ptrdiff_t offset)
Matrix4 | Ogre::TransformBase::transpose () const
Real | Ogre::Radian::valueAngleUnits () const
Real | Ogre::Degree::valueAngleUnits () const
Real | Ogre::Radian::valueDegrees () const
Real | Ogre::Degree::valueRadians () const

## Detailed Description

## Typedef Documentation

## ◆ PreciseReal

typedef double Ogre::PreciseReal

Real type for numeric solvers.

## ◆ PlaneList

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

## ◆ PlaneBoundedVolumeList

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

## Enumeration Type Documentation

## ◆ OrientationMode

enum Ogre::OrientationMode

Specifies orientation mode.

Enumerator
OR_DEGREE_0 |
OR_DEGREE_90 |
OR_DEGREE_180 |
OR_DEGREE_270 |
OR_PORTRAIT |
OR_LANDSCAPERIGHT |
OR_LANDSCAPELEFT |

## ◆ ProjectionType

enum Ogre::ProjectionType

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

Enumerator
PT_ORTHOGRAPHIC |
PT_PERSPECTIVE |

## ◆ FrustumPlane

enum Ogre::FrustumPlane

Worldspace clipping planes.

Enumerator
FRUSTUM_PLANE_NEAR |
FRUSTUM_PLANE_FAR |
FRUSTUM_PLANE_LEFT |
FRUSTUM_PLANE_RIGHT |
FRUSTUM_PLANE_TOP |
FRUSTUM_PLANE_BOTTOM |

## Function Documentation

## ◆ operator*() [1/11]

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

References Ogre::Radian::valueRadians().

## ◆ operator/() [1/2]

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

References Ogre::Radian::valueRadians().

## ◆ operator*() [2/11]

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

References Ogre::Degree::valueDegrees().

## ◆ operator/() [2/2]

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

References Ogre::Degree::valueDegrees().

## ◆ operator*() [3/11]

Vector3 Ogre::operator* | ( | const Matrix3 & | m,
|  | const Vector3 & | v
| ) |  |
| inline

Matrix * vector [3x3 * 3x1 = 3x1].

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## ◆ operator*() [4/11]

Matrix4 Ogre::operator* | ( | const Matrix4 & | m,
|  | const Matrix4 & | m2
| ) |  |
| inline

## ◆ operator+() [1/2]

Matrix4 Ogre::operator+ | ( | const Matrix4 & | m,
|  | const Matrix4 & | m2
| ) |  |
| inline

Matrix addition.

## ◆ operator-() [1/2]

Matrix4 Ogre::operator- | ( | const Matrix4 & | m,
|  | const Matrix4 & | m2
| ) |  |
| inline

Matrix subtraction.

## ◆ operator*() [5/11]

Affine3 Ogre::operator* | ( | const Affine3 & | m,
|  | const Affine3 & | m2
| ) |  |
| inline

## ◆ operator*() [6/11]

Vector3 Ogre::operator* | ( | const Matrix4 & | m,
|  | const Vector3 & | v
| ) |  |
| inline

Vector transformation using '*'.

Remarks
  Transforms the given 3-D vector by the matrix, projecting the result back into w = 1.

Note
  This means that the initial w is considered to be 1.0, and then all the tree elements of the resulting 3-D vector are divided by the resulting w.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## ◆ operator*() [7/11]

Vector3 Ogre::operator* | ( | const Affine3 & | m,
|  | const Vector3 & | v
| ) |  |
| inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## ◆ operator*() [8/11]

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

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

## ◆ operator*() [9/11]

Vector4 Ogre::operator* | ( | const Affine3 & | m,
|  | const Vector4 & | v
| ) |  |
| inline

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

## ◆ operator*() [10/11]

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

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

## ◆ operator*() [11/11]

Plane Ogre::operator* | ( | const Matrix4 & | mat,
|  | const Plane & | p
| ) |  |
| inline

References Ogre::Plane::d, Ogre::Matrix4::inverse(), Ogre::Plane::normal, Ogre::Vector3::normalise(), Ogre::TransformBase::transpose(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## ◆ rawOffsetPointer() [1/2]

template<class T >

static OGRE_FORCE_INLINE 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.

Referenced by Ogre::advanceRawPointer().

## ◆ rawOffsetPointer() [2/2]

template<class T >

static OGRE_FORCE_INLINE T* Ogre::rawOffsetPointer | ( | T * | ptr,
|  | ptrdiff_t | offset
| ) |  |
| static

## ◆ advanceRawPointer() [1/2]

template<class T >

static OGRE_FORCE_INLINE 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.

References Ogre::rawOffsetPointer().

## ◆ advanceRawPointer() [2/2]

template<class T >

static OGRE_FORCE_INLINE void Ogre::advanceRawPointer | ( | T *& | ptr,
|  | ptrdiff_t | offset
| ) |  |
| static

References Ogre::rawOffsetPointer().

## ◆ Radian()

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

## ◆ operator=()

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

References Ogre::Degree::valueRadians().

## ◆ operator+() [2/2]

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

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

## ◆ operator+=()

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

References Ogre::Degree::valueRadians().

## ◆ operator-() [2/2]

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

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

## ◆ operator-=()

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

References Ogre::Degree::valueRadians().

## ◆ valueDegrees()

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

References Ogre::Math::RadiansToDegrees().

Referenced by Ogre::Degree::operator+(), Ogre::Degree::operator+=(), Ogre::Degree::operator-(), Ogre::Degree::operator-=(), and Ogre::Degree::operator=().

## ◆ valueAngleUnits() [1/2]

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

References Ogre::Math::RadiansToAngleUnits().

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

## ◆ valueRadians()

Real Ogre::Degree::valueRadians | ( |  | ) | const
| inline

References Ogre::Math::DegreesToRadians().

Referenced by Ogre::Radian::operator+(), Ogre::Radian::operator+=(), Ogre::Radian::operator-(), Ogre::Radian::operator-=(), and Ogre::Radian::operator=().

## ◆ valueAngleUnits() [2/2]

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

References Ogre::Math::DegreesToAngleUnits().

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

## ◆ operator Radian()

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

References Ogre::Math::AngleUnitsToRadians().

## ◆ operator Degree()

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

References Ogre::Math::AngleUnitsToDegrees().

## ◆ transpose()

Matrix4 Ogre::TransformBase::transpose | ( |  | ) | const
| inline

Referenced by Ogre::operator*().