Vamos_Geometry::Three_Vector Class Reference

#include <Three_Vector.h>

Collaboration diagram for Vamos_Geometry::Three_Vector:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Three_Vector ()
 Three_Vector (double x, double y, double z)
 Three_Vector (double[3])
 Three_Vector (const Three_Vector &vec)
Three_Vectoroperator= (const Three_Vector &vec)
double & operator[] (int index)
const double & operator[] (int index) const
void zero ()
double abs () const
double magnitude () const
double dot (const Three_Vector &vec) const
Three_Vector cross (const Three_Vector &vec) const
Three_Vector project (const Three_Vector &vec) const
Three_Vector back_project (const Three_Vector &vec) const
double perp_distance (const Three_Vector &point1, const Three_Vector &point2) const
Three_Vector unit () const
double component (const Three_Vector &vec) const
double angle (const Three_Vector &vec) const
Three_Vector rotate (double x, double y, double z) const
Three_Vectoroperator+= (const Three_Vector &vec)
Three_Vectoroperator-= (const Three_Vector &vec)
Three_Vectoroperator *= (double factor)
Three_Vectoroperator/= (double factor)

Public Attributes

double m_vec [3]

Static Public Attributes

static const Three_Vector X = Three_Vector (1.0, 0.0, 0.0)
static const Three_Vector Y = Three_Vector (0.0, 1.0, 0.0)
static const Three_Vector Z = Three_Vector (0.0, 0.0, 1.0)

Detailed Description

Definition at line 29 of file Three_Vector.h.


Constructor & Destructor Documentation

Vamos_Geometry::Three_Vector::Three_Vector  ) 
 

Definition at line 34 of file Three_Vector.cc.

References m_vec.

Referenced by back_project(), cross(), project(), and unit().

Vamos_Geometry::Three_Vector::Three_Vector double  x,
double  y,
double  z
 

Definition at line 43 of file Three_Vector.cc.

References m_vec.

Vamos_Geometry::Three_Vector::Three_Vector double  [3]  ) 
 

Definition at line 52 of file Three_Vector.cc.

References m_vec.

Vamos_Geometry::Three_Vector::Three_Vector const Three_Vector vec  )  [inline]
 

Definition at line 91 of file Three_Vector.h.

References m_vec.


Member Function Documentation

double Vamos_Geometry::Three_Vector::abs  )  const [inline]
 

Definition at line 100 of file Three_Vector.h.

References m_vec.

Referenced by angle(), back_project(), component(), Vamos_Body::Contact_Point::contact(), Vamos_Body::Drag::find_forces(), Vamos_Body::Tire_Friction::friction_forces(), Vamos_Body::Tire::input(), magnitude(), perp_distance(), project(), Vamos_Geometry::Three_Matrix::rotate(), Vamos_Body::Rigid_Body::single_point_contact(), unit(), and Null_Vector::Zero_Length().

double Vamos_Geometry::Three_Vector::angle const Three_Vector vec  )  const
 

Definition at line 147 of file Three_Vector.cc.

References abs().

Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::back_project const Three_Vector vec  )  const
 

Definition at line 107 of file Three_Vector.cc.

References abs(), dot(), and Three_Vector().

double Vamos_Geometry::Three_Vector::component const Three_Vector vec  )  const
 

Definition at line 126 of file Three_Vector.cc.

References abs(), and dot().

Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::cross const Three_Vector vec  )  const
 

Definition at line 88 of file Three_Vector.cc.

References m_vec, and Three_Vector().

Referenced by Unit_Vectors::cross_products(), Vamos_Geometry::Inertia_Tensor::inertia(), and Vamos_Body::Rigid_Body::single_point_contact().

double Vamos_Geometry::Three_Vector::dot const Three_Vector vec  )  const
 

Definition at line 81 of file Three_Vector.cc.

References m_vec.

Referenced by back_project(), component(), Unit_Vectors::dot_products(), Vamos_Body::Wing::find_forces(), project(), and Vamos_Body::Car::steer().

double Vamos_Geometry::Three_Vector::magnitude  )  const [inline]
 

Definition at line 54 of file Three_Vector.h.

References abs().

Referenced by Vamos_Body::Suspension::Suspension().

Vamos_Geometry::Three_Vector & Vamos_Geometry::Three_Vector::operator *= double  factor  ) 
 

Definition at line 181 of file Three_Vector.cc.

References m_vec.

Vamos_Geometry::Three_Vector & Vamos_Geometry::Three_Vector::operator+= const Three_Vector vec  ) 
 

Definition at line 163 of file Three_Vector.cc.

References m_vec.

Vamos_Geometry::Three_Vector & Vamos_Geometry::Three_Vector::operator-= const Three_Vector vec  ) 
 

Definition at line 172 of file Three_Vector.cc.

References m_vec.

Vamos_Geometry::Three_Vector & Vamos_Geometry::Three_Vector::operator/= double  factor  ) 
 

Definition at line 190 of file Three_Vector.cc.

References m_vec.

Vamos_Geometry::Three_Vector & Vamos_Geometry::Three_Vector::operator= const Three_Vector vec  ) 
 

Definition at line 61 of file Three_Vector.cc.

References m_vec.

const double& Vamos_Geometry::Three_Vector::operator[] int  index  )  const [inline]
 

Definition at line 48 of file Three_Vector.h.

References m_vec.

double& Vamos_Geometry::Three_Vector::operator[] int  index  )  [inline]
 

Definition at line 47 of file Three_Vector.h.

References m_vec.

double Vamos_Geometry::Three_Vector::perp_distance const Three_Vector point1,
const Three_Vector point2
const
 

Definition at line 117 of file Three_Vector.cc.

References abs(), and project().

Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::project const Three_Vector vec  )  const
 

Definition at line 97 of file Three_Vector.cc.

References abs(), dot(), Three_Vector(), and unit().

Referenced by Vamos_Body::Contact_Point::contact(), Vamos_Body::Wheel::find_forces(), Vamos_Geometry::Inertia_Tensor::inertia(), perp_distance(), Vamos_Body::Rigid_Body::propagate_contact(), and Vamos_Body::Rigid_Body::single_point_contact().

Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::rotate double  x,
double  y,
double  z
const
 

Definition at line 153 of file Three_Vector.cc.

References Vamos_Geometry::Three_Matrix::identity(), and Vamos_Geometry::Three_Matrix::rotate().

Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::unit  )  const
 

Definition at line 136 of file Three_Vector.cc.

References abs(), and Three_Vector().

Referenced by Vamos_Body::Contact_Point::contact(), Vamos_Body::Suspension::displace(), Vamos_Body::Wheel::find_forces(), Vamos_Geometry::Inertia_Tensor::inertia(), Vamos_Body::Tire::input(), Vamos_Body::Tire::orient_frame_with_unit_vector(), project(), and Vamos_Body::Rigid_Body::single_point_contact().

void Vamos_Geometry::Three_Vector::zero  ) 
 

Definition at line 74 of file Three_Vector.cc.

References m_vec.

Referenced by Vamos_Body::Wheel::find_forces(), Vamos_Body::Tire::find_forces(), Vamos_Body::Suspension::find_forces(), Vamos_Body::Contact_Point::find_forces(), Vamos_Body::Rigid_Body::private_reset(), Vamos_Body::Tire::reset(), Vamos_Body::Suspension::reset(), and Vamos_Body::Exerter::reset().


Member Data Documentation

double Vamos_Geometry::Three_Vector::m_vec[3]
 

Definition at line 35 of file Three_Vector.h.

Referenced by abs(), cross(), dot(), Vamos_Body::Car::LoadCarDefinition(), operator *=(), operator+=(), operator-=(), operator/=(), operator=(), operator[](), Three_Vector(), and zero().

const Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::X = Three_Vector (1.0, 0.0, 0.0) [static]
 

Definition at line 84 of file Three_Vector.h.

const Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::Y = Three_Vector (0.0, 1.0, 0.0) [static]
 

Definition at line 85 of file Three_Vector.h.

const Vamos_Geometry::Three_Vector Vamos_Geometry::Three_Vector::Z = Three_Vector (0.0, 0.0, 1.0) [static]
 

Definition at line 86 of file Three_Vector.h.


The documentation for this class was generated from the following files:
Generated on Thu Oct 19 04:14:01 2006 by  doxygen 1.4.6