This page provides specifications applicable to any implementation of the abstract interface.
The developer of an implementation needs to derive the abstract classes of the interface and to implement the pure virtual methods. Some classes need to be derived into several concrete classes. For instance CjrlJoint should be derived into FREEFLYER, ROTATION and TRANSLATION joints.
The implementation of CjrlHumanoidDynamicRobot should virtually inherit from the implementation of CjrlDynamicRobot
Some types or classes need to be provided by the implementation. These types are:
Let us assume that the package named impl1RobotDynamics
provides an implementation of the abstract interface with:
To make these classes accessible to a user, the names of the classes should be exported in file impl1RobotDynamics/robotDynamicsImpl.h
. This file should include the following line:
Thus, by including this file, the user of the implementation has access to the definitions of the implementation classes and can use them without knowing the name of these classes.
Each implementation of the abstract interface classes should include a constructor as specified in class CjrlRobotDynamicsObjectConstructor.