TexCoordinate Class Reference

#include <TexCoordinate.h>

List of all members.

Public Member Functions

 TexCoordinate ()
 TexCoordinate (float x, float y)
 TexCoordinate (float f)
void setX (float newx)
float x () const
void setY (float newy)
float y () const
float operator[] (int i) const
TexCoordinateoperator= (const TexCoordinate &b)
int maxDim () const
void setMin (TexCoordinate &other)
void setMax (TexCoordinate &other)
float dot (const TexCoordinate &b) const
TexCoordinate fabs () const
float length () const
TexCoordinate normal () const
void normalize ()
TexCoordinate operator- () const
void operator *= (float f)
void scale (const TexCoordinate &w)
TexCoordinate scaled (const TexCoordinate &w) const
void operator/= (float f)
TexCoordinate operator+ (const TexCoordinate &b) const
TexCoordinateoperator+= (const TexCoordinate &b)
TexCoordinate operator- (const TexCoordinate &b) const
TexCoordinateoperator-= (const TexCoordinate &b)
TexCoordinate reciprocal () const

Private Attributes

float mValues [2]

Friends

TexCoordinate min (const TexCoordinate a, const TexCoordinate b)
TexCoordinate max (const TexCoordinate a, const TexCoordinate b)
TexCoordinate operator * (const TexCoordinate &w, float f)
TexCoordinate operator * (float f, const TexCoordinate &w)
TexCoordinate operator/ (const TexCoordinate &w, float f)
std::ostream & operator<< (std::ostream &o, const TexCoordinate &w)


Detailed Description

A 2D vector for texture coordinates

Author:
Christian Engels

Definition at line 15 of file TexCoordinate.h.


Constructor & Destructor Documentation

TexCoordinate::TexCoordinate (  )  [inline]

Definition at line 26 of file TexCoordinate.h.

References mValues.

Referenced by fabs(), operator+(), operator-(), reciprocal(), and scaled().

TexCoordinate::TexCoordinate ( float  x,
float  y 
) [inline]

Definition at line 31 of file TexCoordinate.h.

References mValues.

TexCoordinate::TexCoordinate ( float  f  )  [inline]

Definition at line 37 of file TexCoordinate.h.

References mValues.


Member Function Documentation

void TexCoordinate::setX ( float  newx  )  [inline]

set the x coordinate

Definition at line 45 of file TexCoordinate.h.

References mValues.

float TexCoordinate::x (  )  const [inline]

const x coordinate

Definition at line 52 of file TexCoordinate.h.

References mValues.

Referenced by Shader::normal(), WoodShader::shade(), CloudShader::shade(), TexturedSmoothTriangle::texCoord(), and Texture::texel().

void TexCoordinate::setY ( float  newy  )  [inline]

set the y coordinate

Definition at line 59 of file TexCoordinate.h.

References mValues.

Referenced by WoodShader::shade(), and CloudShader::shade().

float TexCoordinate::y (  )  const [inline]

const y coordinate

Definition at line 66 of file TexCoordinate.h.

References mValues.

Referenced by Shader::normal(), WoodShader::shade(), CloudShader::shade(), TexturedSmoothTriangle::texCoord(), and Texture::texel().

float TexCoordinate::operator[] ( int  i  )  const [inline]

get a the apropiate coordinate (0=x, 1=y)

Definition at line 72 of file TexCoordinate.h.

References mValues.

TexCoordinate& TexCoordinate::operator= ( const TexCoordinate b  )  [inline]

Definition at line 77 of file TexCoordinate.h.

References mValues.

int TexCoordinate::maxDim (  )  const [inline]

get the maximum dimension the vector has (how many of the values are not 0

Definition at line 85 of file TexCoordinate.h.

References mValues.

void TexCoordinate::setMin ( TexCoordinate other  )  [inline]

set every coordinate to the minimum of the coordinate of this vector and the other

Definition at line 91 of file TexCoordinate.h.

References min(), and mValues.

void TexCoordinate::setMax ( TexCoordinate other  )  [inline]

set every coordinate to the maximum of the coordinate of this vector and the other

Definition at line 98 of file TexCoordinate.h.

References max(), and mValues.

float TexCoordinate::dot ( const TexCoordinate b  )  const [inline]

dot product

Definition at line 105 of file TexCoordinate.h.

References mValues.

TexCoordinate TexCoordinate::fabs (  )  const [inline]

absolute value

Definition at line 112 of file TexCoordinate.h.

References mValues, and TexCoordinate().

float TexCoordinate::length (  )  const [inline]

the length of the vector

Definition at line 118 of file TexCoordinate.h.

Referenced by normal(), and normalize().

TexCoordinate TexCoordinate::normal (  )  const [inline]

Returns:
a normalized version of this vector

Definition at line 124 of file TexCoordinate.h.

References EPSILON, and length().

void TexCoordinate::normalize (  )  [inline]

normalize this vector

Definition at line 131 of file TexCoordinate.h.

References EPSILON, and length().

TexCoordinate TexCoordinate::operator- (  )  const [inline]

unary -

Definition at line 138 of file TexCoordinate.h.

References mValues, and TexCoordinate().

void TexCoordinate::operator *= ( float  f  )  [inline]

scale and assign

Definition at line 144 of file TexCoordinate.h.

References mValues.

void TexCoordinate::scale ( const TexCoordinate w  )  [inline]

scale this vector component-wise with the other vector

Definition at line 151 of file TexCoordinate.h.

References mValues.

TexCoordinate TexCoordinate::scaled ( const TexCoordinate w  )  const [inline]

Returns:
a component-wise scale of this vector

Definition at line 158 of file TexCoordinate.h.

References mValues, and TexCoordinate().

void TexCoordinate::operator/= ( float  f  )  [inline]

scale by reciprocal and assign

Definition at line 165 of file TexCoordinate.h.

TexCoordinate TexCoordinate::operator+ ( const TexCoordinate b  )  const [inline]

add vectors

Definition at line 171 of file TexCoordinate.h.

References mValues, and TexCoordinate().

TexCoordinate& TexCoordinate::operator+= ( const TexCoordinate b  )  [inline]

add and assign

Definition at line 177 of file TexCoordinate.h.

References mValues.

TexCoordinate TexCoordinate::operator- ( const TexCoordinate b  )  const [inline]

substract veltors

Definition at line 185 of file TexCoordinate.h.

References mValues, and TexCoordinate().

TexCoordinate& TexCoordinate::operator-= ( const TexCoordinate b  )  [inline]

substract and assign

Definition at line 191 of file TexCoordinate.h.

References mValues.

TexCoordinate TexCoordinate::reciprocal (  )  const [inline]

Returns:
a component-wise reciprocaled version of this vector (1.0f/vector)

Definition at line 199 of file TexCoordinate.h.

References mValues, and TexCoordinate().


Friends And Related Function Documentation

TexCoordinate min ( const TexCoordinate  a,
const TexCoordinate  b 
) [friend]

component wise minimum of the vectors

Definition at line 209 of file TexCoordinate.h.

TexCoordinate max ( const TexCoordinate  a,
const TexCoordinate  b 
) [friend]

component wise maximum of the vectors

Definition at line 216 of file TexCoordinate.h.

TexCoordinate operator * ( const TexCoordinate w,
float  f 
) [friend]

scale vector

Definition at line 223 of file TexCoordinate.h.

TexCoordinate operator * ( float  f,
const TexCoordinate w 
) [friend]

scale vector

Definition at line 229 of file TexCoordinate.h.

TexCoordinate operator/ ( const TexCoordinate w,
float  f 
) [friend]

scale by reciprocal

Definition at line 235 of file TexCoordinate.h.

std::ostream& operator<< ( std::ostream &  o,
const TexCoordinate w 
) [friend]

write to output stream

Definition at line 241 of file TexCoordinate.h.


Member Data Documentation

float TexCoordinate::mValues[2] [private]

Definition at line 205 of file TexCoordinate.h.

Referenced by dot(), fabs(), max(), maxDim(), min(), operator *(), operator *=(), operator+(), operator+=(), operator-(), operator-=(), operator<<(), operator=(), operator[](), reciprocal(), scale(), scaled(), setMax(), setMin(), setX(), setY(), TexCoordinate(), x(), and y().


The documentation for this class was generated from the following file:
Generated on Fri Feb 1 00:02:31 2008 for Grayfall by  doxygen 1.5.1