PixelLightAPI  .
Public Member Functions | Public Attributes | Static Public Attributes
PLMath::Vector3i Class Reference

3D integer vector More...

#include <Vector3i.h>

List of all members.

Public Member Functions

 Vector3i ()
 Default constructor setting all components to 0.
 Vector3i (int nX, int nY, int nZ)
 Constructor.
PLMATH_API Vector3i (const Vector2i &vVector, int nZ)
 Constructor.
 ~Vector3i ()
 Destructor.
 operator int * ()
 operator const int * () const
int & operator[] (int nIndex)
const int & operator[] (int nIndex) const
void Set (int nX, int nY, int nZ)
 Set vector.
void SetX (int nX)
 Set X component.
void SetY (int nY)
 Set Y component.
PLMATH_API void SetXYZ (const Vector2i &vXY, int nZ=0)
 Set X, Y and Z component.
void SetZ (int nZ)
 Set Z component.
Vector3ioperator= (const Vector3i &vV)
 Assignment operator.
bool operator== (const Vector3i &vV) const
 Compare operator.
bool operator!= (const Vector3i &vV) const
 Compare operator.
bool operator< (const Vector3i &vV) const
 Compares two vectors lexicographically.
bool operator> (const Vector3i &vV) const
 Compares two vectors lexicographically.
bool operator<= (const Vector3i &vV) const
 Compares two vectors lexicographically.
bool operator>= (const Vector3i &vV) const
 Compares two vectors lexicographically.
Vector3i operator+ (const Vector3i &vV) const
 Addition operator.
Vector3ioperator+= (const Vector3i &vV)
 Addition operator.
Vector3i operator- (const Vector3i &vV) const
 Subtraction operator.
Vector3ioperator-= (const Vector3i &vV)
 Subtraction operator.
Vector3i operator* (float fFactor) const
 Multiplication operator.
Vector3ioperator*= (float fFactor)
 Multiplication operator.
Vector3i operator/ (float fFactor) const
 Division operator.
Vector3ioperator/= (float fFactor)
 Division operator.
PLMATH_API PLCore::String ToString () const
 To string.
PLMATH_API bool FromString (const PLCore::String &sString)
 From string.

Public Attributes

union {
   int   nV [3]
 Vector element array access.
   struct {
      int   x
      int   y
      int   z
   } 
 Known vector element names when dealing with positions or directions.
   struct {
      int   width
      int   height
      int   depth
   } 
 Known vector element names when dealing with sizes.
}; 
 Some direct vector element accesses.

Static Public Attributes

static PLMATH_API const Vector3i Zero
static PLMATH_API const Vector3i One
static PLMATH_API const Vector3i NegativeOne
static PLMATH_API const Vector3i UnitX
static PLMATH_API const Vector3i UnitY
static PLMATH_API const Vector3i UnitZ
static PLMATH_API const Vector3i NegativeUnitX
static PLMATH_API const Vector3i NegativeUnitY
static PLMATH_API const Vector3i NegativeUnitZ

Detailed Description

3D integer vector


Constructor & Destructor Documentation

Default constructor setting all components to 0.

PLMath::Vector3i::Vector3i ( int  nX,
int  nY,
int  nZ 
) [inline]

Constructor.

Parameters:
[in]nXX component
[in]nYY component
[in]nZZ component
PLMATH_API PLMath::Vector3i::Vector3i ( const Vector2i vVector,
int  nZ 
)

Constructor.

Parameters:
[in]vVector2D vector to copy the x and y values from
[in]nZZ component

Destructor.


Member Function Documentation

PLMath::Vector3i::operator int * ( ) [inline]
PLMath::Vector3i::operator const int * ( ) const [inline]
int & PLMath::Vector3i::operator[] ( int  nIndex) [inline]
const int & PLMath::Vector3i::operator[] ( int  nIndex) const [inline]
void PLMath::Vector3i::Set ( int  nX,
int  nY,
int  nZ 
) [inline]

Set vector.

Set X, Y and Z value.

Parameters:
[in]nXX component
[in]nYY component
[in]nZZ component
void PLMath::Vector3i::SetX ( int  nX) [inline]

Set X component.

Set x.

Parameters:
[in]nXX component
void PLMath::Vector3i::SetY ( int  nY) [inline]

Set Y component.

Set y.

Parameters:
[in]nYY component
PLMATH_API void PLMath::Vector3i::SetXYZ ( const Vector2i vXY,
int  nZ = 0 
)

Set X, Y and Z component.

Parameters:
[in]vXYVector2 instance to take the X and Y components from
[in]nZZ component value
void PLMath::Vector3i::SetZ ( int  nZ) [inline]

Set Z component.

Set z.

Parameters:
[in]nZZ component
Vector3i & PLMath::Vector3i::operator= ( const Vector3i vV) [inline]

Assignment operator.

Parameters:
[in]vVSource vector to copy
Returns:
This vector
bool PLMath::Vector3i::operator== ( const Vector3i vV) const [inline]

Compare operator.

Parameters:
[in]vVVector to compare with
Returns:
'true' if equal, else 'false'
bool PLMath::Vector3i::operator!= ( const Vector3i vV) const [inline]

Compare operator.

Parameters:
[in]vVVector to compare with
Returns:
'true' if not equal, else 'false'
bool PLMath::Vector3i::operator< ( const Vector3i vV) const [inline]

Compares two vectors lexicographically.

Parameters:
[in]vVVector to compare with
Returns:
'true' if ALL components of this vector are less, else 'false'
Note:
bool PLMath::Vector3i::operator> ( const Vector3i vV) const [inline]

Compares two vectors lexicographically.

Parameters:
[in]vVVector to compare with
Returns:
'true' if ALL components of this vector are greater, else 'false'
See also:
  • "operator <"
bool PLMath::Vector3i::operator<= ( const Vector3i vV) const [inline]

Compares two vectors lexicographically.

Parameters:
[in]vVVector to compare with
Returns:
'true' if ALL components of this vector are less or equal, else 'false'
See also:
  • "operator <"
bool PLMath::Vector3i::operator>= ( const Vector3i vV) const [inline]

Compares two vectors lexicographically.

Parameters:
[in]vVVector to compare with
Returns:
'true' if ALL components of this vector are greater or equal, else 'false'
See also:
  • "operator <"
Vector3i PLMath::Vector3i::operator+ ( const Vector3i vV) const [inline]

Addition operator.

Parameters:
[in]vVVector to add
Returns:
The resulting vector
Vector3i & PLMath::Vector3i::operator+= ( const Vector3i vV) [inline]

Addition operator.

Parameters:
[in]vVVector to add
Returns:
This vector
Vector3i PLMath::Vector3i::operator- ( const Vector3i vV) const [inline]

Subtraction operator.

Parameters:
[in]vVVector to subtract
Returns:
The resulting vector
Vector3i & PLMath::Vector3i::operator-= ( const Vector3i vV) [inline]

Subtraction operator.

Parameters:
[in]vVVector to subtract
Returns:
This vector
Vector3i PLMath::Vector3i::operator* ( float  fFactor) const [inline]

Multiplication operator.

Parameters:
[in]fFactorFloating point factor
Returns:
The resulting vector
Vector3i & PLMath::Vector3i::operator*= ( float  fFactor) [inline]

Multiplication operator.

Parameters:
[in]fFactorFloating point factor
Returns:
This vector
Vector3i PLMath::Vector3i::operator/ ( float  fFactor) const [inline]

Division operator.

Parameters:
[in]fFactorFloating point divisor
Returns:
The resulting vector
Vector3i & PLMath::Vector3i::operator/= ( float  fFactor) [inline]

Division operator.

Parameters:
[in]fFactorFloating point divisor
Returns:
This vector

To string.

Returns:
String with the data
PLMATH_API bool PLMath::Vector3i::FromString ( const PLCore::String sString)

From string.

Parameters:
[in]sStringString with the data

Member Data Documentation

PLMATH_API const Vector3i PLMath::Vector3i::Zero [static]

0, 0, 0

PLMATH_API const Vector3i PLMath::Vector3i::One [static]

1, 1, 1

PLMATH_API const Vector3i PLMath::Vector3i::NegativeOne [static]

-1, -1, -1

PLMATH_API const Vector3i PLMath::Vector3i::UnitX [static]

1, 0, 0

PLMATH_API const Vector3i PLMath::Vector3i::UnitY [static]

0, 1, 0

PLMATH_API const Vector3i PLMath::Vector3i::UnitZ [static]

0, 0, 1

PLMATH_API const Vector3i PLMath::Vector3i::NegativeUnitX [static]

-1, 0, 0

PLMATH_API const Vector3i PLMath::Vector3i::NegativeUnitY [static]

0, -1, 0

PLMATH_API const Vector3i PLMath::Vector3i::NegativeUnitZ [static]

0, 0, -1

Vector element array access.

union { ... }

Some direct vector element accesses.


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


PixelLight PixelLight 0.9.11-R1
Copyright (C) 2002-2012 by The PixelLight Team
Last modified Thu Feb 23 2012 14:09:36
The content of this PixelLight document is published under the
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported