Skip to content
This repository has been archived by the owner on Mar 12, 2020. It is now read-only.

Class Diagram discussion

A.B. edited this page Jun 8, 2015 · 4 revisions

Clean-up process for the new Envire core:

  • Old ICP and RANSAC will be eliminated from envire1

  • In general eliminate envire unneeded classes. like Layers, Pointclouds, Segments, LaserScans (important for envire maps)

  • Substitution of other class. Like Grid::list class by std::list class (important for envire maps)

  • Use class_loader to load a plugin instance of envire::Entity, envire::Operator and envire::CollisionInterface

  • Use singleton objects to automatically register entities, transformations and operators

    • Removes the need for a Environment class
    • Event listeners are attached to an entity or to the transformation tree
    • Entities get a unique ID by using boost::UUID
  • Transformation Tree is a singleton class which holds all transformations and exchanges them between the task level (orocos transformer) and the envire objects.

    • frames are identified by name (each envire::Entity has also a frame name)
  • Serialization and type transport is done by typelib with opaque conversions.

    • this is a temporary solution, it shall be determined if clang can be used to automatically parse types and create opaques or if typelib can be extended.
    • envire::Operators are not forwarded
  • Envire 2 shall support partial updates

    • A implementation of envire::MergeOperator has to be provided
    • The merge operator can be used to combine a map at time (t) and an update of this map to the new map at time (t+1). Only the update of the map is forwarded.

Envire 2 Class Diagram

Envire 2 class digram

Clone this wiki locally