ActiveLib
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
active::geometry::Rotater Class Referenceabstract

Base class for rotation classes. More...

#include <Rotater.h>

Inheritance diagram for active::geometry::Rotater:
Inheritance graph
[legend]
Collaboration diagram for active::geometry::Rotater:
Collaboration graph
[legend]

Public Types

using Unique = std::unique_ptr<Rotater>
 Unique pointer.
 
using Shared = std::shared_ptr<Rotater>
 Shared pointer.
 
using Option = std::optional<Rotater>
 Optional.
 

Public Member Functions

 Rotater (double angle=0.0, double prec=math::eps)
 
 Rotater (const Rotater &source)
 
virtual ~Rotater ()=default
 
virtual RotaterclonePtr () const =0
 
Rotateroperator= (const Rotater &source)
 
virtual double getAngle () const
 
virtual bool isActive () const
 
virtual PointtransformPt (Point &target) const =0
 
virtual void transform (Arc &target) const
 
virtual void transform (Line &target) const
 
virtual void transform (PolyEdge &target) const
 
virtual void transform (Vector3 &target) const
 
virtual void transform (Vector4 &target) const
 
virtual void transform (Plane &target) const
 
virtual void transform (Polygon &target) const
 
virtual void setAngle (double angle, double prec=math::eps)
 
virtual Rotaterreverse ()
 
- Public Member Functions inherited from active::utility::Cloner
virtual ~Cloner ()=default
 

Protected Member Functions

const double & k1 () const
 
const double & k2 () const
 

Detailed Description

Base class for rotation classes.

Constructor & Destructor Documentation

◆ Rotater() [1/2]

active::geometry::Rotater::Rotater ( double angle = 0.0,
double prec = math::eps )
inline

Constructor

Parameters
angleThe rotation angle
precThe required precision
Here is the call graph for this function:

◆ Rotater() [2/2]

Rotater::Rotater ( const Rotater & source)

Copy constructor

Parameters
sourceThe object to copy

◆ ~Rotater()

virtual active::geometry::Rotater::~Rotater ( )
virtualdefault

Destructor

Member Function Documentation

◆ clonePtr()

virtual Rotater * active::geometry::Rotater::clonePtr ( ) const
pure virtual

Object cloning

Returns
A clone of this object

Implements active::utility::Cloner.

Implemented in active::geometry::XRotater, active::geometry::YRotater, and active::geometry::ZRotater.

◆ getAngle()

virtual double active::geometry::Rotater::getAngle ( ) const
inlinevirtual

Get the rotation angle

Returns
The rotation angle

Reimplemented in active::geometry::YRotater.

Here is the caller graph for this function:

◆ isActive()

virtual bool active::geometry::Rotater::isActive ( ) const
inlinevirtual

Determine if the rotation is necessary

Returns
True is the rotation is necessary (the angle is non-zero)
Here is the caller graph for this function:

◆ operator=()

Rotater & Rotater::operator= ( const Rotater & source)

Assignment operator

Parameters
sourceThe object to copy
Returns
A reference to this
Here is the caller graph for this function:

◆ reverse()

virtual Rotater & active::geometry::Rotater::reverse ( )
inlinevirtual

Reverse the angle of rotation

Here is the call graph for this function:

◆ setAngle()

void Rotater::setAngle ( double angle,
double prec = math::eps )
virtual

Set the rotation angle

Parameters
angleThe rotation angle
precThe required precision

Reimplemented in active::geometry::YRotater.

Here is the caller graph for this function:

◆ transform() [1/7]

void Rotater::transform ( Arc & target) const
virtual

Rotate an arc

Parameters
targetThe arc to be rotated
Here is the call graph for this function:
Here is the caller graph for this function:

◆ transform() [2/7]

void Rotater::transform ( Line & target) const
virtual

Rotate a line

Parameters
targetThe line to be rotated
Here is the call graph for this function:

◆ transform() [3/7]

void Rotater::transform ( Plane & target) const
virtual

Rotate a plane

Parameters
targetThe plane to be rotated
Here is the call graph for this function:

◆ transform() [4/7]

void Rotater::transform ( PolyEdge & target) const
virtual

Rotate an edge

Parameters
targetThe edge to be rotated
Here is the call graph for this function:

◆ transform() [5/7]

void Rotater::transform ( Polygon & target) const
virtual

Rotate a polygon

Parameters
targetThe polygon to be rotated
Here is the call graph for this function:

◆ transform() [6/7]

void Rotater::transform ( Vector3 & target) const
virtual

Rotate a vector

Parameters
targetThe vector to be rotated
Here is the call graph for this function:

◆ transform() [7/7]

void Rotater::transform ( Vector4 & target) const
virtual

Rotate a vector

Parameters
targetThe vector to be rotated
Here is the call graph for this function:

◆ transformPt()

virtual Point & active::geometry::Rotater::transformPt ( Point & target) const
pure virtual

Rotate a point

Parameters
targetThe point to be rotated

Implemented in active::geometry::XRotater, active::geometry::YRotater, and active::geometry::ZRotater.

Here is the caller graph for this function:

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