delphyne
AgentDiagramBuilder< T > Class Template Reference

Detailed Description

template<typename T>
class delphyne::AgentDiagramBuilder< T >

A builder that creates diagrams with inputs and outputs for agents.

This provides convenience methods and ensures that the resulting diagrams has the requisite input and output ports. The final deliverable is a DiagramBundle.


| | --> State Traffic Poses --> | Diagram | --> Pose

| | --> Velocity

#include <include/delphyne/mi6/agent_diagram_builder.h>

Inheritance diagram for AgentDiagramBuilder< T >:
[legend]

Public Member Functions

 AgentDiagramBuilder (const std::string &name)
 Default constructor. More...
 
void ExportStateOutput (const drake::systems::OutputPort< T > &output)
 Export the specified state output port. More...
 
void ExportPoseOutput (const drake::systems::OutputPort< T > &output)
 Export the specified pose output port. More...
 
void ExportVelocityOutput (const drake::systems::OutputPort< T > &output)
 Export the specified velocity output port. More...
 
void ConnectTrafficPosesTo (const drake::systems::InputPort< T > &destination)
 Connect the input traffic poses port to internal systems. More...
 
std::unique_ptr< DiagramBundle< T > > Build ()
 Build the diagram bundle and append the indices. More...
 

Constructor & Destructor Documentation

◆ AgentDiagramBuilder()

AgentDiagramBuilder ( const std::string &  name)
explicit

Default constructor.

Parameters
[in]name: Convenient descriptive name for the diagram.

Member Function Documentation

◆ Build()

std::unique_ptr<DiagramBundle<T> > Build ( )

Build the diagram bundle and append the indices.

◆ ConnectTrafficPosesTo()

void ConnectTrafficPosesTo ( const drake::systems::InputPort< T > &  destination)

Connect the input traffic poses port to internal systems.

This is necessary since there are often multiple internal systems that require the traffic poses coming from outside the diagram. This connects them to the pass through system that makes that diagram input port available to multiple systems.

◆ ExportPoseOutput()

void ExportPoseOutput ( const drake::systems::OutputPort< T > &  output)

Export the specified pose output port.

Note that this may only be called once before building, since the contract for this builder is to create a diagram with one and only one pose output port.

Exceptions
std::runtime_errorif this method is called more than once before building.

◆ ExportStateOutput()

void ExportStateOutput ( const drake::systems::OutputPort< T > &  output)

Export the specified state output port.

Note that this may only be called once before building, since the contract for this builder is to create a diagram with one and only one state output port.

Exceptions
std::runtime_errorif this method is called more than once before building.

◆ ExportVelocityOutput()

void ExportVelocityOutput ( const drake::systems::OutputPort< T > &  output)

Export the specified velocity output port.

Note that this may only be called once before building, since the contract for this builder is to create a diagram with one and only one velocity output port.

Exceptions
std::runtime_errorif this method is called more than once before building.

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