#include <module_family.h>
Classes | |
struct | Family |
Public Types | |
typedef boost::shared_ptr< Set > | SetPtr |
typedef std::pair< std::set < SetPtr >, SetPtr > | Relation |
typedef boost::function< bool(const std::vector< OpenRAVE::dReal > &values)> | Indicator |
Public Member Functions | |
FamilyModule (OpenRAVE::EnvironmentBasePtr penv) | |
std::string | GetInstanceId () |
void | SetCostPerIlc (double cost_per_ilc) |
int | main (const std::string &cmd) |
void | Destroy () |
std::string | GetFamilyId () |
SetPtr | GetCurrentSet () |
SetPtr | GetSetFromExpression (std::string input) |
SetPtr | GetSet (std::string literal) |
void | Let (std::string literal, SetPtr set) |
void | Del (std::string literal) |
std::string | GetHeaderFromSet (SetPtr set) |
SetPtr | GetSetFromHeader (std::string set_header) |
Family | GetCurrentFamily (std::set< SetPtr > sets_ext=std::set< SetPtr >()) |
std::map< SetPtr, std::pair < double, Indicator > > | GetIndicators (const Family &family) |
std::map< SetPtr, std::string > | GetCanonicalNames (const Family &family) |
bool | CmdGetInstanceId (std::ostream &soutput, std::istream &sinput) |
bool | CmdGetRobotName (std::ostream &soutput, std::istream &sinput) |
bool | CmdSetCostPerIlc (std::ostream &soutput, std::istream &sinput) |
bool | CmdGetFamilyId (std::ostream &soutput, std::istream &sinput) |
bool | CmdLet (std::ostream &soutput, std::istream &sinput) |
bool | CmdNamesOf (std::ostream &soutput, std::istream &sinput) |
bool | CmdPrintCurrentFamily (std::ostream &soutput, std::istream &sinput) |
bool | CmdGetHeaderFromSet (std::ostream &soutput, std::istream &sinput) |
This is tied to a particular robot instance
the job of the family object is to maintain/deduplicate canonical names for linkdata objects, save/load to disk, etc
it's either loaded from disk, or it isnt!
this maintains pointers to sets sets persist if they're named, or if other people own pointers to them
a family is a set of sets bound to a particular robot (for now)
NOTE: The current set includes all robot self and environment inter-link collisions, with the following known differences: