OGRE  1.11.0
Object-Oriented Graphics Rendering Engine
Math

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< PlaneBoundedVolumeOgre::PlaneBoundedVolumeList
 
typedef std::vector< PlaneOgre::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...
 
RadianOgre::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...
 
RadianOgre::Radian::operator-= (const Degree &d)
 
Radian Ogre::operator/ (Real a, const Radian &b)
 
Degree Ogre::operator/ (Real a, const Degree &b)
 
RadianOgre::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

Enumeration Type Documentation

◆ OrientationMode

Specifies orientation mode.

Enumerator
OR_DEGREE_0 
OR_DEGREE_90 
OR_DEGREE_180 
OR_DEGREE_270 
OR_PORTRAIT 
OR_LANDSCAPERIGHT 
OR_LANDSCAPELEFT 

◆ ProjectionType

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

Enumerator
PT_ORTHOGRAPHIC 
PT_PERSPECTIVE 

◆ 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

◆ operator/() [1/2]

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

◆ operator*() [2/11]

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

◆ operator/() [2/2]

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

◆ 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

◆ operator*() [9/11]

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

◆ operator*() [10/11]

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

◆ operator*() [11/11]

◆ 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

◆ Radian()

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

◆ operator=()

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

◆ operator+() [2/2]

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

◆ operator+=()

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

◆ operator-() [2/2]

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

◆ operator-=()

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

◆ valueDegrees()

◆ valueAngleUnits() [1/2]

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

◆ valueRadians()

◆ valueAngleUnits() [2/2]

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

◆ operator Radian()

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

◆ operator Degree()

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

◆ transpose()

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

Referenced by Ogre::operator*().