topical media & game development
lib-of-vs-addons-ofxVectorMath-src-ofxVec4f.h / h
ifndef _OFX_VEC4f
define _OFX_VEC4f
include <ofConstants.h>
include <ofTypes.h>
class ofxVec4f : public ofPoint {
public:
float w;
ofxVec4f( float _x=0.0f,
float _y=0.0f,
float _z=0.0f,
float _w=0.0f );
// Getters and Setters.
//
//
void set( float _x, float _y, float _z, float _w );
void set( const ofxVec4f& vec );
float &operator[]( const int& i );
// Check similarity/equality.
//
//
bool operator==( const ofxVec4f& vec );
bool operator!=( const ofxVec4f& vec );
bool match( const ofxVec4f& vec, float tollerance=0.0001);
// Additions and Subtractions.
//
//
ofxVec4f operator+( const ofxVec4f& vec ) const;
ofxVec4f& operator+=( const ofxVec4f& vec );
ofxVec4f operator-( const float f ) const;
ofxVec4f& operator-=( const float f );
ofxVec4f operator-( const ofxVec4f& vec ) const;
ofxVec4f& operator-=( const ofxVec4f& vec );
ofxVec4f operator+( const float f ) const;
ofxVec4f& operator+=( const float f );
ofxVec4f operator-() const;
// Scalings
//
//
ofxVec4f operator*( const ofxVec4f& vec ) const;
ofxVec4f& operator*=( const ofxVec4f& vec );
ofxVec4f operator*( const float f ) const;
ofxVec4f& operator*=( const float f );
ofxVec4f operator/( const ofxVec4f& vec ) const;
ofxVec4f& operator/=( const ofxVec4f& vec );
ofxVec4f operator/( const float f ) const;
ofxVec4f& operator/=( const float f );
ofxVec4f getScaled( const float length ) const;
ofxVec4f& scale( const float length );
// Normalization
//
//
ofxVec4f getNormalized() const;
ofxVec4f& normalize();
// Limit length.
//
//
ofxVec4f getLimited(float max) const;
ofxVec4f& limit(float max);
// Length
//
//
float length() const;
float squareLength() const;
Dot Product.
float dot( const ofxVec4f& vec ) const;
//---------------------------------------
// this methods are deprecated in 006 please use:
// getScaled
ofxVec4f rescaled( const float length ) const;
// scale
ofxVec4f& rescale( const float length );
// getNormalized
ofxVec4f normalized() const;
// getLimited
ofxVec4f limited(float max) const;
// squareLength
float lengthSquared() const;
};
// Non-Member operators
//
//
ofxVec4f operator+( float f, const ofxVec4f& vec );
ofxVec4f operator-( float f, const ofxVec4f& vec );
ofxVec4f operator*( float f, const ofxVec4f& vec );
ofxVec4f operator/( float f, const ofxVec4f& vec );
endif
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.