20#ifndef _GENERIC_FFR_INTERFACE_NODE_FRAME_H__
21#define _GENERIC_FFR_INTERFACE_NODE_FRAME_H__
23#include "mbsimFlexibleBody/frames/node_based_frame.h"
25namespace MBSimFlexibleBody {
36 void setApproximateShapeMatrixOfRotation(
bool approximateShapeMatrixOfRotation_) { approximateShapeMatrixOfRotation = approximateShapeMatrixOfRotation_; }
37 bool getApproximateShapeMatrixOfRotation()
const {
return approximateShapeMatrixOfRotation; }
39 void updatePositions()
override;
40 void updateVelocities()
override;
41 void updateAccelerations()
override;
42 void updateJacobians(
int j=0)
override;
43 void updateGyroscopicAccelerations()
override;
44 const fmatvec::Vec3& evalGlobalRelativePosition() {
if(updPos) updatePositions();
return WrRP; }
45 const fmatvec::Vec3& evalGlobalRelativeVelocity() {
if(updVel) updateVelocities();
return Wvrel; }
46 const fmatvec::Vec3& evalGlobalRelativeAngularVelocity() {
if(updVel) updateVelocities();
return Womrel; }
47 fmatvec::Vec3& getGlobalRelativeVelocity(
bool check=
true) { assert((not check) or (not updVel));
return Wvrel; }
49 void init(
InitStage stage,
const MBSim::InitConfigSet &config)
override;
50 void initializeUsingXML(xercesc::DOMElement *element)
override;
65 fmatvec::Vec3 KrKP, WrRP, Wvrel, Womrel;
67 fmatvec::Mat3xV Phi, Psi;
70 bool approximateShapeMatrixOfRotation{
false};
base class for interface node frames
Definition: generic_ffr_interface_node_frame.h:31
fmatvec::VecVI nodes
node numbers
Definition: generic_ffr_interface_node_frame.h:58
fmatvec::VecV weights
weights
Definition: generic_ffr_interface_node_frame.h:63
node based frame
Definition: node_based_frame.h:31