Drake
Drake C++ Documentation
multibody_tree_topology.h File Reference

Detailed Description

This file defines the topological structures which represent the logical connectivities between multibody tree elements.

For instance, the RigidBodyTopology for a RigidBody will contain the topological information specifying its inboard (or parent) RigidBody in the forest model, and its outboard (or children) rigid bodies, and the level or depth in the forest. All of this information is independent of the particular scalar type T the MultibodyTree and its components are specialized with. All of the data structures defined in this file are meant to be the minimal representation that can store this information. These data structures are used in the following ways:

  • To aid the process of cloning or transmogrifying multibody tree components without having to create maps between the "original" and "cloned" objects.
  • Each topological Multibody element has a copy (acquired at MultibodyTree::Finalize() stage) of its topology which serves as a key into the Context for that element's state.
#include <algorithm>
#include <optional>
#include <set>
#include <stack>
#include <string>
#include <unordered_set>
#include <utility>
#include <vector>
#include <fmt/format.h>
#include "drake/common/drake_assert.h"
#include "drake/common/drake_copyable.h"
#include "drake/common/drake_throw.h"
#include "drake/common/ssize.h"
#include "drake/multibody/topology/forest.h"
#include "drake/multibody/tree/multibody_tree_indexes.h"
Include dependency graph for multibody_tree_topology.h:
This graph shows which files directly or indirectly include this file:

Namespaces

 drake
 
 drake::multibody