class Vector3D

Methods for manipulation with standard 3D vectors

Public Fields

dfloat x
dfloat y
dfloat z

Public

Constructors
Vector3D(dfloat X, dfloat Y, dfloat Z)
Vector3D(dfloat X)
Vector3D(const Vector3D& v)
Access to components
dfloat& operator[] (int inx)
Direct access to vector components
const dfloat& operator[] (int inx) const
Direct access to vector components
void ExtractVerts(dfloat *px, dfloat *py, int which) const
Project the vector onto the YZ, XZ, or XY plane depending on which
Unary operators
Vector3D operator+ () const
Vector3D operator- () const
Binary operators between vectors and scalars
Vector3D& operator*= (dfloat A)
Vector3D& operator/= (dfloat A)
friend Vector3D operator/ (const Vector3D& A, dfloat B)
friend Vector3D operator* (const Vector3D& A, dfloat B)
friend Vector3D operator* (dfloat A, const Vector3D& B)
Binary operators
Vector3D& operator-= (const Vector3D& A)
Vector3D& operator*= (const Vector3D& A)
friend Vector3D operator+ (const Vector3D& A, const Vector3D& B)
friend Vector3D operator- (const Vector3D& A, const Vector3D& B)
friend Vector3D operator* (const Vector3D& A, const Vector3D& B)
returns (a.x*b x, a.y*b.y, a.z*b.z)
friend Vector3D operator/ (const Vector3D& A, const Vector3D& B)
returns (a.x/b x, a.y/b.y, a.z/b.z)
Comparison operators
friend int operator< (const Vector3D& A, const Vector3D& B)
comparison (logical AND of compoment comparisons)
friend int operator> (const Vector3D& A, const Vector3D& B)
comparison (logical AND of compoment comparisons)
friend int operator== (const Vector3D& A, const Vector3D& B)
comparison (logical AND of compoment comparisons)
Other methods
friend dfloat Magnitude2(const Vector3D& v)
Squared magnitude of a vector
friend dfloat Magnitude(const Vector3D& v)
Magnitude of a vector
friend Vector3D Normalize(const Vector3D& A)
Vector normalization
friend Vector3D PlaneRotate(const Matrix&, const Vector3D&)
Rotate a normal vector.
friend dfloat DotProd(const Vector3D& A, const Vector3D& B)
Dot product
friend Vector3D CrossProd(const Vector3D& A, const Vector3D& B)
Cross product
friend void Minimize(Vector3D& min, const Vector3D& Candidate)
Minimum of components (result in min)
friend void Maximize(Vector3D& max, const Vector3D& Candidate)
Maximum of components (result in max)
friend Vector3D Solve3D(const Vector3D& l1, const Vector3D& l2, const Vector3D& l3, const Vector3D& r)
Solve a system of 3 linear equations
friend Vector3D operator* (const Matrix&, const Vector3D&)
Multiplication of a matrix by a vector
friend ostream& operator<< (ostream& s, const Vector3D& A)
Overloaded << operator for C++-style output

Documentation

Methods for manipulation with standard 3D vectors.

Include file: f3dVector3d.h

Adopted from: The Object-Oriented Ray Tracer (OORT) Copyright (C) 1993 by Nicholas Wilt.

dfloat x

dfloat y

dfloat z

Constructors

Vector3D(dfloat X, dfloat Y, dfloat Z)

Vector3D(dfloat X)

Vector3D(const Vector3D& v)

Access to components

dfloat& operator[] (int inx)
Direct access to vector components

const dfloat& operator[] (int inx) const
Direct access to vector components

void ExtractVerts(dfloat *px, dfloat *py, int which) const
Project the vector onto the YZ, XZ, or XY plane depending on which.
    which	Coordinate plane to project onto
    0		YZ
    1		XZ
    2		XY
    
This function is used by the polygon intersection code.

Unary operators

Vector3D operator+ () const

Vector3D operator- () const

Binary operators between vectors and scalars

Vector3D& operator*= (dfloat A)

Vector3D& operator/= (dfloat A)

friend Vector3D operator/ (const Vector3D& A, dfloat B)

friend Vector3D operator* (const Vector3D& A, dfloat B)

friend Vector3D operator* (dfloat A, const Vector3D& B)

Binary operators

Vector3D& operator-= (const Vector3D& A)

Vector3D& operator*= (const Vector3D& A)

friend Vector3D operator+ (const Vector3D& A, const Vector3D& B)

friend Vector3D operator- (const Vector3D& A, const Vector3D& B)

friend Vector3D operator* (const Vector3D& A, const Vector3D& B)
returns (a.x*b x, a.y*b.y, a.z*b.z)

friend Vector3D operator/ (const Vector3D& A, const Vector3D& B)
returns (a.x/b x, a.y/b.y, a.z/b.z)

Comparison operators

friend int operator< (const Vector3D& A, const Vector3D& B)
comparison (logical AND of compoment comparisons)

friend int operator> (const Vector3D& A, const Vector3D& B)
comparison (logical AND of compoment comparisons)

friend int operator== (const Vector3D& A, const Vector3D& B)
comparison (logical AND of compoment comparisons)

Other methods

friend dfloat Magnitude2(const Vector3D& v)
Squared magnitude of a vector

friend dfloat Magnitude(const Vector3D& v)
Magnitude of a vector

friend Vector3D Normalize(const Vector3D& A)
Vector normalization

friend Vector3D PlaneRotate(const Matrix&, const Vector3D&)
Rotate a normal vector.

friend dfloat DotProd(const Vector3D& A, const Vector3D& B)
Dot product

friend Vector3D CrossProd(const Vector3D& A, const Vector3D& B)
Cross product

friend void Minimize(Vector3D& min, const Vector3D& Candidate)
Minimum of components (result in min)

friend void Maximize(Vector3D& max, const Vector3D& Candidate)
Maximum of components (result in max)

friend Vector3D Solve3D(const Vector3D& l1, const Vector3D& l2, const Vector3D& l3, const Vector3D& r)
Solve a system of 3 linear equations.

l1,l2,l3: left side columns r: right side column

friend Vector3D operator* (const Matrix&, const Vector3D&)
Multiplication of a matrix by a vector

friend ostream& operator<< (ostream& s, const Vector3D& A)
Overloaded << operator for C++-style output


This class has no child classes.
Author:
Nicholas Wilt and Milos Sramek
Version:
1.0

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de