AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::klee::Rotation Class Reference

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/klee/GeometryOperators.hpp>

Inheritance diagram for axom::klee::Rotation:

Public Member Functions

 Rotation (double angle, const primal::Point3D &center, const primal::Vector3D &axis, const TransformableGeometryProperties &startProperties)
 
double getAngle () const
 
const primal::Point3DgetCenter () const
 
const primal::Vector3DgetAxis () const
 
numerics::Matrix< double > toMatrix () const override
 
void accept (GeometryOperatorVisitor &visitor) const override
 
 GeometryOperator (const TransformableGeometryProperties &startProperties)
 
const TransformableGeometryPropertiesgetStartProperties () const
 
virtual TransformableGeometryProperties getEndProperties () const
 

Detailed Description

A Rotation is a GeometryOperator which rotates points about a given axis.

Constructor & Destructor Documentation

◆ Rotation()

axom::klee::Rotation::Rotation ( double  angle,
const primal::Point3D center,
const primal::Vector3D axis,
const TransformableGeometryProperties startProperties 
)

Create a Rotation.

Parameters
anglethe angle, in degrees, by which to rotate. Rotations are counter-clockwise.
centerthe center of rotation
axisthe axis about which to rotate points
startPropertiesthe initial properties, as in the parent class. If the number of dimensions is 2, the axis should be [0, 0, 1], but this is not checked.

Member Function Documentation

◆ getAngle()

double axom::klee::Rotation::getAngle ( ) const
inline

Get the angle of rotation.

Returns
the amount by which to rotate in degrees.

◆ getCenter()

const primal::Point3D& axom::klee::Rotation::getCenter ( ) const
inline

Get the center of rotation.

Returns
the point about which to rotate in 2D, and in 3D, the point which defines the axis of rotation along with getAxis().

◆ getAxis()

const primal::Vector3D& axom::klee::Rotation::getAxis ( ) const
inline

The direction of the axis of rotation.

Returns
the vector, which when combined with the center, defines the axis of rotation.

◆ toMatrix()

numerics::Matrix<double> axom::klee::Rotation::toMatrix ( ) const
overridevirtual

Convert this operator to its matrix representation.

Returns
a 4x4 affine transformation matrix

Implements axom::klee::MatrixOperator.

◆ accept()

void axom::klee::Rotation::accept ( GeometryOperatorVisitor visitor) const
overridevirtual

Accept the given visitor. The appropriate visit() method will be called on the visitor based on the run-time type of this operator.

Parameters
visitorthe visitor to accept.

Implements axom::klee::GeometryOperator.

◆ GeometryOperator()

axom::klee::GeometryOperator::GeometryOperator
explicitinherited

Create an operator with the given start properties

Parameters
startPropertiesthe properties before the operator is applied

◆ getStartProperties()

const TransformableGeometryProperties& axom::klee::GeometryOperator::getStartProperties ( ) const
inlineinherited

Get the properties that the operator expects to start in

Returns
the properties which must be true before this operator is applied

◆ getEndProperties()

virtual TransformableGeometryProperties axom::klee::GeometryOperator::getEndProperties ( ) const
inlinevirtualinherited

Get the properties after this operator is applied

Returns
the properties which are true after this operator is applied

Reimplemented in axom::klee::SliceOperator, axom::klee::UnitConverter, and axom::klee::CompositeOperator.


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