maliput
ExternalSystemConstraint Class Referencefinal

Detailed Description

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 SystemConstraintBoundsbounds () 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...
 

Constructor & Destructor Documentation

◆ ExternalSystemConstraint() [1/2]

Creates an empty constraint.

◆ ExternalSystemConstraint() [2/2]

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.

Member Function Documentation

◆ bounds()

const SystemConstraintBounds& bounds ( ) const

Returns the bounds of this constraint (and whether it is an equality or inequality constraint.)

◆ description()

const std::string& description ( ) const

Returns a human-readable description of this constraint.

◆ do_get_calc()

const SystemConstraintCalc<double>& do_get_calc ( ) const

◆ get_calc()

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.

Template Parameters
Tdenotes the scalar type of the System<T>.

◆ MakeForAllScalars()

static ExternalSystemConstraint MakeForAllScalars ( std::string  description,
SystemConstraintBounds  bounds,
GenericSystemConstraintCalc  calc 
)
static

Creates a constraint based on generic lambda.

This constraint will supply Calc functions for Drake's default scalar types.

◆ MakeForNonsymbolicScalars()

static ExternalSystemConstraint MakeForNonsymbolicScalars ( std::string  description,
SystemConstraintBounds  bounds,
GenericSystemConstraintCalc  calc 
)
static

Creates a constraint based on generic lambda.

This constraint will supply Calc functions for Drake's non-symbolic default scalar types.


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