libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
FactsManager Class Reference

Public Member Functions

 FactsManager (Scene *scen)
 
void initAll ()
 
bool disableFacts (std::string s)
 
bool enableFacts (std::string s)
 
bool isFactEnabled (std::string s)
 
bool computeVisibility (WorldStateFacts *WS, Robot *mainEntity, Robot *targetEntity, bool forceRecompute)
 computing visibility fact for now, it is done roughly a first loop check if the center of mass of the target object is in the fov second check the oclusions, and keep the percent of oject seen repeat same procedure for a larger fov (representing head motion
 
bool computeReachability (WorldStateFacts *WS, Robot *mainEntity, Robot *targetEntity, bool forceRecompute)
 the hand will be stocked in the sepecific value 2 hand considered
 
bool computeIsOn (WorldStateFacts *WS, Robot *mainEntity, Robot *targetEntity, bool forceRecompute)
 computation of is On fact an object A is On another one B in the next conditions: The center of A is within the boundaries of the BB of B B is not too tilted (less then 15deg) TODO: Is On needs to go all the way to the ground (passing through multiple objects; Is On is not computed for object with multiple joints (BB computation problems) is above is a special case where there is no contact
 
bool computeIsIn (WorldStateFacts *WS, Robot *mainEntity, Robot *targetEntity, bool forceRecompute)
 Compute is insinde fact is in means at least half of the mainobject is in the OBB of the target object no agents. More...
 
bool computeIsNextTo (WorldStateFacts *WS, Robot *mainEntity, Robot *targetEntity, bool forceRecompute)
 computation of is next to fact an object is next to another if the closest distance between those two is smaller than isNextToDist (0.2m) NOTE: if an object is next to another, the inverse is also true!
 
bool computeSize (WorldStateFacts *WS, Robot *mainEntity, Robot *targetEntity, bool forceRecompute)
 
bool computeClutter (WorldStateFacts *WS, Robot *mainEntity, Robot *targetEntity, bool forceRecompute)
 
bool computeRobotVisibility (WorldStateFacts *WS, Robot *mainEntity, bool forceRecompute)
 
bool computeRobotReachability (WorldStateFacts *WS, Robot *mainEntity, bool forceRecompute)
 
bool computeRobotIsOn (WorldStateFacts *WS, Robot *mainEntity, bool forceRecompute)
 
bool computeRobotIsIn (WorldStateFacts *WS, Robot *mainEntity, bool forceRecompute)
 
bool computeRobotIsNextTo (WorldStateFacts *WS, Robot *mainEntity, bool forceRecompute)
 
bool computeRobotSize (WorldStateFacts *WS, Robot *mainEntity, bool forceRecompute)
 
bool computeRobotClutter (WorldStateFacts *WS, Robot *mainEntity, bool forceRecompute)
 
bool computeAllVisibilities (WorldStateFacts *WS, bool forceRecompute)
 
bool computeAllReachabilities (WorldStateFacts *WS, bool forceRecompute)
 
bool computeAllIsOn (WorldStateFacts *WS, bool forceRecompute)
 
bool computeAllIsIn (WorldStateFacts *WS, bool forceRecompute)
 
bool computeAllIsNextTo (WorldStateFacts *WS, bool forceRecompute)
 
bool computeAllSize (WorldStateFacts *WS, bool forceRecompute)
 
bool computeAllClutter (WorldStateFacts *WS, bool forceRecompute)
 
bool computeFacts (WorldStateFacts *WS, bool forceRecompute)
 
bool computeFacts (int WSid, bool forceRecompute)
 
int computeFacts (bool forceRecompute)
 
int findWorldStateFacts (WorldStateFacts *WS)
 
int findOrAddWorldStateFacts (WorldStateFacts *WS)
 
int findCurWorldStateFacts ()
 
void setFactToFalse (WorldStateFacts *WS, fact_id ft, Robot *mainEntity, Robot *targetEntity)
 
bool cleanWSList ()
 
bool computeOneFact (WorldStateFacts *WSF, std::string fact, Robot *mainEntity)
 
std::vector< FactcomputeAndGetFact (std::string fact, Robot *mainEntity)
 
Fact computeAndGetFact (std::string fact, std::string factSubType, Robot *mainEntity, Robot *targetEntity)
 
WorldStateFactsgetWSFromId (int WSid)
 
std::vector< fact_idgetFactList ()
 

Member Function Documentation

bool FactsManager::computeIsIn ( WorldStateFacts WS,
Robot mainEntity,
Robot targetEntity,
bool  forceRecompute 
)

Compute is insinde fact is in means at least half of the mainobject is in the OBB of the target object no agents.


The documentation for this class was generated from the following files: