OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
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::ArrayVector2
 Cache-friendly array of 2-dimensional represented as a SoA array. More...
 
class  Ogre::ArrayVector3
 Cache-friendly array of 3-dimensional represented as a SoA array. More...
 
class  Ogre::ArrayVector4
 Cache-friendly array of 4-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 StdVector< PlaneOgre::PlaneList
 
typedef double Ogre::PreciseReal
 Real type for numeric solvers. More...
 

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::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<class T >
static FORCEINLINE void Ogre::advanceRawPointer (T *&ptr, size_t offset)
 
 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. More...
 
template<class T >
static FORCEINLINE const T * Ogre::rawOffsetPointer (const T *ptr, size_t offset)
 
template<class T >
static FORCEINLINE T * Ogre::rawOffsetPointer (T *ptr, ptrdiff_t offset)
 
template<class T >
static FORCEINLINE T * Ogre::rawOffsetPointer (T *ptr, size_t offset)
 
Real Ogre::Radian::valueAngleUnits () const
 
Real Ogre::Degree::valueAngleUnits () const
 
Real Ogre::Radian::valueDegrees () const
 
Real Ogre::Degree::valueRadians () const
 
void Ogre::Radian::wrapToRangeNPI_PI ()
 Wraps the given value to the range [-pi; pi] The algorithm is: const float signedPi = std::copysign( _PI, mRad ); const float wrappedValue = fmod( mRad + signedPi, TWO_PI ); mRad = wrappedValue - signedPi;. More...
 

Detailed Description

Typedef Documentation

◆ PlaneBoundedVolumeList

◆ PlaneList

◆ PreciseReal

typedef double Ogre::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 

◆ 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/3]

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/3]

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

◆ advanceRawPointer() [3/3]

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

◆ 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/4]

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().

◆ rawOffsetPointer() [2/4]

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

◆ rawOffsetPointer() [3/4]

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

◆ rawOffsetPointer() [4/4]

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

◆ valueAngleUnits() [1/2]

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

◆ valueAngleUnits() [2/2]

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

◆ valueDegrees()

◆ valueRadians()

◆ wrapToRangeNPI_PI()

void Ogre::Radian::wrapToRangeNPI_PI ( )
inline

Wraps the given value to the range [-pi; pi] The algorithm is: const float signedPi = std::copysign( _PI, mRad ); const float wrappedValue = fmod( mRad + signedPi, TWO_PI ); mRad = wrappedValue - signedPi;.

References Ogre::Math::PI.