ICF 3.0.5.47
Technical documentation of ICF Libraries
i2d::CDirection2d Class Reference

Represents a direction in 2D space. More...

#include <CDirection2d.h>

Collaboration diagram for i2d::CDirection2d:

Public Member Functions

 CDirection2d ()
 
 CDirection2d (const CDirection2d &direction)
 Construct a new object by copy.
 
 CDirection2d (double radian)
 Construct a new object from radian coordinates.
 
 CDirection2d (const CVector2d &direction)
 Construct direction using angle of vector.
 
double ToDegree () const
 Get direction in degrees.
 
double ToRadian () const
 Get direction in radians.
 
double DistInRadian (const CDirection2d &dir2) const
 Get angle difference in radians.
 
double DistInDegree (const CDirection2d &dir2) const
 Get angle difference in degrees.
 
CDirection2d Avg (const CDirection2d &dir2) const
 Get minimal distance between two directions.
 
CDirection2d Avg (double weight, const CDirection2d &dir2) const
 Get weighted minimal distance between two directions.
 
CDirection2d TurnByRadian (double turn) const
 
bool operator== (const CDirection2d &dir2) const
 Compare the objects direction with the one of dir2.
 
bool IsInRange (const CDirection2d &leftDirectionLimit, const CDirection2d &rightDirectionLimit) const
 Check if the direction is in the direction range between leftDirectionLimit and rightDirectionLimit.
 

Static Public Member Functions

static CDirection2d FromRadian (double radian)
 Construct a new CDirection2d object and initialize from radian.
 
static CDirection2d FromDegree (double degree)
 Construct a new CDirection2d object and initialize from degree.
 

Detailed Description

Represents a direction in 2D space.

Definition at line 19 of file CDirection2d.h.

Constructor & Destructor Documentation

◆ CDirection2d() [1/4]

i2d::CDirection2d::CDirection2d ( )

◆ CDirection2d() [2/4]

i2d::CDirection2d::CDirection2d ( const CDirection2d & direction)

Construct a new object by copy.

◆ CDirection2d() [3/4]

i2d::CDirection2d::CDirection2d ( double radian)
explicit

Construct a new object from radian coordinates.

Parameters
radianangle in radians.

◆ CDirection2d() [4/4]

i2d::CDirection2d::CDirection2d ( const CVector2d & direction)

Construct direction using angle of vector.

Member Function Documentation

◆ Avg() [1/2]

CDirection2d i2d::CDirection2d::Avg ( const CDirection2d & dir2) const

Get minimal distance between two directions.

Returns
Direction that minimizes the distance to this and dir2.

◆ Avg() [2/2]

CDirection2d i2d::CDirection2d::Avg ( double weight,
const CDirection2d & dir2 ) const

Get weighted minimal distance between two directions.

Returns
Direction that minimizes the weighted distances between both directions.

◆ DistInDegree()

double i2d::CDirection2d::DistInDegree ( const CDirection2d & dir2) const

Get angle difference in degrees.

Returns
Minimal angle distance between the this and dir2 directions in degree [0, +180].

◆ DistInRadian()

double i2d::CDirection2d::DistInRadian ( const CDirection2d & dir2) const

Get angle difference in radians.

Returns
Minimal angle distance between the this and dir2 directions in radians [0, +PI].

◆ FromDegree()

static CDirection2d i2d::CDirection2d::FromDegree ( double degree)
static

Construct a new CDirection2d object and initialize from degree.

◆ FromRadian()

static CDirection2d i2d::CDirection2d::FromRadian ( double radian)
static

Construct a new CDirection2d object and initialize from radian.

◆ IsInRange()

bool i2d::CDirection2d::IsInRange ( const CDirection2d & leftDirectionLimit,
const CDirection2d & rightDirectionLimit ) const

Check if the direction is in the direction range between leftDirectionLimit and rightDirectionLimit.

◆ operator==()

bool i2d::CDirection2d::operator== ( const CDirection2d & dir2) const

Compare the objects direction with the one of dir2.

Parameters
dir2direction to compare.
Returns
true if both are equal.

◆ ToDegree()

double i2d::CDirection2d::ToDegree ( ) const

Get direction in degrees.

Returns
Normalized direction in range [0, 360).

◆ ToRadian()

double i2d::CDirection2d::ToRadian ( ) const

Get direction in radians.

Returns
Normalized direction in range [-PI, +PI].

◆ TurnByRadian()

CDirection2d i2d::CDirection2d::TurnByRadian ( double turn) const

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

© Witold Gantzke and Kirill Lepskiy