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.