34 #include <Rcs_typedef.h> 36 #include <Rcs_shape.h> 42 #define DEF_MASS_PARAM(name, modflag, var) \ 43 addChild(new PPDSingleVar<double>((name), (modflag), [](BodyParamInfo& bpi) -> double& {return (var);})) 81 double r_com_sh[3], v_sh;
82 v_sh = RcsShape_computeVolume(SHAPE);
83 RcsShape_computeLocalCOM(SHAPE, r_com_sh);
84 Vec3d_constMulSelf(r_com_sh, v_sh/v_bdy);
97 RcsShape_computeInertiaTensor(SHAPE, density, I_s);
101 Mat3d_similarityTransform(I_s, (
double (*)[3]) SHAPE->A_CB.rot, I_s);
105 RcsShape_computeLocalCOM(SHAPE, r_b_sgc);
108 double m_sh = density*RcsShape_computeVolume(SHAPE);
109 Math_addSteinerToInertia(I_s, r_sgc_bgc, m_sh);
virtual void setValues(PropertySource *inValues)
bool isChanged(int flag)
Check if a parameter changed.
virtual void setValues(PropertySource *inValues)
#define DEF_MASS_PARAM(name, modflag, var)
BodyParamInfo * bodyParamInfo
virtual ~PPDMassProperties()