[717926]: / MATLAB / matlab_tool_v4.0 / getBodyorGround.m

Download this file

33 lines (29 with data), 1.7 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function Body = getBodyorGround(osimModel,BodyName)
%-------------------------------------------------------------------------%
% getBodyorGround gets a Body or Ground by name from an OpenSim model %
% (version 4.0 and up). %
% %
% INPUTS: %
% - osimModel: the OpenSim model object. %
% - BodyName: name pf body to get, a character string. %
% %
% OUTPUTS: %
% - Body: target PhysicalFrame object, either a Body or Ground. %
% %
% code edition log: %
% 18 Sep 2019: created for OpenSim 4.0 model Body/Ground format (KS). %
% ----------------------------------------------------------------------- %
% Author: Ke Song (Washington University in St. Louis) %
% E-mail: ksong23@wustl.edu %
% ----------------------------------------------------------------------- %
% load Library
import org.opensim.modeling.*;
% get name of Ground in model
osimGroundName = char(osimModel.getGround.getName());
% get Ground or Body based on name
if strcmp(BodyName,osimGroundName)
Body = osimModel.getGround(); %Ground
else
Body = osimModel.getBodySet.get(BodyName);
end
end