Whole-body human reference model and tools for unifying representations of whole-body human motion
The MMM framework consists of various different Plug-Ins to represent, visualize, convert, segment and further handle motions.
Plug-Ins are libraries which are dynamically loaded at runtime to extend a program's functionality. Using predefined interfaces, these Plug-Ins are completely irrespective of the program. Therefore adding new functionality via Plug-Ins does not need a change in the program's code and they can be compiled outside of the program's library.
Deriving from MMM::AbstractFactoryMethod you can create your own type of plugins. The derived class should be a factory which creates your specific object derived also from a general interface.
See classes MMM::SensorFactory and MMM::Sensor in MMMCore for an implementation of plugin type creation and MMM Sensor Plug-In-Architecture for an example sensor plugin creation.
The MMM::FactoryPluginLoader is used to load different plug-in types without effort. In the mmm library the MMM::MotionReaderXML for reading MMM Data Format and the MMMViewer to visualize sensor data are using the MMM::FactoryPluginLoader to load their plugins from independet libraries.
Here is an example how to use it in general: