csVector2 Class Reference
[Geometry utilities]
A 2D vector.
More...
#include <csgeom/vector2.h>
Public Member Functions | |
| csVector2 (const csVector2 &o) | |
| Copyconstructor. | |
| csVector2 (float x, float y) | |
| Make a new vector and initialize with the given values. | |
| csVector2 (float v) | |
| Make a new vector and initialize with the given values. | |
| csVector2 () | |
| Make a new vector. No initialization is done. | |
| csString | Description () const |
| Return a textual representation of the vector in the form "x,y". | |
| void | Get (float *v) |
| Get the value of this vector. | |
| float | IsLeft (const csVector2 &p0, const csVector2 &p1) |
| Test if this point is left of the line through p0 and p1. | |
| float | Norm () const |
| Return the norm (magnitude) of this vector. | |
| csVector2 & | operator *= (float f) |
| Multiply this vector by a scalar. | |
| csVector2 | operator+ () const |
| Unary + operator. | |
| csVector2 & | operator+= (const csVector2 &v) |
| Add another vector to this vector. | |
| csVector2 | operator- () const |
| Unary - operator. | |
| csVector2 & | operator-= (const csVector2 &v) |
| Subtract another vector from this vector. | |
| csVector2 & | operator/= (float f) |
| Divide this vector by a scalar. | |
| float & | operator[] (int n) |
| Returns n-th component of the vector. | |
| float | operator[] (int n) const |
| Returns n-th component of the vector. | |
| void | Rotate (float angle) |
| Rotate vector around the origin by a given angle in radians. | |
| void | Set (float v) |
| Set the value of this vector so that all components are the same. | |
| void | Set (float const *v) |
| Set the value of this vector. | |
| void | Set (csVector2 const &v) |
| Set vector to given values. | |
| void | Set (float ix, float iy) |
| Set vector to given values. | |
| float | SquaredNorm () const |
| Return the squared norm (magnitude) of this vector. | |
Static Public Member Functions | |
| static float | Norm (csVector2 const &v) |
| Return the norm (magnitude) of a 2D vector. | |
Public Attributes | |
| float | x |
| X component of vector. | |
| float | y |
| Y component of vector. | |
Friends | |
| csVector2 | operator * (float f, const csVector2 &v) |
| Multiply a vector and a scalar. | |
| csVector2 | operator * (const csVector2 &v, float f) |
| Multiply a vector and a scalar. | |
| float | operator * (const csVector2 &v1, const csVector2 &v2) |
| Take the dot product of two vectors. | |
| bool | operator!= (const csVector2 &v1, const csVector2 &v2) |
| Check if two vectors are not equal. | |
| csVector2 | operator+ (const csVector2 &v1, const csVector2 &v2) |
| Add two vectors. | |
| csVector2 | operator- (const csVector2 &v1, const csVector2 &v2) |
| Subtract two vectors. | |
| csVector2 | operator/ (const csVector2 &v, float f) |
| Divide a vector by a scalar. | |
| bool | operator< (const csVector2 &v, float f) |
| Test if each component of a vector is less than a small epsilon value. | |
| bool | operator== (const csVector2 &v1, const csVector2 &v2) |
| Check if two vectors are equal. | |
| bool | operator> (float f, const csVector2 &v) |
| Test if each component of a vector is greater than a small epsilon value. | |
Detailed Description
A 2D vector.
Definition at line 37 of file vector2.h.
Constructor & Destructor Documentation
| csVector2::csVector2 | ( | ) | [inline] |
| csVector2::csVector2 | ( | float | v | ) | [inline] |
| csVector2::csVector2 | ( | float | x, | |
| float | y | |||
| ) | [inline] |
| csVector2::csVector2 | ( | const csVector2 & | o | ) | [inline] |
Member Function Documentation
| csString csVector2::Description | ( | ) | const |
Return a textual representation of the vector in the form "x,y".
| void csVector2::Get | ( | float * | v | ) | [inline] |
| float csVector2::Norm | ( | ) | const |
Return the norm (magnitude) of this vector.
| static float csVector2::Norm | ( | csVector2 const & | v | ) | [static] |
| csVector2& csVector2::operator *= | ( | float | f | ) | [inline] |
| csVector2 csVector2::operator+ | ( | ) | const [inline] |
| csVector2 csVector2::operator- | ( | ) | const [inline] |
| csVector2& csVector2::operator/= | ( | float | f | ) | [inline] |
| float& csVector2::operator[] | ( | int | n | ) | [inline] |
| float csVector2::operator[] | ( | int | n | ) | const [inline] |
| void csVector2::Rotate | ( | float | angle | ) |
Rotate vector around the origin by a given angle in radians.
| void csVector2::Set | ( | float | v | ) | [inline] |
| void csVector2::Set | ( | float const * | v | ) | [inline] |
| void csVector2::Set | ( | csVector2 const & | v | ) | [inline] |
| void csVector2::Set | ( | float | ix, | |
| float | iy | |||
| ) | [inline] |
Set vector to given values.
Definition at line 67 of file vector2.h.
Referenced by csShaderVariable::GetValue().
| float csVector2::SquaredNorm | ( | ) | const [inline] |
Return the squared norm (magnitude) of this vector.
Definition at line 90 of file vector2.h.
Referenced by csPlane2::SquaredDistance().
Friends And Related Function Documentation
Take the dot product of two vectors.
Check if two vectors are not equal.
| bool operator< | ( | const csVector2 & | v, | |
| float | f | |||
| ) | [friend] |
Check if two vectors are equal.
| bool operator> | ( | float | f, | |
| const csVector2 & | v | |||
| ) | [friend] |
Member Data Documentation
| float csVector2::x |
X component of vector.
Definition at line 41 of file vector2.h.
Referenced by csPlane2::A(), csBox2::AddBoundingVertex(), csBox2::AddBoundingVertexSmart(), csBox2::AddBoundingVertexSmartTest(), csBox2::AddBoundingVertexTest(), csPoly2D::AddVertex(), csMath2::Area2(), csPlane2::Classify(), csBox2::Contains(), csBox2::In(), csBox2::Intersect(), csBoxClipper::IsInside(), IsLeft(), operator+=(), operator-=(), csBox2::Overlap(), csIntersect2::SegmentPlaneNoTest(), Set(), csPlane2::Set(), csShaderVariable::SetValue(), csBox2::StartBoundingBox(), and csMath2::WhichSide2D().
| float csVector2::y |
Y component of vector.
Definition at line 43 of file vector2.h.
Referenced by csBox2::AddBoundingVertex(), csBox2::AddBoundingVertexSmart(), csBox2::AddBoundingVertexSmartTest(), csBox2::AddBoundingVertexTest(), csPoly2D::AddVertex(), csMath2::Area2(), csPlane2::B(), csPlane2::Classify(), csBox2::Contains(), csBox2::In(), csBox2::Intersect(), csBoxClipper::IsInside(), IsLeft(), operator+=(), operator-=(), csBox2::Overlap(), csIntersect2::SegmentPlaneNoTest(), Set(), csPlane2::Set(), csShaderVariable::SetValue(), and csMath2::WhichSide2D().
The documentation for this class was generated from the following file:
- csgeom/vector2.h
Generated for Crystal Space by doxygen 1.4.7
