2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
25#include "data_management/DataIO.hpp"
26#include "core/matrixmath.hpp"
27#include "core/vectormath.hpp"
28#include "utils/frameutils.hpp"
48 template <
typename T=
double>
49 class Node :
public Frame<T> {
54 Node(
const std::string &name,
Frame<T> *par=
nullptr);
82 clockwerk::
DataIO<Node<T>*> self_id = clockwerk::
DataIO<Node<T>*>(
nullptr,
"self_id",
this);
91 CartesianVector<T, 3> passthroughMoment() {
return _passthrough_moment__b;}
100 Node<T>::
Node(
const std::string &name,
Frame<T>* par)
101 :
Frame<T>(name, par,
false) {
106 template <
typename T>
123 DCM<T> dcm_p_f =
Frame<T>::quat_f_p().toDCM().inverse();
127 moment_parentcg__p = dcm_p_f*_passthrough_moment__b + cross(
Frame<T>::pos_f_p__p(), force_parentcg__p);
Standard vector class derived from Matrix.
Definition CartesianVector.hpp:39
Class defining a direction cosine matrix inherited from Matrix.
Definition DCM.hpp:71
Class for inter-object communication.
Definition DataIO.hpp:46
Frame class definition.
Definition Frame.hpp:92
Base class for object organization.
Definition GraphTreeObject.h:87
uint8_t _graph_tree_type
Variable to store graph tree object type.
Definition GraphTreeObject.h:251
Joint class defining relationship between frames.
Definition Joint.hpp:44
clockwerk::DataIO< CartesianVector< T, 3 > > moment
The moment applied at the node.
Definition Node.hpp:74
CartesianVector< T, 3 > _passthrough_force__b
Passthrough force on the node – force not applied here but passed on to parent body All forces and mo...
Definition Node.hpp:95
clockwerk::Joint< T > rJoint()
Function to get the frame's rotational joint.
Definition Node.hpp:62
clockwerk::DataIO< Frame< T > * > moment_frame
The frame in which the moment is applied Using this utility abstracts away framerotate commands and a...
Definition Node.hpp:79
clockwerk::Joint< T > tJoint()
Function to get the frame's translational joint.
Definition Node.hpp:58
clockwerk::DataIO< Frame< T > * > force_frame
The frame in which the force is applied. Using this utility abstracts away framerotate commands and a...
Definition Node.hpp:71
void getFMPairAtParentOrigin(CartesianVector< T, 3 > &force_parentcg__p, CartesianVector< T, 3 > &moment_parentcg__p)
Function to resolve applied forces/moments into a force/moment pair in parent body frame origin.
Definition Node.hpp:107
Node(const std::string &name, Frame< T > *par=nullptr)
Basic constructor for the node object.
Definition Node.hpp:100
clockwerk::DataIO< CartesianVector< T, 3 > > force
The force applied at the node.
Definition Node.hpp:66