Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
ivec Struct Reference

3-dimensional INTEGER vectors More...

#include <geom.hpp>

Public Member Functions

 ivec ()
 
 ivec (const vec &v)
 
 ivec (int a, int b, int c)
 
 ivec (int d, int row, int col, int depth)
 
 ivec (int i, const ivec &co, int size)
 
 ivec (const ivec4 &v)
 
 ivec (const ivec2 &v, int z=0)
 
 ivec (const usvec &v)
 
 ivec (const svec &v)
 
int & operator[] (int i)
 
int operator[] (int i) const
 
bool operator== (const ivec &v) const
 
bool operator!= (const ivec &v) const
 
bool iszero () const
 
ivecshl (int n)
 
ivecshr (int n)
 
ivecmul (int n)
 
ivecdiv (int n)
 
ivecadd (int n)
 
ivecsub (int n)
 
ivecmul (const ivec &v)
 
ivecdiv (const ivec &v)
 
ivecadd (const ivec &v)
 
ivecsub (const ivec &v)
 
ivecmask (int n)
 
ivecneg ()
 
ivecmin (const ivec &o)
 
ivecmax (const ivec &o)
 
ivecmin (int n)
 
ivecmax (int n)
 
ivecabs ()
 
ivecclamp (int l, int h)
 
iveccross (const ivec &a, const ivec &b)
 
int dot (const ivec &o) const
 
float dist (const plane &p) const
 

Static Public Member Functions

static ivec floor (const vec &o)
 
static ivec ceil (const vec &o)
 

Public Attributes

union {
   struct {
int x
 
int y
 
int z
 
   } 
 
   struct {
int r
 
int g
 
int b
 
   } 
 
int v [3]
 
}; 
 

Friends

std::ostream & operator<< (std::ostream &os, const ivec &v)
 Output operator, used for simple << ivec << functionality: output of form "(x, y, z)". More...
 

Detailed Description

3-dimensional INTEGER vectors

Constructor & Destructor Documentation

ivec::ivec ( )
inline

Referenced by ceil(), and floor().

ivec::ivec ( const vec v)
inlineexplicit
ivec::ivec ( int  a,
int  b,
int  c 
)
inline
ivec::ivec ( int  d,
int  row,
int  col,
int  depth 
)
inline

References C, D, hmap::d, and R.

ivec::ivec ( int  i,
const ivec co,
int  size 
)
inline
ivec::ivec ( const ivec4 v)
inlineexplicit
ivec::ivec ( const ivec2 v,
int  z = 0 
)
inlineexplicit
ivec::ivec ( const usvec v)
inlineexplicit
ivec::ivec ( const svec v)
inlineexplicit

Member Function Documentation

ivec& ivec::abs ( )
inline

Referenced by pvsworker::cullpvs().

ivec& ivec::add ( int  n)
inline
ivec& ivec::add ( const ivec v)
inline
static ivec ivec::ceil ( const vec o)
inlinestatic

References ceil(), and ivec().

Referenced by BIH::BIH(), and ceil().

ivec& ivec::clamp ( int  l,
int  h 
)
inline
ivec& ivec::cross ( const ivec a,
const ivec b 
)
inline
float ivec::dist ( const plane p) const
inline

References plane::offset.

Referenced by isfoggedcube(), ishiddencube(), and isvisiblecube().

ivec& ivec::div ( int  n)
inline

Referenced by calcvert(), and reduceslope().

ivec& ivec::div ( const ivec v)
inline
int ivec::dot ( const ivec o) const
inline
static ivec ivec::floor ( const vec o)
inlinestatic

References floor(), and ivec().

Referenced by BIH::BIH(), and floor().

bool ivec::iszero ( ) const
inline
ivec& ivec::mask ( int  n)
inline
ivec& ivec::max ( const ivec o)
inline
ivec& ivec::max ( int  n)
inline

References inexor::rpc::max().

ivec& ivec::min ( const ivec o)
inline
ivec& ivec::min ( int  n)
inline

References inexor::rpc::min().

ivec& ivec::mul ( int  n)
inline
ivec& ivec::mul ( const ivec v)
inline
ivec& ivec::neg ( )
inline

References mul().

Referenced by addnormals(), and gencubeedges().

bool ivec::operator!= ( const ivec v) const
inline
bool ivec::operator== ( const ivec v) const
inline
int& ivec::operator[] ( int  i)
inline
int ivec::operator[] ( int  i) const
inline
ivec& ivec::shl ( int  n)
inline
ivec& ivec::shr ( int  n)
inline
ivec& ivec::sub ( int  n)
inline
ivec& ivec::sub ( const ivec v)
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const ivec v 
)
friend

Output operator, used for simple << ivec << functionality: output of form "(x, y, z)".

Member Data Documentation

union { ... }

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