Understanding Morse’s code organisation

The Morse source code is organised in the following way :

  • addons this contains various addons for Blender, useful for MORSE simulation
  • bin this contains the MORSE simulation’s main entry point
  • bindings this contains some Python libraries to access to MORSE data, through the socket middleware
  • config this contains support for CMake
  • data this contains the Blender model of sensors and actuators
  • doc: the documentation (in reStructuredText format)
  • examples this contains examples about :
    • how to control the simulator (in clients)
    • more or less elaborate test scenarios (in scenarii)
  • src this contains all the Python scripts used by the simulator; this is the core of the simulator
    • morse/actuators this contains implementations for various robot actuators
    • morse/blender this contains some scripts needed at the initialization of the game engine
    • morse/builder this contains the scripts for the API that permits creating a simulation scenario from a Python file. See the Builder API documentation.
    • morse/core this contains core classes for the MORSE project (services, base objects, sensors, etc.)
    • morse/helpers this contains various helper functions (e.g., math transformation)
    • morse/middleware this contains the code for linking with different middlewares, both for service or datastream. Each middleware has a separate directory.
    • morse/modifiers this contains implementations for various modifiers to basic components
    • morse/robots this contains implementations of various robot classes
    • morse/sensors this contains implementations of various robot sensors
  • testing this contains unit tests for various parts of MORSE.