OutputPortBase handles the scalar type-independent aspects of an OutputPort.
An OutputPort belongs to a System and represents the properties of one of that System's output ports.
#include <drake/systems/framework/output_port_base.h>
Public Member Functions | |
| ~OutputPortBase () override | |
| OutputPortIndex | get_index () const |
| Returns the index of this output port within the owning System. More... | |
| const std::string & | get_name () const |
| Get port name. More... | |
| std::string | GetFullDescription () const |
| Returns a verbose human-readable description of port. More... | |
| PortDataType | get_data_type () const |
| Returns the port data type. More... | |
| int | size () const |
| Returns the fixed size expected for a vector-valued port. More... | |
| DependencyTicket | ticket () const |
| (Advanced.) Returns the DependencyTicket for this port within the owning System. More... | |
Does not allow copy, move, or assignment | |
| OutputPortBase (const OutputPortBase &)=delete | |
| OutputPortBase & | operator= (const OutputPortBase &)=delete |
| OutputPortBase (OutputPortBase &&)=delete | |
| OutputPortBase & | operator= (OutputPortBase &&)=delete |
Public Member Functions inherited from PortBase | |
| virtual | ~PortBase () |
| const std::string & | get_name () const |
| Get port name. More... | |
| std::string | GetFullDescription () const |
| Returns a verbose human-readable description of port. More... | |
| PortDataType | get_data_type () const |
| Returns the port data type. More... | |
| int | size () const |
| Returns the fixed size expected for a vector-valued port. More... | |
| const std::optional< std::string > & | get_deprecation () const |
| When this port is deprecated, returns non-null with a (possibly empty) deprecation message; when this port is not deprecated, returns null. More... | |
| void | set_deprecation (std::optional< std::string > deprecation) |
| Sets whether this port is deprecated (and if so, the message). More... | |
| DependencyTicket | ticket () const |
| (Advanced.) Returns the DependencyTicket for this port within the owning System. More... | |
| PortBase (const PortBase &)=delete | |
| PortBase & | operator= (const PortBase &)=delete |
| PortBase (PortBase &&)=delete | |
| PortBase & | operator= (PortBase &&)=delete |
Protected Member Functions | |
| OutputPortBase (internal::SystemMessageInterface *owning_system, internal::SystemId owning_system_id, std::string name, OutputPortIndex index, DependencyTicket ticket, PortDataType data_type, int size) | |
| Provides derived classes the ability to set the base class members at construction. More... | |
| virtual internal::OutputPortPrerequisite | DoGetPrerequisite () const =0 |
| Concrete output ports must implement this to return the prerequisite dependency ticket for this port, which may be in the current System or one of its immediate child subsystems. More... | |
Protected Member Functions inherited from PortBase | |
| PortBase (const char *kind_string, internal::SystemMessageInterface *owning_system, internal::SystemId owning_system_id, std::string name, int index, DependencyTicket ticket, PortDataType data_type, int size) | |
| Provides derived classes the ability to set the base class members at construction. More... | |
| int | get_int_index () const |
| Returns the index of this port within the owning System (i.e., an InputPortIndex or OutputPortIndex, but as a bare integer). More... | |
| const internal::SystemMessageInterface & | get_system_interface () const |
| Returns a reference to the system that owns this port. More... | |
| internal::SystemMessageInterface & | get_mutable_system_interface () |
| Returns get_system_interface(), but without the const. More... | |
| void | ValidateSystemId (internal::SystemId id) const |
| (Internal use only) Checks whether the given id (nominally obtained from a Context passed to this port) was created for the system that owns this port. More... | |
| void | ThrowValidateContextMismatch () const |
| (Internal use only) Throws std::exception with a message that the sanity check(s) related to ValidateContext have failed. More... | |
| template<typename ValueType > | |
| const ValueType & | PortEvalCast (const AbstractValue &abstract) const |
| Pull a value of a given type from an abstract value or issue a nice message if the type is not correct. More... | |
| template<typename ValueType , typename T > | |
| const ValueType & | PortEvalCast (const BasicVector< T > &basic) const |
| Downcast a basic vector to a more specific subclass, or else issue a nice message if the type is not correct. More... | |
| template<typename ValueType > | |
| const ValueType & | ThrowBadCast (const AbstractValue &abstract) const |
| Reports that the user provided a bad ValueType argument to Eval. More... | |
| template<typename ValueType , typename T > | |
| const ValueType & | ThrowBadCast (const BasicVector< T > &basic) const |
| Reports that the user provided a bad ValueType argument to Eval. More... | |
| void | ThrowBadCast (const std::string &value_typename, const std::string &eval_typename) const |
| Reports that the user provided a bad ValueType argument to Eval. More... | |
|
delete |
|
delete |
|
override |
|
protected |
Provides derived classes the ability to set the base class members at construction.
| owning_system | The System that owns this output port. |
| owning_system_id | The ID of owning_system. |
| name | A name for the port. Must not be empty. Output port names should be unique within a single System. |
| index | The index to be assigned to this OutputPort. |
| ticket | The DependencyTicket to be assigned to this OutputPort. |
| data_type | Whether the port described is vector or abstract valued. |
| size | If the port described is vector-valued, the number of elements expected, otherwise ignored. |
|
protectedpure virtual |
Concrete output ports must implement this to return the prerequisite dependency ticket for this port, which may be in the current System or one of its immediate child subsystems.
| PortDataType get_data_type |
Returns the port data type.
| OutputPortIndex get_index | ( | ) | const |
Returns the index of this output port within the owning System.
For a Diagram, this will be the index within the Diagram, not the index within the LeafSystem whose output port was forwarded.
| const std::string& get_name |
Get port name.
| std::string GetFullDescription |
Returns a verbose human-readable description of port.
This is useful for error messages or debugging.
|
delete |
|
delete |
| int size |
Returns the fixed size expected for a vector-valued port.
Not meaningful for abstract-valued ports.
| DependencyTicket ticket |
(Advanced.) Returns the DependencyTicket for this port within the owning System.