maliput
|
An "external" constraint on a System.
This class is intended for use by applications that are examining a System by adding additional constraints based on their particular situation (e.g., that a velocity state element has an upper bound); it is not intended for declaring intrinsic constraints that some particular System subclass might always impose on itself (e.g., that a mass parameter is non-negative).
#include <src/maliput/drake/systems/framework/system_constraint.h>
Public Member Functions | |
ExternalSystemConstraint () | |
Creates an empty constraint. More... | |
ExternalSystemConstraint (std::string description, SystemConstraintBounds bounds, SystemConstraintCalc< double > calc_double) | |
Creates a constraint with the given arguments. More... | |
const std::string & | description () const |
Returns a human-readable description of this constraint. More... | |
const SystemConstraintBounds & | bounds () const |
Returns the bounds of this constraint (and whether it is an equality or inequality constraint.) More... | |
template<typename T > | |
const SystemConstraintCalc< T > & | get_calc () const |
Retrieves the evaluation function value = f(system, context) for this constraint. More... | |
template<> | |
const SystemConstraintCalc< double > & | do_get_calc () const |
Static Public Member Functions | |
template<typename GenericSystemConstraintCalc > | |
static ExternalSystemConstraint | MakeForAllScalars (std::string description, SystemConstraintBounds bounds, GenericSystemConstraintCalc calc) |
Creates a constraint based on generic lambda. More... | |
template<typename GenericSystemConstraintCalc > | |
static ExternalSystemConstraint | MakeForNonsymbolicScalars (std::string description, SystemConstraintBounds bounds, GenericSystemConstraintCalc calc) |
Creates a constraint based on generic lambda. More... | |
Creates an empty constraint.
ExternalSystemConstraint | ( | std::string | description, |
SystemConstraintBounds | bounds, | ||
SystemConstraintCalc< double > | calc_double | ||
) |
Creates a constraint with the given arguments.
The calc functions (other than calc_double) may be omitted.
const SystemConstraintBounds& bounds | ( | ) | const |
Returns the bounds of this constraint (and whether it is an equality or inequality constraint.)
const std::string& description | ( | ) | const |
Returns a human-readable description of this constraint.
const SystemConstraintCalc<double>& do_get_calc | ( | ) | const |
const SystemConstraintCalc<T>& get_calc | ( | ) | const |
Retrieves the evaluation function value = f(system, context)
for this constraint.
The result may be a default-constructed (missing) function, if the scalar type T is not supported by this constraint instance.
T | denotes the scalar type of the System<T>. |
|
static |
Creates a constraint based on generic lambda.
This constraint will supply Calc functions for Drake's default scalar types.
|
static |
Creates a constraint based on generic lambda.
This constraint will supply Calc functions for Drake's non-symbolic default scalar types.