|
| LeafContext () |
|
| ~LeafContext () override |
|
|
| LeafContext (LeafContext &&)=delete |
|
LeafContext & | operator= (const LeafContext &)=delete |
|
LeafContext & | operator= (LeafContext &&)=delete |
|
| Context (Context &&)=delete |
|
Context & | operator= (const Context &)=delete |
|
Context & | operator= (Context &&)=delete |
|
const T & | get_time () const |
| Returns the current time in seconds. More...
|
|
const State< T > & | get_state () const |
| Returns a const reference to the whole State. 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 | num_total_states () const |
| Returns the total dimension of all of the basic vector states (as if they were muxed). More...
|
|
int | num_continuous_states () const |
| Returns the number of continuous state variables xc = {q, v, z} . 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 | num_discrete_state_groups () const |
| Returns the number of vectors (groups) in the discrete state. More...
|
|
const DiscreteValues< T > & | get_discrete_state () const |
| Returns a reference to the entire discrete state, which may consist of multiple discrete state vectors (groups). More...
|
|
const BasicVector< T > & | get_discrete_state_vector () const |
| Returns a reference to the only discrete state vector. More...
|
|
const BasicVector< T > & | get_discrete_state (int index) const |
| Returns a const reference to group (vector) index of the discrete state. More...
|
|
int | num_abstract_states () const |
| Returns the number of elements in the abstract state. More...
|
|
const AbstractValues & | get_abstract_state () const |
| Returns a const reference to the abstract component of the state, which may be of size zero. 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...
|
|
const std::optional< double > & | get_accuracy () const |
| Returns the accuracy setting (if any). More...
|
|
const Parameters< T > & | get_parameters () const |
| Returns a const reference to this Context's parameters. More...
|
|
int | num_numeric_parameter_groups () const |
| Returns the number of vector-valued parameters. More...
|
|
const BasicVector< T > & | get_numeric_parameter (int index) const |
| Returns a const reference to the vector-valued parameter at index . More...
|
|
int | num_abstract_parameters () const |
| Returns the number of abstract-valued parameters. More...
|
|
const AbstractValue & | get_abstract_parameter (int index) const |
| Returns a const reference to the abstract-valued parameter at index . More...
|
|
void | SetTime (const T &time_sec) |
| Sets the current time in seconds. More...
|
|
void | SetContinuousState (const Eigen::Ref< const VectorX< T >> &xc) |
| Sets the continuous state to xc , including q, v, and z partitions. More...
|
|
void | SetTimeAndContinuousState (const T &time_sec, const Eigen::Ref< const VectorX< T >> &xc) |
| Sets time to time_sec and continuous state to xc . More...
|
|
void | SetDiscreteState (const Eigen::Ref< const VectorX< T >> &xd) |
| Sets the discrete state to xd , assuming there is just one discrete state group. More...
|
|
void | SetDiscreteState (int group_index, const Eigen::Ref< const VectorX< T >> &xd) |
| Sets the discrete state group indicated by group_index to xd . More...
|
|
void | SetDiscreteState (const DiscreteValues< T > &xd) |
| Sets all the discrete state variables in this Context from a compatible DiscreteValues object. More...
|
|
template<typename ValueType > |
void | SetAbstractState (int index, const ValueType &value) |
| Sets the value of the abstract state variable selected by index . More...
|
|
template<typename U > |
void | SetStateAndParametersFrom (const Context< U > &source) |
| Copies all state and parameters in source , where numerical values are of type U , to this context. More...
|
|
template<typename U > |
void | SetTimeStateAndParametersFrom (const Context< U > &source) |
| Copies time, accuracy, all state and all parameters in source , where numerical values are of type U , to this context. More...
|
|
void | SetAccuracy (const std::optional< double > &accuracy) |
| Records the user's requested accuracy, which is a unit-less quantity designed for use with simulation and other numerical studies. More...
|
|
FixedInputPortValue & | FixInputPort (int index, const AbstractValue &value) |
| (Advanced) Connects the input port at index to a FixedInputPortValue with the given abstract value . More...
|
|
State< T > & | get_mutable_state () |
| Returns a mutable reference to the whole State, potentially invalidating all state-dependent computations so requiring out of date notifications to be made for all such computations. 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...
|
|
DiscreteValues< T > & | get_mutable_discrete_state () |
| Returns a mutable reference to the discrete component of the state, which may be of size zero. More...
|
|
BasicVector< T > & | get_mutable_discrete_state_vector () |
| Returns a mutable reference to the only discrete state vector. More...
|
|
BasicVector< T > & | get_mutable_discrete_state (int index) |
| Returns a mutable reference to group (vector) index of the discrete state. More...
|
|
AbstractValues & | get_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 reference to element index of the abstract state. More...
|
|
Parameters< T > & | get_mutable_parameters () |
| Returns a mutable reference to this Context's parameters. More...
|
|
BasicVector< T > & | get_mutable_numeric_parameter (int index) |
| Returns a mutable reference to element index of the vector-valued (numeric) parameters. More...
|
|
AbstractValue & | get_mutable_abstract_parameter (int index) |
| Returns a mutable reference to element index of the abstract-valued parameters. More...
|
|
VectorBase< T > & | SetTimeAndGetMutableContinuousStateVector (const T &time_sec) |
| (Advanced) Sets time and returns a mutable reference to the continuous state xc (including q, v, z) as a VectorBase. More...
|
|
VectorBase< T > & | SetTimeAndGetMutableQVector (const T &time_sec) |
| (Advanced) Sets time and returns a mutable reference to the second-order continuous state partition q from xc. More...
|
|
std::pair< VectorBase< T > *, VectorBase< T > * > | GetMutableVZVectors () |
| (Advanced) Returns mutable references to the first-order continuous state partitions v and z from xc. More...
|
|
void | SetTimeAndNoteContinuousStateChange (const T &time_sec) |
| (Advanced) Sets time and registers an intention to modify the continuous state xc. More...
|
|
void | NoteContinuousStateChange () |
| (Advanced) Registers an intention to modify the continuous state xc. 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...
|
|
std::string | to_string () const |
| Returns a partial textual description of the Context, intended to be human-readable. More...
|
|
std::unique_ptr< ContextBase > | Clone () const |
| Creates an identical copy of the concrete context object. More...
|
|
| ~ContextBase () override |
|
void | DisableCaching () const |
| (Debugging) Disables caching recursively for this context and all its subcontexts. More...
|
|
void | EnableCaching () const |
| (Debugging) Re-enables caching recursively for this context and all its subcontexts. More...
|
|
void | SetAllCacheEntriesOutOfDate () const |
| (Debugging) Marks all cache entries out of date, recursively for this context and all its subcontexts. More...
|
|
void | FreezeCache () const |
| (Advanced) Freezes the cache at its current contents, preventing any further cache updates. More...
|
|
void | UnfreezeCache () const |
| (Advanced) Unfreezes the cache if it was previously frozen. More...
|
|
bool | is_cache_frozen () const final |
| (Advanced) Reports whether this Context's cache is currently frozen. More...
|
|
const std::string & | GetSystemName () const final |
| Returns the local name of the subsystem for which this is the Context. More...
|
|
internal::SystemId | get_system_id () const |
| (Internal) Gets the id of the subsystem that created this context. More...
|
|
std::string | GetSystemPathname () const final |
| Returns the full pathname of the subsystem for which this is the Context. More...
|
|
const Cache & | get_cache () const |
| Returns a const reference to this subcontext's cache. More...
|
|
Cache & | get_mutable_cache () const |
| (Advanced) Returns a mutable reference to this subcontext's cache. More...
|
|
const DependencyTracker & | get_tracker (DependencyTicket ticket) const |
| Returns a const reference to a DependencyTracker in this subcontext. More...
|
|
DependencyTracker & | get_mutable_tracker (DependencyTicket ticket) |
| Returns a mutable reference to a DependencyTracker in this subcontext. More...
|
|
const DependencyGraph & | get_dependency_graph () const |
| Returns a const reference to the collection of value trackers within this subcontext. More...
|
|
DependencyGraph & | get_mutable_dependency_graph () |
| Returns a mutable reference to the dependency graph. More...
|
|
int | num_input_ports () const |
| Returns the number of input ports in this context. More...
|
|
int | num_output_ports () const |
| Returns the number of output ports represented in this context. More...
|
|
DependencyTicket | input_port_ticket (InputPortIndex port_num) |
| Returns the dependency ticket associated with a particular input port. More...
|
|
DependencyTicket | output_port_ticket (OutputPortIndex port_num) |
| Returns the dependency ticket associated with a particular output port. More...
|
|
FixedInputPortValue & | FixInputPort (int index, const AbstractValue &value) |
| (Advanced) Connects the input port at index to a FixedInputPortValue with the given abstract value . More...
|
|
const FixedInputPortValue * | MaybeGetFixedInputPortValue (int index) const |
| For input port index , returns a const FixedInputPortValue if the port is fixed, otherwise nullptr. More...
|
|
FixedInputPortValue * | MaybeGetMutableFixedInputPortValue (int index) |
| For input port index , returns a mutable FixedInputPortValue if the port is fixed, otherwise nullptr. More...
|
|
int64_t | start_new_change_event () const |
| (Internal use only) Returns the next change event serial number that is unique for this entire Context tree, not just this subcontext. More...
|
|
bool | is_root_context () const |
| Returns true if this context has no parent. More...
|
|
| ContextBase (ContextBase &&)=delete |
|
ContextBase & | operator= (const ContextBase &)=delete |
|
ContextBase & | operator= (ContextBase &&)=delete |
|
|
| LeafContext (const LeafContext &source) |
| Protected copy constructor takes care of the local data members and all base class members, but doesn't update base class pointers so is not a complete copy. More...
|
|
std::unique_ptr< ContextBase > | DoCloneWithoutPointers () const override |
| Derived classes should reimplement and replace this; don't recursively invoke it. More...
|
|
std::unique_ptr< State< T > > | DoCloneState () const override |
| Returns the appropriate concrete State object to be returned by CloneState(). More...
|
|
| Context () |
|
| Context (const Context< T > &) |
| Copy constructor takes care of base class and Context<T> data members. More...
|
|
virtual void | DoPropagateTimeChange (const T &time_sec, const std::optional< T > &true_time, int64_t change_event) |
| Invokes PropagateTimeChange() on all subcontexts of this Context. More...
|
|
virtual void | DoPropagateAccuracyChange (const std::optional< double > &accuracy, int64_t change_event) |
| Invokes PropagateAccuracyChange() on all subcontexts of this Context. More...
|
|
void | init_continuous_state (std::unique_ptr< ContinuousState< T >> xc) |
| (Internal use only) Sets the continuous state to xc , deleting whatever was there before. More...
|
|
void | init_discrete_state (std::unique_ptr< DiscreteValues< T >> xd) |
| (Internal use only) Sets the discrete state to xd , deleting whatever was there before. More...
|
|
void | init_abstract_state (std::unique_ptr< AbstractValues > xa) |
| (Internal use only) Sets the abstract state to xa , deleting whatever was there before. More...
|
|
void | init_parameters (std::unique_ptr< Parameters< T >> params) |
| (Internal use only) Sets the parameters to params , deleting whatever was there before. More...
|
|
| ContextBase () |
| Default constructor creates an empty ContextBase but initializes all the built-in dependency trackers that are the same in every System (like time, q, all states, all inputs, etc.). More...
|
|
| ContextBase (const ContextBase &)=default |
| Copy constructor takes care of base class data members, but does not fix up base class pointers. More...
|
|
bool | owns_any_variables_or_parameters () const |
| (Internal use only) Returns true if this context provides resources for its own individual state variables or parameters. More...
|
|
void | PropagateBulkChange (int64_t change_event, void(ContextBase::*note_bulk_change)(int64_t change_event)) |
| (Internal use only) This is a convenience method for invoking the eponymous static method on this context (which occurs frequently). More...
|
|
virtual void | DoPropagateBuildTrackerPointerMap (const ContextBase &clone, DependencyTracker::PointerMap *tracker_map) const |
| DiagramContext must implement this to invoke BuildTrackerPointerMap() on each of its subcontexts. More...
|
|
virtual void | DoPropagateFixContextPointers (const ContextBase &source, const DependencyTracker::PointerMap &tracker_map) |
| DiagramContext must implement this to invoke FixContextPointers() on each of its subcontexts. More...
|
|
virtual void | DoPropagateCachingChange (void(Cache::*caching_change)()) const |
| DiagramContext must implement this to invoke a caching behavior change on each of its subcontexts. More...
|
|
virtual void | DoPropagateBulkChange (int64_t change_event, void(ContextBase::*note_bulk_change)(int64_t change_event)) |
| DiagramContext must implement this to invoke PropagateBulkChange() on its subcontexts, passing along the indicated method that specifies the particular bulk change (e.g. More...
|
|
void | AddInputPort (InputPortIndex expected_index, DependencyTicket ticket, std::function< void(const AbstractValue &)> fixed_input_type_checker) |
| Adds the next input port. More...
|
|
void | AddOutputPort (OutputPortIndex expected_index, DependencyTicket ticket, const internal::OutputPortPrerequisite &prerequisite) |
| Adds the next output port. More...
|
|
void | AddDiscreteStateTicket (DependencyTicket ticket) |
| Adds a ticket to the list of discrete state tickets. More...
|
|
void | AddAbstractStateTicket (DependencyTicket ticket) |
| Adds a ticket to the list of abstract state tickets. More...
|
|
void | AddNumericParameterTicket (DependencyTicket ticket) |
| Adds a ticket to the list of numeric parameter tickets. More...
|
|
void | AddAbstractParameterTicket (DependencyTicket ticket) |
| Adds a ticket to the list of abstract parameter tickets. More...
|
|
void | NoteTimeChanged (int64_t change_event) |
| Notifies the local time tracker that time may have changed. More...
|
|
void | NoteAccuracyChanged (int64_t change_event) |
| Notifies the local accuracy tracker that the accuracy setting may have changed. More...
|
|
void | NoteAllStateChanged (int64_t change_event) |
| Notifies the local continuous, discrete, and abstract state trackers that each of them may have changed, likely because someone has asked to modify the whole state x. More...
|
|
void | NoteAllContinuousStateChanged (int64_t change_event) |
| Notifies the local q, v, and z trackers that each of them may have changed, likely because someone has asked to modify continuous state xc. More...
|
|
void | NoteAllVZChanged (int64_t change_event) |
| Notifies the local v and z trackers that each of them may have changed, likely because someone has asked to modify just the first-order state variables in xc. More...
|
|
void | NoteAllQChanged (int64_t change_event) |
| Notifies the local q tracker that the q's may have changed. More...
|
|
void | NoteAllVChanged (int64_t change_event) |
| Notifies the local v tracker that the v's may have changed. More...
|
|
void | NoteAllZChanged (int64_t change_event) |
| Notifies the local z tracker that the z's may have changed. More...
|
|
void | NoteAllDiscreteStateChanged (int64_t change_event) |
| Notifies each local discrete state group tracker that the value of the discrete state group it manages may have changed. More...
|
|
void | NoteAllAbstractStateChanged (int64_t change_event) |
| Notifies each local abstract state variable tracker that the value of the abstract state variable it manages may have changed. More...
|
|
void | NoteAllParametersChanged (int64_t change_event) |
| Notifies the local numeric and abstract parameter trackers that each of them may have changed, likely because someone asked to modify all the parameters. More...
|
|
void | NoteAllNumericParametersChanged (int64_t change_event) |
| Notifies each local numeric parameter tracker that the value of the parameter it manages may have changed. More...
|
|
void | NoteAllAbstractParametersChanged (int64_t change_event) |
| Notifies each local abstract parameter tracker that the value of the parameter it manages may have changed. More...
|
|
|
static void | PropagateTimeChange (Context< T > *context, const T &time, const std::optional< T > &true_time, int64_t change_event) |
| (Internal use only) Sets a new time and notifies time-dependent quantities that they are now invalid, as part of a given change event. More...
|
|
static void | PropagateAccuracyChange (Context< T > *context, const std::optional< double > &accuracy, int64_t change_event) |
| (Internal use only) Sets a new accuracy and notifies accuracy-dependent quantities that they are now invalid, as part of a given change event. More...
|
|
static Parameters< T > & | access_mutable_parameters (Context< T > *context) |
| (Internal use only) Returns a reference to mutable parameters without invalidation notifications. More...
|
|
static State< T > & | access_mutable_state (Context< T > *context) |
| (Internal use only) Returns a reference to a mutable state without invalidation notifications. More...
|
|
static std::unique_ptr< Context< T > > | CloneWithoutPointers (const Context< T > &source) |
| (Internal use only) Clones a context but without any of its internal pointers. More...
|
|
static std::unique_ptr< ContextBase > | CloneWithoutPointers (const ContextBase &source) |
| (Internal use only) Clones a context but without copying any of its internal pointers; the clone's pointers are set to null. More...
|
|
static void | BuildTrackerPointerMap (const ContextBase &source, const ContextBase &clone, DependencyTracker::PointerMap *tracker_map) |
| (Internal use only) Given a new context clone containing an identically-structured dependency graph as the one in source , creates a mapping of all tracker memory addresses from source to clone . More...
|
|
static void | FixContextPointers (const ContextBase &source, const DependencyTracker::PointerMap &tracker_map, ContextBase *clone) |
| (Internal use only) Assuming clone is a recently-cloned Context that has yet to have its internal pointers updated, sets those pointers now. More...
|
|
static void | PropagateCachingChange (const ContextBase &context, void(Cache::*caching_change)()) |
| (Internal use only) Applies the given caching-change notification method to context , and propagates the notification to subcontexts if context is a DiagramContext. More...
|
|
static void | PropagateBulkChange (ContextBase *context, int64_t change_event, void(ContextBase::*note_bulk_change)(int64_t change_event)) |
| (Internal use only) Applies the given bulk-change notification method to the given context , and propagates the notification to subcontexts if this is a DiagramContext. More...
|
|
static void | set_parent (ContextBase *child, ContextBase *parent) |
| Declares that parent is the context of the enclosing Diagram. More...
|
|