SCL
1.0
Standard Control Library : Control, dynamics, physics, and simulation
|
#include <SDatabase.hpp>
Public Member Functions | |
sBool | getControllersForRobot (const std::string &arg_robot, std::vector< SControllerBase * > &ret_controllers) |
Public Attributes | |
sutil::CMappedPointerList < std::string, SControllerBase, true > | controllers_ |
sutil::CMappedPointerList < std::string, STaskBase, true > | tasks_ |
sutil::CMappedPointerList < std::string, SNonControlTaskBase, true > | tasks_non_ctrl_ |
All the data updated by the controller
Controller robots - Atleast one controller for each robot. Multiple tasks for each controller (in a hierarchy)
No controller can exist unless its robot is defined by the parser.
NOTE : SRobotParsed is the statically loaded robot information while SCrRobot contains the information about the robot that the controller dynamically generates (eg. matrices)
Each controller has : SRobotParsed + SCrRobot
Supports twofold robot lookup:
|
inline |
Returns all the controllers initialized for a specific robot
sutil::CMappedPointerList<std::string,SControllerBase, true> scl::SControllerData::controllers_ |
Enables string access for controller data. NOTE : Each controller is stored along with it's name in a pilemap.
A mapped pointer list so that it can manage memory for subclasses as well (by storing and later deleting their pointers, instead of allocating and storing objects themselves).
sutil::CMappedPointerList<std::string,STaskBase, true> scl::SControllerData::tasks_ |
Enables string access for controller task data. Each task is stored along with its type as a std::pair. A mapped pointer list so that it can manage memory for subclasses as well (by storing and later deleting their pointers, instead of allocating and storing objects themselves).
sutil::CMappedPointerList<std::string,SNonControlTaskBase, true> scl::SControllerData::tasks_non_ctrl_ |
Enables string access for non-controller task data. Each task is stored along with its type as a std::pair. A mapped pointer list so that it can manage memory for subclasses as well (by storing and later deleting their pointers, instead of allocating and storing objects themselves).