Ogre::Vector4 Class Reference
Core » Math

4-dimensional homogeneous vector. More...

`#include <OgreVector4.h>`

## Public Member Functions

| Vector4 ()
| Default constructor. More...
| Vector4 (const Real fX, const Real fY, const Real fZ, const Real fW)
| Vector4 (const Real afCoordinate[4])
| Vector4 (const int afCoordinate[4])
| Vector4 (Real *const r)
| Vector4 (const Real scaler)
| Vector4 (const Vector3 &rhs)
Real | dotProduct (const Vector4 &vec) const
| Calculates the dot (scalar) product of this vector with another. More...
bool | isNaN () const
| Check whether this vector contains valid values. More...
bool | operator!= (const Vector4 &rkVector) const
Vector4 | operator* (const Real fScalar) const
Vector4 | operator* (const Vector4 &rhs) const
Vector4 & | operator*= (const Real fScalar)
Vector4 & | operator*= (const Vector4 &rkVector)
Vector4 | operator+ (const Vector4 &rkVector) const
const Vector4 & | operator+ () const
Vector4 & | operator+= (const Vector4 &rkVector)
Vector4 & | operator+= (const Real fScalar)
Vector4 | operator- (const Vector4 &rkVector) const
Vector4 | operator- () const
Vector4 & | operator-= (const Vector4 &rkVector)
Vector4 & | operator-= (const Real fScalar)
Vector4 | operator/ (const Real fScalar) const
Vector4 | operator/ (const Vector4 &rhs) const
Vector4 & | operator/= (const Real fScalar)
Vector4 & | operator/= (const Vector4 &rkVector)
Vector4 & | operator= (const Vector4 &rkVector)
| Assigns the value of the other vector. More...
Vector4 & | operator= (const Real fScalar)
Vector4 & | operator= (const Vector3 &rhs)
bool | operator== (const Vector4 &rkVector) const
Real | operator[] (const size_t i) const
Real & | operator[] (const size_t i)
Real * | ptr ()
| Pointer accessor for direct copying. More...
const Real * | ptr () const
| Pointer accessor for direct copying. More...
void | swap (Vector4 &other)
| Exchange the contents of this vector with another. More...

## Public Attributes

Real | w
Real | x
Real | y
Real | z

## Static Public Attributes

static const Vector4 | ZERO

## Friends

Vector4 | operator* (const Real fScalar, const Vector4 &rkVector)
Vector4 | operator+ (const Vector4 &lhs, const Real rhs)
Vector4 | operator+ (const Real lhs, const Vector4 &rhs)
Vector4 | operator- (const Vector4 &lhs, Real rhs)
Vector4 | operator- (const Real lhs, const Vector4 &rhs)
Vector4 | operator/ (const Real fScalar, const Vector4 &rkVector)
_OgreExport friend std::ostream & | operator<< (std::ostream &o, const Vector4 &v)
| Function for writing to a stream. More...

## Detailed Description

4-dimensional homogeneous vector.

Definition at line 45 of file OgreVector4.h.

## Constructor & Destructor Documentation

## Vector4() [1/7]

Ogre::Vector4::Vector4 | ( |  | ) |

Default constructor.

Note
  It does NOT initialize the vector for efficiency.

Definition at line 55 of file OgreVector4.h.

## Vector4() [2/7]

Ogre::Vector4::Vector4 | ( | const Real | fX,
|  | const Real | fY,
|  | const Real | fZ,
|  | const Real | fW
| ) |  |

Definition at line 59 of file OgreVector4.h.

## Vector4() [3/7]

Ogre::Vector4::Vector4 | ( | const Real | afCoordinate[4] | ) |

explicit

Definition at line 64 of file OgreVector4.h.

## Vector4() [4/7]

Ogre::Vector4::Vector4 | ( | const int | afCoordinate[4] | ) |

explicit

Definition at line 72 of file OgreVector4.h.

## Vector4() [5/7]

Ogre::Vector4::Vector4 | ( | Real *const | r | ) |

explicit

Definition at line 80 of file OgreVector4.h.

## Vector4() [6/7]

Ogre::Vector4::Vector4 | ( | const Real | scaler | ) |

explicit

Definition at line 85 of file OgreVector4.h.

## Vector4() [7/7]

Ogre::Vector4::Vector4 | ( | const Vector3 & | rhs | ) |

explicit

Definition at line 93 of file OgreVector4.h.

## Member Function Documentation

## dotProduct()

Real Ogre::Vector4::dotProduct | ( | const Vector4 & | vec | ) | const

Calculates the dot (scalar) product of this vector with another.

Parameters

  vec | Vector with which to calculate the dot product (together with this one).

Returns
  A float representing the dot product value.

Definition at line 393 of file OgreVector4.h.

References w, x, y, and z.

## isNaN()

bool Ogre::Vector4::isNaN | ( |  | ) | const

Check whether this vector contains valid values.

Definition at line 398 of file OgreVector4.h.

References _OgreExport, and Ogre::Math::isNaN().

## operator!=()

bool Ogre::Vector4::operator!= | ( | const Vector4 & | rkVector | ) | const

Definition at line 164 of file OgreVector4.h.

References w, x, y, and z.

## operator*() [1/2]

Vector4 Ogre::Vector4::operator* | ( | const Real | fScalar | ) | const

Definition at line 200 of file OgreVector4.h.

## operator*() [2/2]

Vector4 Ogre::Vector4::operator* | ( | const Vector4 & | rhs | ) | const

Definition at line 209 of file OgreVector4.h.

References w, x, y, and z.

## operator*=() [1/2]

Vector4& Ogre::Vector4::operator*= | ( | const Real | fScalar | ) |

Definition at line 325 of file OgreVector4.h.

## operator*=() [2/2]

Vector4& Ogre::Vector4::operator*= | ( | const Vector4 & | rkVector | ) |

Definition at line 352 of file OgreVector4.h.

References w, x, y, and z.

## operator+() [1/2]

Vector4 Ogre::Vector4::operator+ | ( | const Vector4 & | rkVector | ) | const

Definition at line 182 of file OgreVector4.h.

References w, x, y, and z.

## operator+() [2/2]

const Vector4& Ogre::Vector4::operator+ | ( |  | ) | const

Definition at line 240 of file OgreVector4.h.

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

Vector4& Ogre::Vector4::operator+= | ( | const Vector4 & | rkVector | ) |

Definition at line 305 of file OgreVector4.h.

References w, x, y, and z.

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

Vector4& Ogre::Vector4::operator+= | ( | const Real | fScalar | ) |

Definition at line 334 of file OgreVector4.h.

## operator-() [1/2]

Vector4 Ogre::Vector4::operator- | ( | const Vector4 & | rkVector | ) | const

Definition at line 191 of file OgreVector4.h.

References w, x, y, and z.

## operator-() [2/2]

Vector4 Ogre::Vector4::operator- | ( |  | ) | const

Definition at line 245 of file OgreVector4.h.

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

Vector4& Ogre::Vector4::operator-= | ( | const Vector4 & | rkVector | ) |

Definition at line 315 of file OgreVector4.h.

References w, x, y, and z.

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

Vector4& Ogre::Vector4::operator-= | ( | const Real | fScalar | ) |

Definition at line 343 of file OgreVector4.h.

## operator/() [1/2]

Vector4 Ogre::Vector4::operator/ | ( | const Real | fScalar | ) | const

Definition at line 218 of file OgreVector4.h.

## operator/() [2/2]

Vector4 Ogre::Vector4::operator/ | ( | const Vector4 & | rhs | ) | const

Definition at line 231 of file OgreVector4.h.

References w, x, y, and z.

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

Vector4& Ogre::Vector4::operator/= | ( | const Real | fScalar | ) |

Definition at line 362 of file OgreVector4.h.

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

Vector4& Ogre::Vector4::operator/= | ( | const Vector4 & | rkVector | ) |

Definition at line 376 of file OgreVector4.h.

References w, x, y, and z.

## operator=() [1/3]

Vector4& Ogre::Vector4::operator= | ( | const Vector4 & | rkVector | ) |

Assigns the value of the other vector.

Parameters

  rkVector | The other vector

Definition at line 137 of file OgreVector4.h.

References w, x, y, and z.

## operator=() [2/3]

Vector4& Ogre::Vector4::operator= | ( | const Real | fScalar | ) |

Definition at line 147 of file OgreVector4.h.

## operator=() [3/3]

Vector4& Ogre::Vector4::operator= | ( | const Vector3 & | rhs | ) |

Definition at line 172 of file OgreVector4.h.

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

## operator==()

bool Ogre::Vector4::operator== | ( | const Vector4 & | rkVector | ) | const

Definition at line 156 of file OgreVector4.h.

References w, x, y, and z.

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

Real Ogre::Vector4::operator[] | ( | const size_t | i | ) | const

Definition at line 108 of file OgreVector4.h.

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

Real& Ogre::Vector4::operator[] | ( | const size_t | i | ) |

Definition at line 115 of file OgreVector4.h.

## ptr() [1/2]

Real* Ogre::Vector4::ptr | ( |  | ) |

Pointer accessor for direct copying.

Definition at line 123 of file OgreVector4.h.

Referenced by Ogre::AnimableValue::setAsBaseValue().

## ptr() [2/2]

const Real* Ogre::Vector4::ptr | ( |  | ) | const

Pointer accessor for direct copying.

Definition at line 128 of file OgreVector4.h.

## swap()

void Ogre::Vector4::swap | ( | Vector4 & | other | ) |

Exchange the contents of this vector with another.

Definition at line 100 of file OgreVector4.h.

References std::swap(), w, x, y, and z.

## Friends And Related Function Documentation

## operator*

Vector4 operator* | ( | const Real | fScalar,
|  | const Vector4 & | rkVector
| ) |  |

friend

Definition at line 250 of file OgreVector4.h.

## operator+ [1/2]

Vector4 operator+ | ( | const Vector4 & | lhs,
|  | const Real | rhs
| ) |  |

friend

Definition at line 268 of file OgreVector4.h.

## operator+ [2/2]

Vector4 operator+ | ( | const Real | lhs,
|  | const Vector4 & | rhs
| ) |  |

friend

Definition at line 277 of file OgreVector4.h.

## operator- [1/2]

Vector4 operator- | ( | const Vector4 & | lhs,
|  | Real | rhs
| ) |  |

friend

Definition at line 286 of file OgreVector4.h.

## operator- [2/2]

Vector4 operator- | ( | const Real | lhs,
|  | const Vector4 & | rhs
| ) |  |

friend

Definition at line 295 of file OgreVector4.h.

## operator/

Vector4 operator/ | ( | const Real | fScalar,
|  | const Vector4 & | rkVector
| ) |  |

friend

Definition at line 259 of file OgreVector4.h.

## operator<<

_OgreExport friend std::ostream& operator<< | ( | std::ostream & | o,
|  | const Vector4 & | v
| ) |  |

friend

Function for writing to a stream.

Definition at line 405 of file OgreVector4.h.

## Member Data Documentation

## w

Real Ogre::Vector4::w

Definition at line 48 of file OgreVector4.h.

Referenced by dotProduct(), Ogre::Volume::IsoSurfaceMC::interpolate(), Ogre::Volume::OctreeNode::isIsoSurfaceNear(), operator!=(), operator*(), Ogre::Matrix4::operator*(), Ogre::operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator=(), operator==(), swap(), and Ogre::Matrix4::transformAffine().

## x

Real Ogre::Vector4::x

Definition at line 48 of file OgreVector4.h.

Referenced by dotProduct(), Ogre::Volume::IsoSurfaceMC::interpolate(), operator!=(), operator*(), Ogre::Matrix4::operator*(), Ogre::operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator=(), operator==(), swap(), and Ogre::Matrix4::transformAffine().

## y

Real Ogre::Vector4::y

Definition at line 48 of file OgreVector4.h.

Referenced by dotProduct(), Ogre::Volume::IsoSurfaceMC::interpolate(), operator!=(), operator*(), Ogre::Matrix4::operator*(), Ogre::operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator=(), operator==(), swap(), and Ogre::Matrix4::transformAffine().

## z

Real Ogre::Vector4::z

Definition at line 48 of file OgreVector4.h.

Referenced by dotProduct(), Ogre::Volume::IsoSurfaceMC::interpolate(), operator!=(), operator*(), Ogre::Matrix4::operator*(), Ogre::operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator=(), operator==(), swap(), and Ogre::Matrix4::transformAffine().

## ZERO

const Vector4 Ogre::Vector4::ZERO

static

Definition at line 411 of file OgreVector4.h.

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

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

- OgreVector4.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.