What command can I issue to list my custom enumerations which are currently residing in Matlab?

8 views (last 30 days)
I have an M-File containing the definitions listed below. I run this M-File so that the enumeration definitions become available to Simulink.
Simulink.defineIntEnumType('engine_state_T', ...
{'ENGINE_IN_STOP','ENGINE_IN_CRANK','ENGINE_IN_STALL', 'ENGINE_IN_RUN', 'ENGINE_IN_AUTOSTOP'}, ...
[0,1,2,3,4])
Simulink.defineIntEnumType('vehicle_state_T', ...
{'VEHICLE_IN_STOP','VEHICLE_IN_CRANK','VEHICLE_IN_STALL'}, ...
[0,1,2])
I want to issue a command from within one of my scripts, much like I do for getting the workspace objects ('who'), so that I can get a list of these enumerations. My script knows nothing about this M-File and simply needs to find the enumeration names that are defined (engine_state_T, vehicle_state_T, etc.)

Accepted Answer

goerk
goerk on 20 Oct 2015
A little bit late, but maybe you are still looking for something. I use the following code to get an overview of the defined enumerations.
EnumClassSimulink = meta.class.fromName('Simulink.IntEnumType');
SimulinkClassList = EnumClassSimulink.getAllClasses;
nofClasses = length(SimulinkClassList);
for i=1:nofClasses
if SimulinkClassList{i}.Enumeration
disp(SimulinkClassList{i}.Name)
memberList = SimulinkClassList{i}.EnumerationMemberList;
for j = 1:length(memberList)
disp([ ' ' memberList(j).Name ]);
end
end
end

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!