152 lines (117 with data), 4.6 kB
ModelSetup = {
AnyFolder TrialSpecificData = {
#include "TrialSpecificData_Defaults.any"
#include "<MOCAP_TRIAL_SPECIFIC_DATA>"
};
AnyFolder SubjectSpecificData = {
#include "SubjectSpecificData_Defaults.any"
#include "<MOCAP_SUBJECT_SPECIFIC_DATA>"
};
AnyFolder LabSpecificData= {
#include "LabSpecificData_Defaults.any"
#include "<MOCAP_LAB_SPECIFIC_DATA>"
};
// This file checks if all the defines statements
// are made correctly.
#include "CheckAnyMoCapConfiguration.any"
Main = {
#include "<BODY_MODEL_CONFIG_FILE>"
};
#if MOCAP_INPUT_DATA_TYPE == "C3D"
AnyInputC3D C3DFileData = {
AnyComponentDefinition obj = {};
};
#include "<MOCAP_C3DSETTINGS>"
#endif
#if MOCAP_INPUT_DATA_TYPE == "BVH"
/// Redirects to BVHFileData, so models expecting C3D emulation still work.
AnyFolder C3DFileData = {AnyFolder& Header = .BVHFileData.Header;};
AnyInputBVH BVHFileData = {
AnyComponentDefinition obj = {
SubGroupRegexSearch = ".*\.([_[:alnum:]]+?)\.([_[:alnum:]]+?)";
SubGroupRegexReplace = "$1";
};
};
#include "<MOCAP_BVHSETTINGS>"
#endif
AnyFolder MocapExtraDrivers = {
AnyComponentDefinition obj = {};
#include "<MOCAP_EXTRA_DRIVERS_FILE>"
};
AnyFolder MocapDrivers = {
AnyComponentDefinition obj = {
// regex pattern starts at the component level
SubGroupRegexSearch = "([_[:alnum:]]+)\.([_[:alnum:]]+?)";
SubGroupRegexReplace = "$1";
};
#include "<MOCAP_MARKER_PROTOCOL_FILE>"
};
AnyFolder ParameterIdentification = { };
#if MOCAP_FILTER_JOINT_ANGLES == ON
/// Filter for Joint Angles (Output of the marker tracking step).
AnyFolder JointAngleFilter =
{
AnyInt N ??= 1;
AnyVar Fs ??= (Main.Studies.MarkerTracking.nStep-1)
/(Main.Studies.MarkerTracking.tEnd-Main.Studies.MarkerTracking.tStart);
AnyVar Fc ??= 10;
AnySwitchVar FilterForwardBackwardOnOff ??= On;
AnyFunButterworthFilter FilterFun =
{
AutomaticInitialConditionOnOff = On;
FilterForwardBackwardOnOff = .FilterForwardBackwardOnOff;
N = .N;
Fs = .Fs;
Fc = {.Fc};
Type = LowPass;
};
};
#endif
// Study for saving a loading the parameters from calibration trials
//(dynamic or standing refereces)
#include "SaveLoadParameters.any"
#include "ModelViews.any"
//markers adds macros automatically into this folder
AnyFolder Macros =
{
AnyOperationMacro SaveOutputToHDF =
{
OPERATION_DISPLAY_PRIORITY(PriorityLow);
MacroStr = {
"classoperation Main.Studies.MarkerTracking.Output" + strquote("Save data")
+ "--type= " + strquote("Deep")
+ "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX + MOCAP_OUTPUT_FILENAME_PREFIX
+ Main.ModelSetup.TrialSpecificData.TrialFileName + "_MarkerTracking.anydata.h5"),
"classoperation Main.Studies.InverseDynamicStudy.Output" + strquote("Save data")
+ "--type= " + strquote("Deep")
+ "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX + MOCAP_OUTPUT_FILENAME_PREFIX
+ Main.ModelSetup.TrialSpecificData.TrialFileName + "_InverseDynamicStudy.anydata.h5")
};
};
AnyOperationMacro LoadOutputFromHDF =
{
OPERATION_DISPLAY_PRIORITY(PriorityLow);
MacroStr = {
"classoperation Main.Studies.MarkerTracking.Output" + strquote("Load data")
+ "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX + MOCAP_OUTPUT_FILENAME_PREFIX
+ Main.ModelSetup.TrialSpecificData.TrialFileName + "_MarkerTracking.anydata.h5"),
"classoperation Main.Studies.InverseDynamicStudy.Output" + strquote("Load data")
+ "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX + MOCAP_OUTPUT_FILENAME_PREFIX
+ Main.ModelSetup.TrialSpecificData.TrialFileName + "_InverseDynamicStudy.anydata.h5")
};
};
}; // Macros
};
AnyFolder ModelSetup = {};
ModelSetup =
{
//DocumentationLink = AMMR_PATH_DOC + "/anymocap.html";
AnyFolder Views = {};
};
#ifdef BM_DRAWSETTINGS_FILE
// Ensure that HumanModel does not
// include DrawSettings as well.
#define BM_DRAWSETTINGS_SKIP ON
#include "<BM_DRAWSETTINGS_FILE>"
#endif
#include "CheckAnyMoCapPostConfiguration.any"