Rock

the Robot Construction Kit

Managing Packages

There are mainly four types of packages in Rock:

  • plain C++ libraries, in which most of the functionality is implemented
  • Ruby libraries
  • vizkit widgets (or collections of)
  • oroGen projects

This page is an overview of these four types, and give pointer towards more information about how to create and manage them

Naming scheme and directory structures is detailed here

In all four cases, high-level information about the package (including dependencies w.r.t. other packages) is added to the manifest.xml file in the top directory of the package.

Plain C++ Libraries

The C++ libraries are plain CMake packages. When developed in relation to Rock, you are encouraged to use the Rock CMake macros.

Note: These macros are meant as helpers for packages developed in Rock. However:

  • they are simply wrappers on top of normal CMake target definitions, i.e. the normal CMake functionality applies on the targets defined by these macros
  • their usage is +not+ mandatory (even though it is recommended)

This is not a hard requirement. Using the CMake macros and the CMake provided by Rock only ensures that you are following the Rock guidelines on C++ library packages

C++ library packages can quickly be created using rock-create-lib. See this tutorial for detailed information.

Information about the package (including dependencies w.r.t. other packages) is added to the manifest.xml file in the top directory of the package.

Ruby libraries

Ruby libraries follow the general structure for RubyGem packages. It is detailed on the Rock guidelines on Ruby packages.

Information about the package (including dependencies w.r.t. other packages) is added to the manifest.xml file in the top directory of the package.

vizkit Widgets

vizkit widget packages are C++ library packages that define Qt widgets, and export these widgets in a way that make them usable by vizkit, the Rock visualization library. Have a look at the tutorials and the associated documentation

vizkit 3D Plugins

vizkit 3D Plugin packages are C++ library packages that define plugins usable by vizkit’s Vizkit3DWidget, allowing to display data in a 3D view using OpenSceneGraph. Have a look at the tutorials and the associated documentation

oroGen projects

oroGen projects are packages which contain a toplevel .orogen file which contain description of components. See this tutorial and the associated documentation for more information.