Drake
SystemConstraintBounds Class Referencefinal

The bounds of a SystemConstraint. More...

#include <drake/systems/framework/system_constraint.h>

Public Member Functions

 SystemConstraintBounds (const Eigen::Ref< const Eigen::VectorXd > &lower, const Eigen::Ref< const Eigen::VectorXd > &upper)
 Creates a constraint with the given upper and lower bounds for f(x). More...
 
 SystemConstraintBounds (const Eigen::Ref< const Eigen::VectorXd > &lower, stx::nullopt_t)
 Creates an inequality constraint with the given lower bounds for f(x). More...
 
 SystemConstraintBounds (stx::nullopt_t, const Eigen::Ref< const Eigen::VectorXd > &upper)
 Creates an inequality constraint with the given upper bounds for f(x). More...
 
int size () const
 
SystemConstraintType type () const
 
const Eigen::VectorXd & lower () const
 
const Eigen::VectorXd & upper () const
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 SystemConstraintBounds (const SystemConstraintBounds &)=default
 
SystemConstraintBoundsoperator= (const SystemConstraintBounds &)=default
 
 SystemConstraintBounds (SystemConstraintBounds &&)=default
 
SystemConstraintBoundsoperator= (SystemConstraintBounds &&)=default
 

Static Public Member Functions

static SystemConstraintBounds Equality (int size)
 Creates constraint of type SystemConstraintType::kEquality, with the given size for f(x). More...
 

Detailed Description

The bounds of a SystemConstraint.

This also encompasses the form of the constraint: equality constraints occur when both the lower and upper bounds are all zeros.

Constructor & Destructor Documentation

◆ SystemConstraintBounds() [1/5]

◆ SystemConstraintBounds() [2/5]

◆ SystemConstraintBounds() [3/5]

SystemConstraintBounds ( const Eigen::Ref< const Eigen::VectorXd > &  lower,
const Eigen::Ref< const Eigen::VectorXd > &  upper 
)

Creates a constraint with the given upper and lower bounds for f(x).

The type() of this constraint will be kInequality, except in the unusual case where both lower and upper are all zeros (in which case it is kEquality). It is not currently allowed to set lower == upper (creating an equality constraint in the form f(x) = b), except when b == 0. Using a non-zero b might be allowed in the future.

◆ SystemConstraintBounds() [4/5]

SystemConstraintBounds ( const Eigen::Ref< const Eigen::VectorXd > &  lower,
stx::nullopt_t   
)

Creates an inequality constraint with the given lower bounds for f(x).

The upper bounds are all positive infinity.

◆ SystemConstraintBounds() [5/5]

SystemConstraintBounds ( stx::nullopt_t  ,
const Eigen::Ref< const Eigen::VectorXd > &  upper 
)

Creates an inequality constraint with the given upper bounds for f(x).

The lower bounds are all negative infinity.

Member Function Documentation

◆ Equality()

static SystemConstraintBounds Equality ( int  size)
inlinestatic

Creates constraint of type SystemConstraintType::kEquality, with the given size for f(x).

◆ lower()

const Eigen::VectorXd& lower ( ) const
inline

◆ operator=() [1/2]

SystemConstraintBounds& operator= ( SystemConstraintBounds &&  )
default

◆ operator=() [2/2]

SystemConstraintBounds& operator= ( const SystemConstraintBounds )
default

◆ size()

int size ( ) const
inline

◆ type()

SystemConstraintType type ( ) const
inline

◆ upper()

const Eigen::VectorXd& upper ( ) const
inline

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