Public Types | |
enum | { Options = 0 } |
typedef std::vector< GeomIndex > | GeomIndexList |
typedef double | Scalar |
typedef SE3Tpl< Scalar, Options > | SE3 |
Public Member Functions | |
GeometryData (const GeometryModel &geomModel) | |
PINOCCHIO_DEPRECATED void | activateCollisionPair (const PairIndex pairId, const bool flag) |
void | activateCollisionPair (const PairIndex pairId) |
void | deactivateCollisionPair (const PairIndex pairId) |
void | fillInnerOuterObjectMaps (const GeometryModel &geomModel) |
Public Attributes | |
std::vector< bool > | activeCollisionPairs |
Vector of collision pairs. | |
std::vector< fcl::CollisionObject > | collisionObjects |
Collision objects (ie a fcl placed geometry). More... | |
PairIndex | collisionPairIndex |
index of the collision pair More... | |
fcl::CollisionRequest | collisionRequest |
Defines what information should be computed by collision test. | |
std::vector< fcl::CollisionResult > | collisionResults |
Vector gathering the result of the collision computation for all the collision pairs. | |
fcl::DistanceRequest | distanceRequest |
Defines what information should be computed by distance computation. | |
std::vector< fcl::DistanceResult > | distanceResults |
Vector gathering the result of the distance computation for all the collision pairs. | |
std::map< JointIndex, GeomIndexList > | innerObjects |
Map over vector GeomModel::geometryObjects, indexed by joints. More... | |
container::aligned_vector< SE3 > | oMg |
Vector gathering the SE3 placements of the geometry objects relative to the world. See updateGeometryPlacements to update the placements. More... | |
std::map< JointIndex, GeomIndexList > | outerObjects |
A list of associated collision GeometryObjects to a given joint Id. More... | |
std::vector< double > | radius |
Radius of the bodies, i.e. distance of the further point of the geometry model attached to the body from the joint center. | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const GeometryData &geomData) |
Definition at line 184 of file multibody/geometry.hpp.
PINOCCHIO_DEPRECATED void activateCollisionPair | ( | const PairIndex | pairId, |
const bool | flag | ||
) |
Activate a collision pair, for which collisions and distances would now be computed.
A collision (resp distance) between to geometries of GeomModel::geometryObjects is computed iff the corresponding pair has been added in GeomModel::collisionPairs AND it is active, i.e. the corresponding boolean in GeomData::activePairs is true. The second condition can be used to temporarily remove a pair without touching the model, in a versatile manner.
[in] | pairId | the index of the pair in GeomModel::collisionPairs vector. |
[in] | flag | value of the activation boolean (true by default). |
void activateCollisionPair | ( | const PairIndex | pairId | ) |
Activate a collision pair, for which collisions and distances would now be computed.
A collision (resp distance) between to geometries of GeomModel::geometryObjects is computed iff the corresponding pair has been added in GeomModel::collisionPairs AND it is active, i.e. the corresponding boolean in GeomData::activePairs is true. The second condition can be used to temporarily remove a pair without touching the model, in a versatile manner.
[in] | pairId | the index of the pair in GeomModel::collisionPairs vector. |
void deactivateCollisionPair | ( | const PairIndex | pairId | ) |
Deactivate a collision pair.
Calls indeed GeomData::activateCollisionPair(pairId)
[in] | pairId | the index of the pair in GeomModel::collisionPairs vector. |
void fillInnerOuterObjectMaps | ( | const GeometryModel & | geomModel | ) |
Fill both innerObjects and outerObjects maps, from vectors collisionObjects and collisionPairs.
This simply corresponds to storing in a re-arranged manner the information stored in geomModel.geometryObjects and geomModel.collisionPairs.
[in] | geomModel | the geometry model (const) |
std::vector<fcl::CollisionObject> collisionObjects |
Collision objects (ie a fcl placed geometry).
The object contains a pointer on the collision geometries contained in geomModel.geometryObjects.
Definition at line 209 of file multibody/geometry.hpp.
PairIndex collisionPairIndex |
index of the collision pair
It is used by some method to return additional information. For instance, the algo computeCollisions() sets it to the first colliding pair.
Definition at line 248 of file multibody/geometry.hpp.
std::map< JointIndex, GeomIndexList > innerObjects |
Map over vector GeomModel::geometryObjects, indexed by joints.
The map lists the collision GeometryObjects associated to a given joint Id. Inner objects can be seen as geometry objects that directly move when the associated joint moves
Definition at line 256 of file multibody/geometry.hpp.
Vector gathering the SE3 placements of the geometry objects relative to the world. See updateGeometryPlacements to update the placements.
oMg is used for pinocchio (kinematics) computation but is translated to fcl type for fcl (collision) computation. The copy is done in collisionObjects[i]->setTransform(.)
Definition at line 200 of file multibody/geometry.hpp.
std::map< JointIndex, GeomIndexList > outerObjects |
A list of associated collision GeometryObjects to a given joint Id.
Outer objects can be seen as geometry objects that may often be obstacles to the Inner objects of given joint
Definition at line 262 of file multibody/geometry.hpp.