FrameObject.cpp
Go to the documentation of this file.
1 /*
2  * RDL - Robot Dynamics Library
3  * Copyright (c) 2017 Jordan Lack <jlack1987@gmail.com>
4  *
5  * Licensed under the zlib license. See LICENSE for more details.
6  */
7 
9 
10 namespace RobotDynamics
11 {
13 {
14  if (desiredFrame == nullptr || this->referenceFrame == nullptr)
15  {
16  throw ReferenceFrameException("Either this reference frame or desired reference frame is nullptr!");
17  }
18 
19  if (desiredFrame != this->referenceFrame)
20  {
21  this->referenceFrame->verifyFramesHaveSameRoot(desiredFrame);
22 
23  this->getTransformableGeometricObject()->transform(desiredFrame->getInverseTransformToRoot() * this->referenceFrame->getTransformToRoot());
24  this->referenceFrame = desiredFrame;
25  }
26 }
27 } // namespace RobotDynamics
A custom exception for frame operations.
ReferenceFramePtr referenceFrame
Definition: FrameObject.hpp:81
std::shared_ptr< ReferenceFrame > ReferenceFramePtr
virtual void changeFrame(ReferenceFramePtr desiredFrame)
Change the ReferenceFrame this FrameObject is expressed in.
Definition: FrameObject.cpp:12
virtual void transform(const RobotDynamics::Math::SpatialTransform &X)=0
Pure virtual object. This object forces objects that inherit from it to have a method that tells how ...
virtual Math::TransformableGeometricObject * getTransformableGeometricObject()=0
Pure virtual method that FrameObjects are required to implement so the FrameObject::changeFrame metho...
Namespace for all structures of the RobotDynamics library.
Definition: Body.h:21


rdl_dynamics
Author(s):
autogenerated on Tue Apr 20 2021 02:25:27