Classes | Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
STOFFVec3< T > Class Template Reference

small class which defines a vector with 3 elements More...

`#include <libstaroffice_internal.hxx>`

## Classes
struct | PosSizeLt
| internal struct used to create sorted map, sorted by X, Y, Z More...

## Public Types
typedef std::map< STOFFVec3< T >, T, struct PosSizeLt > | Map
| map of STOFFVec3

## Public Member Functions
| STOFFVec3 (T xx=0, T yy=0, T zz=0)
| constructor
template<class U >
| STOFFVec3 (STOFFVec3< U > const &p)
| generic copy constructor
T | x () const
| first element
T | y () const
| second element
T | z () const
| third element
T | operator[] (int c) const
| operator[]
T & | operator[] (int c)
| operator[]
void | set (T xx, T yy, T zz)
| resets the three elements
void | setX (T xx)
| resets the first element
void | setY (T yy)
| resets the second element
void | setZ (T zz)
| resets the third element
void | add (T dx, T dy, T dz)
| increases the actuals values by dx, dy, dz
STOFFVec3< T > & | operator+= (STOFFVec3< T > const &p)
| operator+=
STOFFVec3< T > & | operator-= (STOFFVec3< T > const &p)
| operator-=
template<class U >
STOFFVec3< T > & | operator*= (U scale)
| generic operator*=
bool | operator== (STOFFVec3< T > const &p) const
| comparison==
bool | operator!= (STOFFVec3< T > const &p) const
| comparison!=
bool | operator< (STOFFVec3< T > const &p) const
| comparison<: which first compares x values, then y values then z values.
int | cmp (STOFFVec3< T > const &p) const
| a comparison function: which first compares x values, then y values then z values.

## Protected Attributes
T | m_val [3]
| the values

## Friends
STOFFVec3< T > | operator+ (STOFFVec3< T > const &p1, STOFFVec3< T > const &p2)
| operator+
STOFFVec3< T > | operator- (STOFFVec3< T > const &p1, STOFFVec3< T > const &p2)
| operator-
template<class U >
STOFFVec3< T > | operator* (U scale, STOFFVec3< T > const &p1)
| generic operator*
std::ostream & | operator<< (std::ostream &o, STOFFVec3< T > const &f)
| operator<<: prints data in form "XxYxZ"

## Detailed Description

template<class T>
class STOFFVec3< T >

small class which defines a vector with 3 elements

## Member Typedef Documentation

## ◆ Map

template<class T >

typedef std::map<STOFFVec3<T>, T,struct PosSizeLt> STOFFVec3< T >::Map

map of STOFFVec3

## Constructor & Destructor Documentation

## ◆ STOFFVec3() [1/2]

template<class T >

STOFFVec3< T >::STOFFVec3 | ( | T | xx = 0,
|  | T | yy = 0,
|  | T | zz = 0 )
| inline

constructor

## ◆ STOFFVec3() [2/2]

template<class T >
template<class U >

STOFFVec3< T >::STOFFVec3 | ( | STOFFVec3< U > const & | p | ) |
| inline

generic copy constructor

## Member Function Documentation

## ◆ add()

template<class T >

void STOFFVec3< T >::add | ( | T | dx,
|  | T | dy,
|  | T | dz )
| inline

increases the actuals values by dx, dy, dz

## ◆ cmp()

template<class T >

int STOFFVec3< T >::cmp | ( | STOFFVec3< T > const & | p | ) | const
| inline

a comparison function: which first compares x values, then y values then z values.

Referenced by STOFFVec3< T >::operator!=(), STOFFVec3< T >::PosSizeLt::operator()(), STOFFVec3< T >::operator<(), and STOFFVec3< T >::operator==().

## ◆ operator!=()

template<class T >

bool STOFFVec3< T >::operator!= | ( | STOFFVec3< T > const & | p | ) | const
| inline

comparison!=

## ◆ operator*=()

template<class T >
template<class U >

STOFFVec3< T > & STOFFVec3< T >::operator*= | ( | U | scale | ) |
| inline

generic operator*=

## ◆ operator+=()

template<class T >

STOFFVec3< T > & STOFFVec3< T >::operator+= | ( | STOFFVec3< T > const & | p | ) |
| inline

operator+=

## ◆ operator-=()

template<class T >

STOFFVec3< T > & STOFFVec3< T >::operator-= | ( | STOFFVec3< T > const & | p | ) |
| inline

operator-=

## ◆ operator<()

template<class T >

bool STOFFVec3< T >::operator< | ( | STOFFVec3< T > const & | p | ) | const
| inline

comparison<: which first compares x values, then y values then z values.

## ◆ operator==()

template<class T >

bool STOFFVec3< T >::operator== | ( | STOFFVec3< T > const & | p | ) | const
| inline

comparison==

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

template<class T >

T & STOFFVec3< T >::operator[] | ( | int | c | ) |
| inline

operator[]

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

template<class T >

T STOFFVec3< T >::operator[] | ( | int | c | ) | const
| inline

operator[]

## ◆ set()

template<class T >

void STOFFVec3< T >::set | ( | T | xx,
|  | T | yy,
|  | T | zz )
| inline

resets the three elements

## ◆ setX()

template<class T >

void STOFFVec3< T >::setX | ( | T | xx | ) |
| inline

resets the first element

## ◆ setY()

template<class T >

void STOFFVec3< T >::setY | ( | T | yy | ) |
| inline

resets the second element

## ◆ setZ()

template<class T >

void STOFFVec3< T >::setZ | ( | T | zz | ) |
| inline

resets the third element

## ◆ x()

template<class T >

T STOFFVec3< T >::x | ( |  | ) | const
| inline

first element

## ◆ y()

template<class T >

T STOFFVec3< T >::y | ( |  | ) | const
| inline

second element

## ◆ z()

template<class T >

T STOFFVec3< T >::z | ( |  | ) | const
| inline

third element

## Friends And Related Symbol Documentation

## ◆ operator*

template<class T >
template<class U >

STOFFVec3< T > operator* | ( | U | scale,
|  | STOFFVec3< T > const & | p1 )
| friend

generic operator*

## ◆ operator+

template<class T >

STOFFVec3< T > operator+ | ( | STOFFVec3< T > const & | p1,
|  | STOFFVec3< T > const & | p2 )
| friend

operator+

## ◆ operator-

template<class T >

STOFFVec3< T > operator- | ( | STOFFVec3< T > const & | p1,
|  | STOFFVec3< T > const & | p2 )
| friend

operator-

## ◆ operator<<

template<class T >

std::ostream & operator<< | ( | std::ostream & | o,
|  | STOFFVec3< T > const & | f )
| friend

operator<<: prints data in form "XxYxZ"

## Member Data Documentation

## ◆ m_val

template<class T >

T STOFFVec3< T >::m_val[3]
| protected

the values

Referenced by STOFFVec3< T >::add(), STOFFVec3< T >::cmp(), STOFFVec3< T >::operator*=(), STOFFVec3< T >::operator+=(), STOFFVec3< T >::operator-=(), STOFFVec3< T >::operator[](), STOFFVec3< T >::operator[](), STOFFVec3< T >::set(), STOFFVec3< T >::setX(), STOFFVec3< T >::setY(), STOFFVec3< T >::setZ(), STOFFVec3< T >::STOFFVec3(), STOFFVec3< T >::STOFFVec3(), STOFFVec3< T >::x(), STOFFVec3< T >::y(), and STOFFVec3< T >::z().

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

- libstaroffice_internal.hxx