OGRE: Ogre::SimpleMatrixAf4x3 Class Reference

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Ogre::SimpleMatrixAf4x3 Class Reference
Core » Math

Simple wrap up to load an AoS matrix 4x3 using SSE. More...

`#include <OgreArrayMatrixAf4x3.h>`

## Public Member Functions
| SimpleMatrixAf4x3 ()
| SimpleMatrixAf4x3 ()
| SimpleMatrixAf4x3 ()
| SimpleMatrixAf4x3 (ArrayReal row0, ArrayReal row1, ArrayReal row2)
| SimpleMatrixAf4x3 (ArrayReal row0, ArrayReal row1, ArrayReal row2)
| SimpleMatrixAf4x3 (Real m00, Real m01, Real m02, Real m03, Real m10, Real m11, Real m12, Real m13, Real m20, Real m21, Real m22, Real m23)
void | load (const Matrix4 &src)
| Assumes src is aligned. More...
void | load (const Matrix4 &src)
| Assumes src is aligned. More...
void | load (const Matrix4 &src)
| Assumes src is aligned. More...
void | store (Matrix4 *dst) const
| Assumes dst is aligned. More...
void | store (Matrix4 *dst) const
| Assumes dst is aligned. More...
void | store (Matrix4 *dst) const
| Assumes dst is aligned. More...
void | store4x3 (float *RESTRICT_ALIAS dst) const
| Assumes dst is aligned. More...
void | store4x3 (float *RESTRICT_ALIAS dst) const
| Assumes dst is aligned. More...
void | store4x3 (float *RESTRICT_ALIAS dst) const
| Assumes dst is aligned. More...
void | store4x3 (Matrix4 *dst) const
| Assumes dst is aligned. More...
void | store4x3 (Matrix4 *dst) const
| Assumes dst is aligned. More...
void | store4x3 (Matrix4 *dst) const
| Assumes dst is aligned. More...
void | streamTo4x3 (float *RESTRICT_ALIAS dst) const
| Copies our 4x3 contents using memory write combining when possible. More...
void | streamTo4x3 (float *RESTRICT_ALIAS dst) const
| Copies our 4x3 contents using memory write combining when possible. More...
void | streamTo4x3 (float *RESTRICT_ALIAS dst) const
| Copies our 4x3 contents using memory write combining when possible. More...

## Public Attributes
ArrayReal | mChunkBase [12]

## Static Public Attributes
static const SimpleMatrixAf4x3 | IDENTITY

## Detailed Description

Simple wrap up to load an AoS matrix 4x3 using SSE.

Simple wrap up to load an AoS matrix 4x3 using NEON.

The main reason of this class is to force MSVC to use 3 movaps to load arrays of MatrixAf4x3s (which are waaay more efficient that whatever lea+mov junk it tries to produce)

## Constructor & Destructor Documentation

## ◆ SimpleMatrixAf4x3() [1/6]

Ogre::SimpleMatrixAf4x3::SimpleMatrixAf4x3 | ( |  | ) |
| inline

## ◆ SimpleMatrixAf4x3() [2/6]

Ogre::SimpleMatrixAf4x3::SimpleMatrixAf4x3 | ( | Real | m00,
|  | Real | m01,
|  | Real | m02,
|  | Real | m03,
|  | Real | m10,
|  | Real | m11,
|  | Real | m12,
|  | Real | m13,
|  | Real | m20,
|  | Real | m21,
|  | Real | m22,
|  | Real | m23
| ) |  |
| inline

## ◆ SimpleMatrixAf4x3() [3/6]

Ogre::SimpleMatrixAf4x3::SimpleMatrixAf4x3 | ( |  | ) |
| inline

## ◆ SimpleMatrixAf4x3() [4/6]

Ogre::SimpleMatrixAf4x3::SimpleMatrixAf4x3 | ( | ArrayReal | row0,
|  | ArrayReal | row1,
|  | ArrayReal | row2
| ) |  |
| inline

## ◆ SimpleMatrixAf4x3() [5/6]

Ogre::SimpleMatrixAf4x3::SimpleMatrixAf4x3 | ( |  | ) |
| inline

## ◆ SimpleMatrixAf4x3() [6/6]

Ogre::SimpleMatrixAf4x3::SimpleMatrixAf4x3 | ( | ArrayReal | row0,
|  | ArrayReal | row1,
|  | ArrayReal | row2
| ) |  |
| inline

## Member Function Documentation

## ◆ load() [1/3]

void Ogre::SimpleMatrixAf4x3::load | ( | const Matrix4 & | src | ) |
| inline

Assumes src is aligned.

References Ogre::Matrix4::_m.

## ◆ load() [2/3]

void Ogre::SimpleMatrixAf4x3::load | ( | const Matrix4 & | src | ) |
| inline

Assumes src is aligned.

References Ogre::Matrix4::_m.

## ◆ load() [3/3]

void Ogre::SimpleMatrixAf4x3::load | ( | const Matrix4 & | src | ) |
| inline

Assumes src is aligned.

References Ogre::Matrix4::_m.

## ◆ store() [1/3]

void Ogre::SimpleMatrixAf4x3::store | ( | Matrix4 * | dst | ) | const
| inline

Assumes dst is aligned.

References Ogre::Matrix4::_m.

## ◆ store() [2/3]

void Ogre::SimpleMatrixAf4x3::store | ( | Matrix4 * | dst | ) | const
| inline

Assumes dst is aligned.

References RESTRICT_ALIAS.

## ◆ store() [3/3]

void Ogre::SimpleMatrixAf4x3::store | ( | Matrix4 * | dst | ) | const
| inline

Assumes dst is aligned.

References RESTRICT_ALIAS.

## ◆ store4x3() [1/6]

void Ogre::SimpleMatrixAf4x3::store4x3 | ( | float *RESTRICT_ALIAS | dst | ) | const
| inline

Assumes dst is aligned.

## ◆ store4x3() [2/6]

void Ogre::SimpleMatrixAf4x3::store4x3 | ( | float *RESTRICT_ALIAS | dst | ) | const
| inline

Assumes dst is aligned.

## ◆ store4x3() [3/6]

void Ogre::SimpleMatrixAf4x3::store4x3 | ( | float *RESTRICT_ALIAS | dst | ) | const
| inline

Assumes dst is aligned.

## ◆ store4x3() [4/6]

void Ogre::SimpleMatrixAf4x3::store4x3 | ( | Matrix4 * | dst | ) | const
| inline

Assumes dst is aligned.

References Ogre::Matrix4::_m.

## ◆ store4x3() [5/6]

void Ogre::SimpleMatrixAf4x3::store4x3 | ( | Matrix4 * | dst | ) | const
| inline

Assumes dst is aligned.

References RESTRICT_ALIAS.

## ◆ store4x3() [6/6]

void Ogre::SimpleMatrixAf4x3::store4x3 | ( | Matrix4 * | dst | ) | const
| inline

Assumes dst is aligned.

References RESTRICT_ALIAS.

## ◆ streamTo4x3() [1/3]

void Ogre::SimpleMatrixAf4x3::streamTo4x3 | ( | float *RESTRICT_ALIAS | dst | ) | const
| inline

Copies our 4x3 contents using memory write combining when possible.

## ◆ streamTo4x3() [2/3]

void Ogre::SimpleMatrixAf4x3::streamTo4x3 | ( | float *RESTRICT_ALIAS | dst | ) | const
| inline

Copies our 4x3 contents using memory write combining when possible.

## ◆ streamTo4x3() [3/3]

void Ogre::SimpleMatrixAf4x3::streamTo4x3 | ( | float *RESTRICT_ALIAS | dst | ) | const
| inline

Copies our 4x3 contents using memory write combining when possible.

## Member Data Documentation

## ◆ IDENTITY

static const SimpleMatrixAf4x3 Ogre::SimpleMatrixAf4x3::IDENTITY
| static

## ◆ mChunkBase

ArrayReal Ogre::SimpleMatrixAf4x3::mChunkBase

The documentation for this class was generated from the following file:

- C/OgreArrayMatrixAf4x3.h