Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper Class Reference

This is a Tesseract link collision object wrapper which add items specific to tesseract. It is a wrapper around a tesseract link which may contain several collision objects. More...

#include <fcl_utils.h>

Collaboration diagram for tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper:
Collaboration graph
[legend]

Public Types

using Ptr = std::shared_ptr< CollisionObjectWrapper >
 
using ConstPtr = std::shared_ptr< const CollisionObjectWrapper >
 

Public Member Functions

 CollisionObjectWrapper ()=default
 
 CollisionObjectWrapper (std::string name, const int &type_id, CollisionShapesConst shapes, tesseract_common::VectorIsometry3d shape_poses)
 
const std::string & getName () const
 
const int & getTypeID () const
 
bool sameObject (const CollisionObjectWrapper &other) const
 Check if two objects point to the same source object. More...
 
const CollisionShapesConstgetCollisionGeometries () const
 
const tesseract_common::VectorIsometry3dgetCollisionGeometriesTransforms () const
 
void setCollisionObjectsTransform (const Eigen::Isometry3d &pose)
 
void setContactDistanceThreshold (double contact_distance)
 
double getContactDistanceThreshold () const
 
const Eigen::Isometry3d & getCollisionObjectsTransform () const
 
const std::vector< CollisionObjectPtr > & getCollisionObjects () const
 
std::vector< CollisionObjectPtr > & getCollisionObjects ()
 
const std::vector< CollisionObjectRawPtr > & getCollisionObjectsRaw () const
 
std::vector< CollisionObjectRawPtr > & getCollisionObjectsRaw ()
 
std::shared_ptr< CollisionObjectWrapperclone () const
 
int getShapeIndex (const fcl::CollisionObjectd *co) const
 Given fcl collision shape get the index to the links collision shape. More...
 

Public Attributes

short int m_collisionFilterGroup { CollisionFilterGroups::KinematicFilter }
 
short int m_collisionFilterMask { CollisionFilterGroups::StaticFilter | CollisionFilterGroups::KinematicFilter }
 
bool m_enabled { true }
 

Protected Attributes

std::string name_
 
int type_id_ { -1 }
 
Eigen::Isometry3d world_pose_ { Eigen::Isometry3d::Identity() }
 Collision Object World Transformation. More...
 
CollisionShapesConst shapes_
 
tesseract_common::VectorIsometry3d shape_poses_
 
std::vector< CollisionGeometryPtrcollision_geometries_
 
std::vector< CollisionObjectPtrcollision_objects_
 
std::vector< CollisionObjectRawPtrcollision_objects_raw_
 The raw pointer is also stored because FCL accepts vectors for batch process. Note: They are updating the API to Shared Pointers but the broadphase has not been updated yet. More...
 
double contact_distance_ { 0 }
 The contact distance threshold. More...
 

Detailed Description

This is a Tesseract link collision object wrapper which add items specific to tesseract. It is a wrapper around a tesseract link which may contain several collision objects.

Member Typedef Documentation

◆ ConstPtr

◆ Ptr

Constructor & Destructor Documentation

◆ CollisionObjectWrapper() [1/2]

tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::CollisionObjectWrapper ( )
default

◆ CollisionObjectWrapper() [2/2]

tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::CollisionObjectWrapper ( std::string  name,
const int &  type_id,
CollisionShapesConst  shapes,
tesseract_common::VectorIsometry3d  shape_poses 
)

Member Function Documentation

◆ clone()

std::shared_ptr< CollisionObjectWrapper > tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::clone ( ) const
inline

◆ getCollisionGeometries()

const CollisionShapesConst & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getCollisionGeometries ( ) const
inline

◆ getCollisionGeometriesTransforms()

const tesseract_common::VectorIsometry3d & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getCollisionGeometriesTransforms ( ) const
inline

◆ getCollisionObjects() [1/2]

std::vector< CollisionObjectPtr > & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getCollisionObjects ( )
inline

◆ getCollisionObjects() [2/2]

const std::vector< CollisionObjectPtr > & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getCollisionObjects ( ) const
inline

◆ getCollisionObjectsRaw() [1/2]

std::vector< CollisionObjectRawPtr > & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getCollisionObjectsRaw ( )
inline

◆ getCollisionObjectsRaw() [2/2]

const std::vector< CollisionObjectRawPtr > & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getCollisionObjectsRaw ( ) const
inline

◆ getCollisionObjectsTransform()

const Eigen::Isometry3d & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getCollisionObjectsTransform ( ) const
inline

◆ getContactDistanceThreshold()

double tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getContactDistanceThreshold ( ) const
inline

◆ getName()

const std::string & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getName ( ) const
inline

◆ getShapeIndex()

int tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getShapeIndex ( const fcl::CollisionObjectd *  co) const

Given fcl collision shape get the index to the links collision shape.

Parameters
cofcl collision shape
Returns
links collision shape index

◆ getTypeID()

const int & tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::getTypeID ( ) const
inline

◆ sameObject()

bool tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::sameObject ( const CollisionObjectWrapper other) const
inline

Check if two objects point to the same source object.

◆ setCollisionObjectsTransform()

void tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::setCollisionObjectsTransform ( const Eigen::Isometry3d &  pose)
inline

◆ setContactDistanceThreshold()

void tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::setContactDistanceThreshold ( double  contact_distance)
inline

Member Data Documentation

◆ collision_geometries_

std::vector<CollisionGeometryPtr> tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::collision_geometries_
protected

◆ collision_objects_

std::vector<CollisionObjectPtr> tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::collision_objects_
protected

◆ collision_objects_raw_

std::vector<CollisionObjectRawPtr> tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::collision_objects_raw_
protected

The raw pointer is also stored because FCL accepts vectors for batch process. Note: They are updating the API to Shared Pointers but the broadphase has not been updated yet.

◆ contact_distance_

double tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::contact_distance_ { 0 }
protected

The contact distance threshold.

◆ m_collisionFilterGroup

short int tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::m_collisionFilterGroup { CollisionFilterGroups::KinematicFilter }

◆ m_collisionFilterMask

short int tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::m_collisionFilterMask { CollisionFilterGroups::StaticFilter | CollisionFilterGroups::KinematicFilter }

◆ m_enabled

bool tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::m_enabled { true }

◆ name_

std::string tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::name_
protected

◆ shape_poses_

tesseract_common::VectorIsometry3d tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::shape_poses_
protected

◆ shapes_

CollisionShapesConst tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::shapes_
protected

◆ type_id_

int tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::type_id_ { -1 }
protected

◆ world_pose_

Eigen::Isometry3d tesseract_collision::tesseract_collision_fcl::CollisionObjectWrapper::world_pose_ { Eigen::Isometry3d::Identity() }
protected

Collision Object World Transformation.


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