59 EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
60 ShipCrane(
const std::string simObjectName, ISimObjectCreator*
const creator);
62 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const{};
64 #ifdef FH_VISUALIZATION
65 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
66 void RenderUpdate(
const double T,
const double*
const X);
68 void Compute(
const double T,
const double*
const _X )
const;
70 const double * CraneTipPosition(
const double T,
const double*
const X);
71 const double * CraneTipVelocity(
const double T,
const double*
const X);
73 const double * ForceAtBase(
const double T,
const double*
const X);
74 const double * TorqueAtBase(
const double T,
const double*
const X);
79 mutable std::vector<Eigen::Vector3d> m_jointPosition;
80 mutable std::vector<Eigen::Vector3d> m_jointVelocity;
82 ISignalPort *m_InBasePosition;
83 ISignalPort *m_InBaseVelocity;
84 ISignalPort *m_InBaseOrientation;
85 ISignalPort *m_InBaseOmega;
87 ISignalPort *m_InBaseAngle;
88 ISignalPort *m_InBaseAngleRate;
90 std::vector<ISignalPort*> m_InJointAngle;
91 std::vector<ISignalPort*> m_InJointAngleRate;
92 std::vector<ISignalPort*> m_InJointLength;
94 ISignalPort *m_InForceAtTip;
96 ICommonComputation *m_Compute;
98 Eigen::Vector3d m_BaseTorque;
99 Eigen::Vector3d m_TipVelocity;
101 #ifdef FH_VISUALIZATION
103 Ogre::SceneNode** m_RenderNodes;