OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
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::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::v1::EdgeData
 This class contains the information required to describe the edge connectivity of a given set of vertices and indexes. More...
 
class  Ogre::v1::EdgeListBuilder
 General utility class for building edge lists for geometry. More...
 
class  Ogre::v1::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.
 

Enumerations

enum  Ogre::FrustrumExtentsType { Ogre::FET_PROJ_PLANE_POS , Ogre::FET_TAN_HALF_ANGLES }
 Specify how the frustrum extents are represented. More...
 
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.
 
template<class T >
static FORCEINLINE void Ogre::advanceRawPointer (T *&ptr, ptrdiff_t offset)
 
template<>
double Ogre::Math::Clamp (double val, double minval, double maxval)
 
template<>
float Ogre::Math::Clamp (float val, float minval, float maxval)
 
 Ogre::Angle::operator Degree () const
 
 Ogre::Angle::operator Radian () const
 
Vector4 Ogre::operator* (const Vector4 &v, const Matrix4 &mat)
 
Degree Ogre::operator* (Real a, const Degree &b)
 
Radian Ogre::operator* (Real a, const Radian &b)
 
Radian Ogre::Radian::operator+ (const Degree &d) const
 
RadianOgre::Radian::operator+= (const Degree &d)
 
Radian Ogre::Radian::operator- (const Degree &d) const
 
RadianOgre::Radian::operator-= (const Degree &d)
 
Degree Ogre::operator/ (Real a, const Degree &b)
 
Radian Ogre::operator/ (Real a, const Radian &b)
 
RadianOgre::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.
 
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

◆ PlaneBoundedVolumeList

◆ PlaneList

◆ PreciseReal

Real type for numeric solvers.

Enumeration Type Documentation

◆ FrustrumExtentsType

Specify how the frustrum extents are represented.

Enumerator
FET_PROJ_PLANE_POS 

Represent extents as positions on the near clip plane.

FET_TAN_HALF_ANGLES 

Represet extents as tan of the half angles in radians (ie FoV)

◆ FrustumPlane

Worldspace clipping planes.

Enumerator
FRUSTUM_PLANE_NEAR 
FRUSTUM_PLANE_FAR 
FRUSTUM_PLANE_LEFT 
FRUSTUM_PLANE_RIGHT 
FRUSTUM_PLANE_TOP 
FRUSTUM_PLANE_BOTTOM 

◆ 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 

Function Documentation

◆ Radian()

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

◆ advanceRawPointer() [1/2]

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.

References Ogre::rawOffsetPointer().

◆ advanceRawPointer() [2/2]

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

◆ Clamp() [1/2]

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

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

◆ Clamp() [2/2]

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

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

◆ operator Degree()

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

◆ operator Radian()

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

◆ operator*() [1/3]

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

◆ operator*() [2/3]

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

◆ operator*() [3/3]

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

◆ operator+()

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

◆ operator+=()

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

◆ operator-()

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

◆ operator-=()

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ operator=()

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

◆ rawOffsetPointer() [1/2]

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.

Referenced by Ogre::advanceRawPointer(), and Ogre::advanceRawPointer().

◆ rawOffsetPointer() [2/2]

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

◆ valueAngleUnits() [1/2]

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

◆ valueAngleUnits() [2/2]

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

◆ valueDegrees()

◆ valueRadians()