Simox
2.3.74.0
|
Data Structures | |
struct | ActorDefinition |
Public Types | |
enum | CollisionMode { eNone = 0, eActors = 1, eStatic = 2, eAll = 3 } |
VirtualRobot::EndEffectorActor::EndEffectorActor | ( | const std::string & | name, |
const std::vector< ActorDefinition > & | a, | ||
CollisionCheckerPtr | colChecker = CollisionCheckerPtr() |
||
) |
EndEffectorActorPtr VirtualRobot::EndEffectorActor::clone | ( | RobotPtr | newRobot | ) |
Clones the EndEffectorActor with respect to the given robot. Note that unlike the clone-methods of RobotNodeSet and EndEffector, this method does not register anything with the robot.
float VirtualRobot::EndEffectorActor::getApproximatedLength | ( | ) |
returns an approximation about the length of this eef.
VirtualRobot::RobotConfigPtr VirtualRobot::EndEffectorActor::getConfiguration | ( | ) |
std::vector< EndEffectorActor::ActorDefinition > VirtualRobot::EndEffectorActor::getDefinition | ( | ) |
std::string VirtualRobot::EndEffectorActor::getName | ( | ) |
std::vector< RobotNodePtr > VirtualRobot::EndEffectorActor::getRobotNodes | ( | ) |
bool VirtualRobot::EndEffectorActor::hasNode | ( | RobotNodePtr | node | ) |
Check, if node is part of this actor.
bool VirtualRobot::EndEffectorActor::isAtHiLimit | ( | ) | const |
bool VirtualRobot::EndEffectorActor::isAtLoLimit | ( | ) | const |
bool VirtualRobot::EndEffectorActor::isColliding | ( | SceneObjectSetPtr | obstacles, |
CollisionMode | checkColMode = EndEffectorActor::eAll |
||
) |
Checks if the actor collides with one of the given obstacles
bool VirtualRobot::EndEffectorActor::isColliding | ( | EndEffectorPtr | eef, |
SceneObjectSetPtr | obstacles, | ||
EndEffector::ContactInfoVector & | storeContacts, | ||
CollisionMode | checkColMode = EndEffectorActor::eAll |
||
) |
bool VirtualRobot::EndEffectorActor::isColliding | ( | SceneObjectPtr | obstacle, |
CollisionMode | checkColMode = EndEffectorActor::eAll |
||
) |
Checks if the actor collides with the given obstacle. checkColMode
If set, the collisionMode of the actor's robotNodes is checked against it (e.g. to avoid collision checks with the static part of the eef)
bool VirtualRobot::EndEffectorActor::isColliding | ( | EndEffectorPtr | eef, |
SceneObjectPtr | obstacle, | ||
EndEffector::ContactInfoVector & | storeContacts, | ||
CollisionMode | checkColMode = EndEffectorActor::eAll |
||
) |
bool VirtualRobot::EndEffectorActor::isColliding | ( | EndEffectorActorPtr | obstacle | ) |
Checks if the actor collides with a given second actor
bool VirtualRobot::EndEffectorActor::isColliding | ( | EndEffectorPtr | eef, |
EndEffectorActorPtr | obstacle, | ||
EndEffector::ContactInfoVector & | storeContacts | ||
) |
bool VirtualRobot::EndEffectorActor::isColliding | ( | EndEffectorPtr | obstacle | ) |
Checks if the actor collides with a given end effector
bool VirtualRobot::EndEffectorActor::isColliding | ( | EndEffectorPtr | eef, |
EndEffectorPtr | obstacle, | ||
EndEffector::ContactInfoVector & | storeContacts | ||
) |
bool VirtualRobot::EndEffectorActor::moveActor | ( | float | angle = 0.02 | ) |
Changes the value of all joints belonging to the actor by angle. Returns true if all joints hit their limit.
bool VirtualRobot::EndEffectorActor::moveActorCheckCollision | ( | EndEffectorPtr | eef, |
EndEffector::ContactInfoVector & | storeContacts, | ||
SceneObjectSetPtr | obstacles = SceneObjectSetPtr() , |
||
float | angle = 0.02 |
||
) |
Changes the value of all joints belonging to the actor by angle while checking every RobotNode for collisions with eef and obstacles.
eef | The End effector |
storeContacts | In case collisions are detected, the corresponding contact info is stored here. |
obstacles | Check collisions with these obstacles. |
angle | How far should the eef actor move [rad] Returns true if all joints do either hit their limit or are in collision, e.g. the actor cannot be moved any further. |
bool VirtualRobot::EndEffectorActor::nodesSufficient | ( | std::vector< RobotNodePtr > | nodes | ) | const |
Returns true, if nodes (only name strings are checked) are sufficient for building this eef.
void VirtualRobot::EndEffectorActor::print | ( | ) |
|
virtual |