Drake
MultibodyTreeContext< T > Class Template Reference

MultibodyTreeContext is an object that contains all the information needed to uniquely determine the state of a MultibodyTree. More...

#include <multibody/multibody_tree/multibody_tree_context.h>

Inheritance diagram for MultibodyTreeContext< T >:
[legend]
Collaboration diagram for MultibodyTreeContext< T >:
[legend]

## Public Member Functions

MultibodyTreeContext (const MultibodyTreeTopology &topology)

int get_num_positions () const
Returns the size of the generalized positions vector. More...

int get_num_velocities () const
Returns the size of the generalized velocities vector. More...

Eigen::VectorBlock< const VectorX< T > > get_positions () const
Returns an Eigen expression of the vector of generalized positions. More...

Eigen::VectorBlock< const VectorX< T > > get_velocities () const
Returns an Eigen expression of the vector of generalized velocities. More...

Eigen::VectorBlock< VectorX< T > > get_mutable_positions ()
Returns a mutable Eigen expression of the vector of generalized positions. More...

Eigen::VectorBlock< VectorX< T > > get_mutable_velocities ()
Returns a mutable Eigen expression of the vector of generalized velocities. More...

template<int count>
Eigen::VectorBlock< const VectorX< T >, count > get_state_segment (int start) const
Returns a const fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start. More...

template<int count>
Eigen::VectorBlock< VectorX< T >, count > get_mutable_state_segment (int start)
Returns a mutable fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start. More...

Eigen::VectorBlock< const VectorX< T > > get_state_segment (int start, int count) const
Returns a const fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start. More...

Eigen::VectorBlock< VectorX< T > > get_mutable_state_segment (int start, int count)
Returns a mutable fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start. More...

Does not allow copy, move, or assignment
MultibodyTreeContext (const MultibodyTreeContext &)=delete

MultibodyTreeContextoperator= (const MultibodyTreeContext &)=delete

MultibodyTreeContext (MultibodyTreeContext &&)=delete

MultibodyTreeContextoperator= (MultibodyTreeContext &&)=delete

Public Member Functions inherited from LeafContext< T >
LeafContext ()

~LeafContext () override

void SetInputPortValue (int index, std::unique_ptr< InputPortValue > port) override
Connects the input port at index to the value source port_value. More...

void ClearInputPorts ()
Removes all the input ports, and deregisters them from the output ports on which they depend. More...

void SetNumInputPorts (int n)
Clears the input ports and allocates n new input ports, not connected to anything. More...

int get_num_input_ports () const override
Returns the number of input ports. More...

const State< T > & get_state () const final

State< T > & get_mutable_state () final

CacheTicket CreateCacheEntry (const std::set< CacheTicket > &prerequisites) const
Reserves a cache entry with the given prerequisites on which it depends. More...

AbstractValueInitCachedValue (CacheTicket ticket, std::unique_ptr< AbstractValue > value) const
Stores the given value in the cache entry for the given ticket, and returns a bare pointer to value. More...

template<typename V >
void SetCachedValue (CacheTicket ticket, const V &value) const
Copies the given value into the cache entry for the given ticket. More...

const AbstractValueGetCachedValue (CacheTicket ticket) const

void set_parameters (std::unique_ptr< Parameters< T >> params)
Sets the parameters to params, deleting whatever was there before. More...

const Parameters< T > & get_parameters () const final
Returns the entire Parameters object. More...

Parameters< T > & get_mutable_parameters () final
Returns the entire Parameters object. More...

LeafContext (const LeafContext &)=delete

LeafContextoperator= (const LeafContext &)=delete

LeafContext (LeafContext &&)=delete

LeafContextoperator= (LeafContext &&)=delete

Public Member Functions inherited from Context< T >
Context ()=default

virtual ~Context ()=default

const T & get_time () const
Returns the current time in seconds. More...

virtual void set_time (const T &time_sec)
Set the current time in seconds. More...

bool is_stateless () const
Returns true if the Context has no state. More...

bool has_only_continuous_state () const
Returns true if the Context has continuous state, but no discrete or abstract state. More...

bool has_only_discrete_state () const
Returns true if the Context has discrete state, but no continuous or abstract state. More...

int get_num_total_states () const
Returns the total dimension of all of the basic vector states (as if they were muxed). More...

void set_continuous_state (std::unique_ptr< ContinuousState< T >> xc)
Sets the continuous state to xc, deleting whatever was there before. More...

ContinuousState< T > & get_mutable_continuous_state ()
Returns a mutable reference to the continuous component of the state, which may be of size zero. More...

VectorBase< T > & get_mutable_continuous_state_vector ()
Returns a mutable reference to the continuous state vector, devoid of second-order structure. More...

const ContinuousState< T > & get_continuous_state () const
Returns a const reference to the continuous component of the state, which may be of size zero. More...

const VectorBase< T > & get_continuous_state_vector () const
Returns a reference to the continuous state vector, devoid of second-order structure. More...

int get_num_discrete_state_groups () const
Returns the number of elements in the discrete state. More...

const DiscreteValues< T > & get_discrete_state () const

const BasicVector< T > & get_discrete_state_vector () const
Returns a reference to the discrete state vector. More...

DiscreteValues< T > & get_mutable_discrete_state ()
Returns a mutable pointer to the discrete component of the state, which may be of size zero. More...

BasicVector< T > & get_mutable_discrete_state (int index)
Returns a mutable pointer to element index of the discrete state. More...

void set_discrete_state (std::unique_ptr< DiscreteValues< T >> xd)
Sets the discrete state to xd, deleting whatever was there before. More...

const BasicVector< T > & get_discrete_state (int index) const
Returns a const pointer to the discrete component of the state at index. More...

int get_num_abstract_state_groups () const
Returns the number of elements in the abstract state. More...

const AbstractValuesget_abstract_state () const
Returns a const reference to the abstract component of the state, which may be of size zero. More...

AbstractValuesget_mutable_abstract_state ()
Returns a mutable reference to the abstract component of the state, which may be of size zero. More...

template<typename U >
U & get_mutable_abstract_state (int index)
Returns a mutable pointer to element index of the abstract state. More...

void set_abstract_state (std::unique_ptr< AbstractValues > xa)
Sets the abstract state to xa, deleting whatever was there before. More...

template<typename U >
const U & get_abstract_state (int index) const
Returns a const reference to the abstract component of the state at index. More...

void FixInputPort (int index, std::unique_ptr< BasicVector< T >> value)
Connects the input port at index to a FreestandingInputPortValue with the given vector value. More...

void FixInputPort (int index, std::unique_ptr< AbstractValue > value)
Connects the input port at index to a FreestandingInputPortValue with the given abstract value. More...

FreestandingInputPortValueFixInputPort (int index, const Eigen::Ref< const VectorX< T >> &data)
Connects the input port at index to a FreestandingInputPortValue with the given vector value. More...

const InputPortValueEvalInputPort (const detail::InputPortEvaluatorInterface< T > *evaluator, const InputPortDescriptor< T > &descriptor) const
Evaluates and returns the value of the input port identified by descriptor, using the given evaluator, which should be the Diagram containing the System that allocated this Context. More...

const BasicVector< T > * EvalVectorInput (const detail::InputPortEvaluatorInterface< T > *evaluator, const InputPortDescriptor< T > &descriptor) const
Evaluates and returns the vector value of the input port with the given descriptor. More...

const AbstractValueEvalAbstractInput (const detail::InputPortEvaluatorInterface< T > *evaluator, const InputPortDescriptor< T > &descriptor) const
Evaluates and returns the abstract value of the input port with the given descriptor. More...

template<typename V >
const V * EvalInputValue (const detail::InputPortEvaluatorInterface< T > *evaluator, const InputPortDescriptor< T > &descriptor) const
Evaluates and returns the data of the input port at index. More...

int num_numeric_parameters () const
Returns the number of vector-valued parameters. More...

const BasicVector< T > & get_numeric_parameter (int index) const
Returns a const pointer to the vector-valued parameter at index. More...

BasicVector< T > & get_mutable_numeric_parameter (int index)
Returns a mutable pointer to element index of the vector-valued parameters. More...

int num_abstract_parameters () const
Returns the number of abstract-valued parameters. More...

const AbstractValueget_abstract_parameter (int index) const
Returns a const reference to the abstract-valued parameter at index. More...

AbstractValueget_mutable_abstract_parameter (int index)
Returns a mutable reference to element index of the abstract-valued parameters. More...

void set_accuracy (const optional< double > &accuracy)
Records the user's requested accuracy. More...

const optional< double > & get_accuracy () const
Returns the accuracy setting (if any). More...

std::unique_ptr< Context< T > > Clone () const
Returns a deep copy of this Context. More...

std::unique_ptr< State< T > > CloneState () const
Returns a deep copy of this Context's State. More...

void SetTimeStateAndParametersFrom (const Context< double > &source)
Initializes this context's time, state, and parameters from the real values in source, regardless of this context's scalar type. More...

void set_parent (const Context< T > *parent)
Declares that parent is the context of the enclosing Diagram. More...

template<typename T1 = T>
void VerifyInputPort (const InputPortDescriptor< T1 > &descriptor) const
Throws an exception unless the given descriptor matches the inputs actually connected to this context in shape. More...

Context (const Context &)=delete

Contextoperator= (const Context &)=delete

Context (Context &&)=delete

Contextoperator= (Context &&)=delete

Protected Member Functions inherited from LeafContext< T >
Context< T > * DoClone () const override
The caller owns the returned memory. More...

State< T > * DoCloneState () const override
The caller owns the returned memory. More...

const InputPortValueGetInputPortValue (int index) const override
Returns the InputPortValue at the given index, which may be nullptr if it has never been set with SetInputPortValue(). More...

Protected Member Functions inherited from Context< T >
const StepInfo< T > & get_step_info () const
Returns a const reference to current time and step information. More...

StepInfo< T > * get_mutable_step_info ()
Provides writable access to time and step information, with the side effect of invaliding any computation that is dependent on them. More...

Static Protected Member Functions inherited from Context< T >
static const InputPortValueGetInputPortValue (const Context< T > &context, int index)
Returns the InputPortValue at the given index from the given context. More...

## Detailed Description

### template<typename T> class drake::multibody::MultibodyTreeContext< T >

MultibodyTreeContext is an object that contains all the information needed to uniquely determine the state of a MultibodyTree.

MultibodyTreeContext provides a collection of convenient access methods to retrieve generalized positions, velocities, cache entries, etc. Users should not need to make calls to these methods directly but rather access portions of a MultibodyTree state through the API provided by the different MultibodyTree elements such as Body, Frame, etc.

Template Parameters
 T The mathematical type of the context, which must be a valid Eigen scalar.

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

• double
• AutoDiffXd

## Constructor & Destructor Documentation

 MultibodyTreeContext ( const MultibodyTreeContext< T > & )
delete
 MultibodyTreeContext ( MultibodyTreeContext< T > && )
delete
 MultibodyTreeContext ( const MultibodyTreeTopology & topology )
inlineexplicit

Here is the call graph for this function:

## Member Function Documentation

 Eigen::VectorBlock > get_mutable_positions ( )
inline

Returns a mutable Eigen expression of the vector of generalized positions.

Here is the call graph for this function:

 Eigen::VectorBlock, count> get_mutable_state_segment ( int start )
inline

Returns a mutable fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start.

Here is the call graph for this function:

Here is the caller graph for this function:

 Eigen::VectorBlock > get_mutable_state_segment ( int start, int count )
inline

Returns a mutable fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start.

Here is the call graph for this function:

 Eigen::VectorBlock > get_mutable_velocities ( )
inline

Returns a mutable Eigen expression of the vector of generalized velocities.

Here is the call graph for this function:

 int get_num_positions ( ) const
inline

Returns the size of the generalized positions vector.

Here is the call graph for this function:

Here is the caller graph for this function:

 int get_num_velocities ( ) const
inline

Returns the size of the generalized velocities vector.

Here is the call graph for this function:

Here is the caller graph for this function:

 Eigen::VectorBlock > get_positions ( ) const
inline

Returns an Eigen expression of the vector of generalized positions.

Here is the call graph for this function:

 Eigen::VectorBlock, count> get_state_segment ( int start ) const
inline

Returns a const fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start.

Here is the call graph for this function:

Here is the caller graph for this function:

 Eigen::VectorBlock > get_state_segment ( int start, int count ) const
inline

Returns a const fixed-size Eigen::VectorBlock of count elements referencing a segment in the state vector with its first element at start.

Here is the call graph for this function:

 Eigen::VectorBlock > get_velocities ( ) const
inline

Returns an Eigen expression of the vector of generalized velocities.

Here is the call graph for this function:

 MultibodyTreeContext& operator= ( MultibodyTreeContext< T > && )
delete
 MultibodyTreeContext& operator= ( const MultibodyTreeContext< T > & )
delete

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