3 #include <rigidmotion/RigidMotionFactory.h>
6 #include <boost/serialization/base_object.hpp>
7 #include <boost/serialization/void_cast.hpp>
11 namespace rigidmotion{
26 friend class boost::serialization::access;
35 template <
typename Archive>
36 void serialize(Archive &ar,
const unsigned int version){
37 boost::serialization::void_cast_register<
41 ar &boost::serialization::base_object<RigidMotionFactory>(*
this);
50 static double const eps;
88 RigidMotion makeTranslation(colvec
const shift)
const override;
135 virtual RigidMotion makeReflection(colvec
const ortho)
const ;
152 virtual RigidMotion makeReflectionFast(colvec
const orthonormal)
const;
241 colvec
const orthonormal,
298 virtual RigidMotion makeRotationX(
double const theta)
const;
305 virtual RigidMotion makeRotationY(
double const theta)
const;
312 virtual RigidMotion makeRotationZ(
double const theta)
const;
489 virtual RigidMotion makeRotationalSymmetryX(
double const theta)
const;
496 virtual RigidMotion makeRotationalSymmetryY(
double const theta)
const;
503 virtual RigidMotion makeRotationalSymmetryZ(
double const theta)
const;
Class that must be extended by any class which provides factory methods for rigid motions....
Definition: RigidMotionFactory.h:18
Class providing building methods for rigid motions in .
Definition: RigidMotionR3Factory.h:22
static arma::mat const canonicalReflection
The Jordan normal form of a reflection in .
Definition: RigidMotionR3Factory.h:64
static double const eps
Decimal precision tolerance.
Definition: RigidMotionR3Factory.h:50
RigidMotionR3Factory()=default
RigidMotionR3Factory default constructor.
void serialize(Archive &ar, const unsigned int version)
Serialize a rigid motion factory to a stream of bytes.
Definition: RigidMotionR3Factory.h:36
Interface that must be implemented by any class which represents a specific rigid motions.
Definition: RigidMotion.h:49