Drake
InputPortEvaluatorInterface< T > Class Template Referenceabstract

InputPortEvaluatorInterface is implemented by classes that are able to evaluate the OutputPortValue connected to a particular InputPortValue. More...

#include <drake/systems/framework/input_port_evaluator_interface.h>

Inheritance diagram for InputPortEvaluatorInterface< T >:
[legend]

Public Member Functions

 InputPortEvaluatorInterface ()
 
virtual ~InputPortEvaluatorInterface ()
 
virtual void EvaluateSubsystemInputPort (const Context< T > *context, const InputPortDescriptor< T > &id) const =0
 Evaluates the input port with the given id in the given context. More...
 
virtual void GetPath (std::stringstream *output) const =0
 Writes the full path of the evaluator in the tree of Systems to output. More...
 
Does not allow copy, move, or assignment
 InputPortEvaluatorInterface (const InputPortEvaluatorInterface &)=delete
 
InputPortEvaluatorInterfaceoperator= (const InputPortEvaluatorInterface &)=delete
 
 InputPortEvaluatorInterface (InputPortEvaluatorInterface &&)=delete
 
InputPortEvaluatorInterfaceoperator= (InputPortEvaluatorInterface &&)=delete
 

Detailed Description

template<typename T>
class drake::systems::detail::InputPortEvaluatorInterface< T >

InputPortEvaluatorInterface is implemented by classes that are able to evaluate the OutputPortValue connected to a particular InputPortValue.

This interface is a Drake-internal detail. Users should never implement it. In fact, only Diagram should implement it. It exists primarily to narrow the methods Systems can invoke on their parent pointer, and secondarily to break circular includes between the System hierarchy and the Context hierarchy.

Template Parameters
TA mathematical type that is a valid Eigen scalar.

Constructor & Destructor Documentation

virtual ~InputPortEvaluatorInterface ( )
inlinevirtual

Member Function Documentation

virtual void EvaluateSubsystemInputPort ( const Context< T > *  context,
const InputPortDescriptor< T > &  id 
) const
pure virtual

Evaluates the input port with the given id in the given context.

The subsystem having the input port must be owned by this Diagram. Aborts if context is nullptr and there is any evaluation to do.

Implemented in Diagram< T >, and Diagram< double >.

Here is the caller graph for this function:

virtual void GetPath ( std::stringstream *  output) const
pure virtual

Writes the full path of the evaluator in the tree of Systems to output.

The path has the form (::ancestor_system_name)*::this_system_name.

TODO(david-german-tri): Instead return a stringstream, once Drake no longer supports old compilers that suffer from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316

Implemented in Diagram< T >, and Diagram< double >.

Here is the caller graph for this function:

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

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