C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Two-dimensional normalized vector. More...

#include <mb_vector.h>

Public Member Functions

 MbDirection ()
 Default constructor.
 
 MbDirection (double _ax, double _ay)
 The constructor by coordinates.
 
 MbDirection (double a)
 Constructor by angle.
 
 MbDirection (const MbDirection &dir)
 Copy constructor.
 
 MbDirection (const MbCartPoint &p1, const MbCartPoint &p2)
 Constructor by two points.
 
void Rotate (double angle)
 Rotate normalized vector by an angle 'angle'.
 
void Rotate (const MbDirection &)
 Rotate vector by an angle that defined by direction.
 
void Transform (const MbMatrix &)
 Transform according to matrix 'matr'.
 
double DirectionAngle () const
 Calculate an angle by normalized vector.
 
void Calculate (const MbCartPoint &from, const MbCartPoint &to)
 Calculate direction by two points.
 
void Normalize ()
 Normalize a vector.
 
MbDirection operator- () const
 Unary minus.
 
MbDirection operator+ (const MbDirection &) const
 Sum up two normalized vectors.
 
MbDirection operator~ () const
 Find perpendicular to a normalized vector.
 
void Perpendicular ()
 Find perpendicular to a normalized vector.
 
bool operator== (const MbDirection &) const
 Check for equality.
 
bool Equal (const MbDirection &) const
 Check for equality.
 
bool operator!= (const MbDirection &) const
 Check for inequality.
 
bool Colinear (const MbDirection &, double eps=Math::AngleEps) const
 Check colinearity.
 
bool Orthogonal (const MbDirection &, double eps=Math::AngleEps) const
 Check orthogonality.
 
bool Colinear (const MbVector &with, double eps=Math::AngleEps) const
 Check colinearity.
 
bool Orthogonal (const MbVector &with, double eps=Math::AngleEps) const
 Check orthogonality.
 
void Invert ()
 Change vector direction to opposite.
 
void operator= (double angle)
 Assign value to vector by given angle.
 
void operator= (const MbVector &)
 Assign value to vector by given vector.
 
void operator= (const MbCartPoint &)
 Assign value to vector by given point.
 
MbVector operator* (double) const
 Multiply vector by number.
 
void operator+= (const MbDirection &)
 Sum up two vectors.
 
void operator-= (const MbDirection &)
 Find the difference of vectors.
 
double operator* (const MbDirection &) const
 Scalar product of two vectors.
 
double operator| (const MbDirection &) const
 Vector product of two vectors.
 
void Init (double xx, double yy)
 Initialize by coordinates.
 
void Init (const MbDirection &dir)
 Initialize by coordinates of a vector.
 
void Set (double angle)
 Initialize by given angle.
 
int Relative (const MbDirection &) const
 Find vector location relative to current vector.
 
bool IsDegenerate (double lenEps=Math::LengthEps) const
 Check for degeneracy.
 
void GetProperties (MbProperties &properties)
 Get properties of the object.
 
void SetProperties (const MbProperties &properties)
 Set properties of the object.
 
bool IsSame (const MbDirection &other, double accuracy) const
 Are the objects equal? More...
 

Public Attributes

double ax
 First component of vector.
 
double ay
 Second component of vector.
 

Detailed Description

Two-dimensional normalized vector.

Two-dimensional normalized vector. Defined algebraic and geometric operations for normalized vector and number or another vector.

Member Function Documentation

◆ IsSame()

bool MbDirection::IsSame ( const MbDirection other,
double  accuracy 
) const
inline

Are the objects equal?

The objects are equal if their data are equal with a given accuracy.

Parameters
[in]other- The object to compare.
[in]accuracy- The accuracy to compare.
Returns
Whether the objects are equal.

The documentation for this class was generated from the following files: