Drake
drake::geometry Namespace Reference

Namespaces

 detail
 
 internal
 
 test
 

Classes

class  Box
 Definition of a box. More...
 
class  Cylinder
 Definition of a cylinder. More...
 
class  FrameKinematicsVector
 A FrameKinematicsVector is used to report kinematics data for registered frames (identified by unique FrameId values) to SceneGraph. More...
 
class  GeometryContext
 The custom leaf context type for SceneGraph. More...
 
class  GeometryFrame
 This simple class carries the definition of a frame used in the SceneGraph. More...
 
class  GeometryInstance
 A geometry instance combines a geometry definition (i.e., a shape of some sort), a pose (relative to a parent "frame" P), material information, and an opaque collection of metadata. More...
 
class  GeometrySet
 The GeometrySet, as its name implies, is a convenience class for defining a set of geometries. More...
 
class  GeometryState
 The context-dependent state of SceneGraph. More...
 
class  HalfSpace
 Definition of a half space. More...
 
class  Identifier
 A simple identifier class. More...
 
class  Mesh
 Limited support for meshes. More...
 
struct  PenetrationAsPointPair
 A characterization of the intersection of two penetrating geometries. More...
 
class  QueryObject
 The QueryObject serves as a mechanism to perform geometry queries on the world's geometry. More...
 
class  SceneGraph
 SceneGraph serves as the nexus for all geometry (and geometry-based operations) in a Diagram. More...
 
class  SceneGraphInspector
 The SceneGraphInspector serves as a mechanism to query the topological structure of a SceneGraph instance. More...
 
class  Shape
 The base interface for all shape specifications. More...
 
class  ShapeReifier
 The interface for converting shape descriptions to real shapes. More...
 
struct  ShapeTag
 Simple struct for instantiating the type-specific Shape functionality. More...
 
struct  SignedDistancePair
 The data for reporting the signed distance between two geometries, A and B. More...
 
class  Sphere
 Definition of sphere. More...
 
class  VisualMaterial
 Definition of material for simple visualization. More...
 

Typedefs

template<typename T >
using FramePoseVector = FrameKinematicsVector< Isometry3< T >>
 Class for communicating pose information to SceneGraph for registered frames. More...
 
using SourceId = Identifier< class SourceTag >
 Type used to identify geometry sources in SceneGraph. More...
 
using FrameId = Identifier< class FrameTag >
 Type used to identify geometry frames in SceneGraph. More...
 
using GeometryId = Identifier< class GeometryTag >
 Type used to identify geometry instances in SceneGraph. More...
 
using GeometryIndex = TypeSafeIndex< class GeometryTag >
 Type used to locate a dynamic geometry in the geometry engine. More...
 
using AnchoredGeometryIndex = TypeSafeIndex< class AnchoredGeometryTag >
 Type used to locate an anchored geometry in the geometry engine. More...
 
using PoseIndex = TypeSafeIndex< class GeometryPoseTag >
 Type used to locate a frame pose in the geometry state. More...
 
Structures for maintaining the entity relationships
using FrameIdSet = std::unordered_set< FrameId >
 Collection of unique frame ids. More...
 

Functions

template<class Key , class Findable >
void FindOrThrow (const Key &key, const Findable &source, const std::function< std::string()> &make_message)
 
template<class Key >
std::string get_missing_id_message (const Key &key)
 
template<class Key , class Value >
const Value & GetValueOrThrow (const Key &key, const std::unordered_map< Key, Value > &map)
 
template<class Key , class Value >
Value & GetMutableValueOrThrow (const Key &key, std::unordered_map< Key, Value > *map)
 
template<>
std::string get_missing_id_message< SourceId > (const SourceId &key)
 
template<>
std::string get_missing_id_message< FrameId > (const FrameId &key)
 
template<>
std::string get_missing_id_message< GeometryId > (const GeometryId &key)
 
void DispatchLoadMessage (const SceneGraph< double > &scene_graph, lcm::DrakeLcmInterface *lcm)
 (Advanced) Explicitly dispatches an LCM load message based on the registered geometry. More...
 
void ConnectDrakeVisualizer (systems::DiagramBuilder< double > *builder, const SceneGraph< double > &scene_graph, lcm::DrakeLcmInterface *lcm=nullptr)
 Extends a Diagram with the required components to interface with drake_visualizer. More...
 
template<typename Tag >
std::string to_string (const drake::geometry::Identifier< Tag > &id)
 Enables use of identifiers with to_string. More...
 

Typedef Documentation

using AnchoredGeometryIndex = TypeSafeIndex<class AnchoredGeometryTag>

Type used to locate an anchored geometry in the geometry engine.

using FrameId = Identifier<class FrameTag>

Type used to identify geometry frames in SceneGraph.

using FrameIdSet = std::unordered_set<FrameId>

Collection of unique frame ids.

Class for communicating pose information to SceneGraph for registered frames.

Template Parameters
TThe scalar type. Must be a valid Eigen scalar.

Instantiated templates for the following kinds of T's are provided:

  • double
  • AutoDiffXd

They are already available to link against in the containing library. No other values for T are currently supported.

using GeometryId = Identifier<class GeometryTag>

Type used to identify geometry instances in SceneGraph.

using GeometryIndex = TypeSafeIndex<class GeometryTag>

Type used to locate a dynamic geometry in the geometry engine.

using PoseIndex = TypeSafeIndex<class GeometryPoseTag>

Type used to locate a frame pose in the geometry state.

using SourceId = Identifier<class SourceTag>

Type used to identify geometry sources in SceneGraph.

Function Documentation

void DispatchLoadMessage ( const SceneGraph< double > &  scene_graph,
lcm::DrakeLcmInterface lcm 
)

(Advanced) Explicitly dispatches an LCM load message based on the registered geometry.

Normally this is done automatically at Simulator initialization. But if you have to do it yourself (likely because you are not using a Simulator), it should be invoked after registration is complete. Typically this is used after ConnectDrakeVisualizer() has been used to add visualization to the Diagram that contains the given scene_graph. The message goes to LCM channel "DRAKE_VIEWER_LOAD_ROBOT".

See also
geometry::ConnectDrakeVisualizer()
void drake::geometry::FindOrThrow ( const Key &  key,
const Findable &  source,
const std::function< std::string()> &  make_message 
)
std::string drake::geometry::get_missing_id_message ( const Key &  key)
std::string drake::geometry::get_missing_id_message< FrameId > ( const FrameId key)
Value& drake::geometry::GetMutableValueOrThrow ( const Key &  key,
std::unordered_map< Key, Value > *  map 
)
const Value& drake::geometry::GetValueOrThrow ( const Key &  key,
const std::unordered_map< Key, Value > &  map 
)
std::string drake::geometry::to_string ( const drake::geometry::Identifier< Tag > &  id)
inline

Enables use of identifiers with to_string.

It requires ADL to work. So, it should be invoked as: to_string(id); and should be preceded by using std::to_string.