Public Member Functions | Private Attributes | Friends | List of all members
karto::Vector3< T > Class Template Reference

#include <Karto.h>

Public Member Functions

const T & GetX () const
 
const T & GetY () const
 
const T & GetZ () const
 
kt_double Length () const
 
void MakeCeil (const Vector3 &rOther)
 
void MakeFloor (const Vector3 &rOther)
 
kt_bool operator!= (const Vector3 &rOther) const
 
const Vector3 operator* (T scalar) const
 
const Vector3 operator+ (const Vector3 &rOther) const
 
const Vector3 operator+ (kt_double scalar) const
 
const Vector3 operator- (const Vector3 &rOther) const
 
const Vector3 operator- (kt_double scalar) const
 
Vector3operator= (const Vector3 &rOther)
 
kt_bool operator== (const Vector3 &rOther) const
 
void SetX (const T &x)
 
void SetY (const T &y)
 
void SetZ (const T &z)
 
kt_double SquaredLength () const
 
std::string ToString () const
 
 Vector3 ()
 
 Vector3 (T x, T y, T z)
 
 Vector3 (const Vector3 &rOther)
 

Private Attributes

m_Values [3]
 

Friends

std::ostream & operator<< (std::ostream &rStream, const Vector3 &rVector)
 
std::istream & operator>> (std::istream &rStream, const Vector3 &)
 

Detailed Description

template<typename T>
class karto::Vector3< T >

Represents a vector (x, y, z) in 3-dimensional real space.

Definition at line 1214 of file Karto.h.

Constructor & Destructor Documentation

template<typename T>
karto::Vector3< T >::Vector3 ( )
inline

Default constructor

Definition at line 1220 of file Karto.h.

template<typename T>
karto::Vector3< T >::Vector3 ( x,
y,
z 
)
inline

Constructor initializing point location

Parameters
x
y
z

Definition at line 1233 of file Karto.h.

template<typename T>
karto::Vector3< T >::Vector3 ( const Vector3< T > &  rOther)
inline

Copy constructor

Parameters
rOther

Definition at line 1244 of file Karto.h.

Member Function Documentation

template<typename T>
const T& karto::Vector3< T >::GetX ( ) const
inline

Gets the x-component of this vector

Returns
x-component

Definition at line 1256 of file Karto.h.

template<typename T>
const T& karto::Vector3< T >::GetY ( ) const
inline

Gets the y-component of this vector

Returns
y-component

Definition at line 1274 of file Karto.h.

template<typename T>
const T& karto::Vector3< T >::GetZ ( ) const
inline

Gets the z-component of this vector

Returns
z-component

Definition at line 1292 of file Karto.h.

template<typename T>
kt_double karto::Vector3< T >::Length ( ) const
inline

Returns the length of the vector.

Returns
Length of the vector

Definition at line 1341 of file Karto.h.

template<typename T>
void karto::Vector3< T >::MakeCeil ( const Vector3< T > &  rOther)
inline

Ceiling vector operator

Parameters
rOtherVector3d

Definition at line 1321 of file Karto.h.

template<typename T>
void karto::Vector3< T >::MakeFloor ( const Vector3< T > &  rOther)
inline

Floor vector operator

Parameters
rOtherVector3d

Definition at line 1310 of file Karto.h.

template<typename T>
kt_bool karto::Vector3< T >::operator!= ( const Vector3< T > &  rOther) const
inline

Inequality operator returns true if any of the corresponding x, y, z values of each Vector3 not the same.

Parameters
rOther

Definition at line 1443 of file Karto.h.

template<typename T>
const Vector3 karto::Vector3< T >::operator* ( scalar) const
inline

Scales the vector by the given scalar

Parameters
scalar

Definition at line 1423 of file Karto.h.

template<typename T>
const Vector3 karto::Vector3< T >::operator+ ( const Vector3< T > &  rOther) const
inline

Binary vector add.

Parameters
rOther
Returns
vector sum

Definition at line 1378 of file Karto.h.

template<typename T>
const Vector3 karto::Vector3< T >::operator+ ( kt_double  scalar) const
inline

Binary vector add.

Parameters
scalar
Returns
sum

Definition at line 1390 of file Karto.h.

template<typename T>
const Vector3 karto::Vector3< T >::operator- ( const Vector3< T > &  rOther) const
inline

Binary vector subtract.

Parameters
rOther
Returns
vector difference

Definition at line 1402 of file Karto.h.

template<typename T>
const Vector3 karto::Vector3< T >::operator- ( kt_double  scalar) const
inline

Binary vector subtract.

Parameters
scalar
Returns
difference

Definition at line 1414 of file Karto.h.

template<typename T>
Vector3& karto::Vector3< T >::operator= ( const Vector3< T > &  rOther)
inline

Assignment operator

Definition at line 1364 of file Karto.h.

template<typename T>
kt_bool karto::Vector3< T >::operator== ( const Vector3< T > &  rOther) const
inline

Equality operator returns true if the corresponding x, y, z values of each Vector3 are the same values.

Parameters
rOther

Definition at line 1432 of file Karto.h.

template<typename T>
void karto::Vector3< T >::SetX ( const T &  x)
inline

Sets the x-component of this vector

Parameters
x

Definition at line 1265 of file Karto.h.

template<typename T>
void karto::Vector3< T >::SetY ( const T &  y)
inline

Sets the y-component of this vector

Parameters
y

Definition at line 1283 of file Karto.h.

template<typename T>
void karto::Vector3< T >::SetZ ( const T &  z)
inline

Sets the z-component of this vector

Parameters
z

Definition at line 1301 of file Karto.h.

template<typename T>
kt_double karto::Vector3< T >::SquaredLength ( ) const
inline

Returns the square of the length of the vector

Returns
square of the length of the vector

Definition at line 1332 of file Karto.h.

template<typename T>
std::string karto::Vector3< T >::ToString ( ) const
inline

Returns a string representation of this vector

Returns
string representation of this vector

Definition at line 1350 of file Karto.h.

Friends And Related Function Documentation

template<typename T>
std::ostream& operator<< ( std::ostream &  rStream,
const Vector3< T > &  rVector 
)
friend

Write Vector3 onto output stream

Parameters
rStreamoutput stream
rVectorto write

Definition at line 1455 of file Karto.h.

template<typename T>
std::istream& operator>> ( std::istream &  rStream,
const Vector3< T > &   
)
friend

Read Vector3 from input stream

Parameters
rStreaminput stream

Definition at line 1465 of file Karto.h.

Member Data Documentation

template<typename T>
T karto::Vector3< T >::m_Values[3]
private

Definition at line 1472 of file Karto.h.


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


open_karto
Author(s):
autogenerated on Mon Jun 10 2019 14:02:19