--- a +++ b/Body/AAUHuman/Trunk/TrunkScalingAndAnatomicalFrame.any @@ -0,0 +1,25 @@ +/// scaling function to be used by segments in the trunk model +/// This functions ensures that we transform into the anatomical frame +/// before applying the geometrical scaling. +AnyFunTransform3DLin Scale = { + PreTransforms = { + &...SegmentsLumbar.PelvisSeg.InterfaceMorphingDef.IM_Trunk_To_Leg_AboveSacrum, + &...SegmentsLumbar.PelvisSeg.AnatomicalFrame.Scale_Trunk_Pelvis.ScaleAfterInterfaceMorphingDef.Scale.T0, + &.GeomScale, + &...SegmentsLumbar.PelvisSeg.AnatomicalFrame.Scale_Trunk_Pelvis.ScaleAfterInterfaceMorphingDef.Scale.T1_Inv, + }; + ScaleMat = eye(3,3); + Offset = zeros(3); +}; + +/// The ScalingNode shows explicitly what reference frame this segment should scale in +/// for trunk segments scaling should happen in the trunk models anatomical frame +AnyRefNode &ScalingNode = AnatomicalFrameTrunk; + +/// The whole trunk model share their reference system +/// This allows us to make a anatomical frame on each trunk segments +/// That represents this reference system +AnyRefNode AnatomicalFrameTrunk = { + sRel = ...SegmentsLumbar.PelvisSeg.AnatomicalFrameTrunk.sRel; + ARel = ...SegmentsLumbar.PelvisSeg.AnatomicalFrameTrunk.ARel; +}; \ No newline at end of file