Drake
SpringMassStateVector< T > Class Template Reference

The state of a one-dimensional spring-mass system, consisting of the position and velocity of the mass, in meters and meters/s. More...

#include <systems/plants/spring_mass_system/spring_mass_system.h>

Inheritance diagram for SpringMassStateVector< T >:
[legend]
Collaboration diagram for SpringMassStateVector< T >:
[legend]

## Public Member Functions

SpringMassStateVector (const T &initial_position, const T &initial_velocity)

SpringMassStateVector ()
Creates a state with position and velocity set to zero. More...

~SpringMassStateVector () override

get_position () const
Returns the position of the mass in meters, where zero is the point where the spring exerts no force. More...

void set_position (const T &q)
Sets the position of the mass in meters. More...

get_velocity () const
Returns the velocity of the mass in meters per second. More...

void set_velocity (const T &v)
Sets the velocity of the mass in meters per second. More...

get_conservative_work () const
Returns the integral of conservative power, in watts. More...

void set_conservative_work (const T &e)
Initialize the conservative work integral to a given value. More...

Does not allow copy, move, or assignment
SpringMassStateVector (const SpringMassStateVector &)=delete

SpringMassStateVectoroperator= (const SpringMassStateVector &)=delete

SpringMassStateVector (SpringMassStateVector &&)=delete

SpringMassStateVectoroperator= (SpringMassStateVector &&)=delete

Public Member Functions inherited from BasicVector< T >
BasicVector (int size)
Initializes with the given size using the drake::dummy_value<T>, which is NaN when T = double. More...

BasicVector (const VectorX< T > &data)
Constructs a BasicVector with the specified data. More...

int size () const override
Returns the number of elements in the vector. More...

void set_value (const Eigen::Ref< const VectorX< T >> &value)
Sets the vector to the given value. More...

Eigen::VectorBlock< const VectorX< T > > get_value () const
Returns the entire vector as a const Eigen::VectorBlock. More...

Eigen::VectorBlock< VectorX< T > > get_mutable_value ()
Returns the entire vector as a mutable Eigen::VectorBlock, which allows mutation of the values, but does not allow resizing the vector itself. More...

const T & GetAtIndex (int index) const override
Returns the element at the given index in the vector. More...

T & GetAtIndex (int index) override
Returns the element at the given index in the vector. More...

void SetFromVector (const Eigen::Ref< const VectorX< T >> &value) override
Replaces the entire vector with the contents of value. More...

VectorX< T > CopyToVector () const override
Copies the entire state to a vector with no semantics. More...

void ScaleAndAddToVector (const T &scale, Eigen::Ref< VectorX< T >> vec) const override
Adds a scaled version of this vector to Eigen vector vec, which must be the same size. More...

void SetZero () override

NormInf () const override
Computes the infinity norm for this vector. More...

std::unique_ptr< BasicVector< T > > Clone () const
Copies the entire vector to a new BasicVector, with the same concrete implementation type. More...

BasicVector (const BasicVector &)=delete

BasicVectoroperator= (const BasicVector &)=delete

BasicVector (BasicVector &&)=delete

BasicVectoroperator= (BasicVector &&)=delete

Public Member Functions inherited from VectorBase< T >
virtual ~VectorBase ()

T & operator[] (std::size_t idx)

const T & operator[] (std::size_t idx) const

void SetAtIndex (int index, const T &value)
Replaces the state at the given index with the value. More...

virtual void SetFrom (const VectorBase< T > &value)
Replaces the entire vector with the contents of value. More...

VectorBasePlusEqScaled (const T &scale, const VectorBase< T > &rhs)
Add in scaled vector rhs to this vector. More...

VectorBasePlusEqScaled (const std::initializer_list< std::pair< T, const VectorBase< T > & >> &rhs_scale)
Add in multiple scaled vectors to this vector. More...

VectorBaseoperator+= (const VectorBase< T > &rhs)
Add in vector rhs to this vector. More...

VectorBaseoperator-= (const VectorBase< T > &rhs)
Subtract in vector rhs to this vector. More...

virtual void CalcInequalityConstraint (VectorX< T > *value) const
Populates a vector value suitable for a SystemConstraint inequality constraint. More...

VectorBase (const VectorBase &)=delete

VectorBaseoperator= (const VectorBase &)=delete

VectorBase (VectorBase &&)=delete

VectorBaseoperator= (VectorBase &&)=delete

Static Public Member Functions inherited from BasicVector< T >
static std::unique_ptr< BasicVector< T > > Make (const std::initializer_list< T > &data)
Constructs a BasicVector whose elements are the elements of data. More...

template<typename... Fargs>
static std::unique_ptr< BasicVector< T > > Make (Fargs &&...args)
Constructs a BasicVector where each element is constructed using the placewise-corresponding member of args as the sole constructor argument. More...

Protected Member Functions inherited from VectorBase< T >
VectorBase ()

Static Protected Member Functions inherited from BasicVector< T >
template<typename F , typename... Fargs>
static void MakeRecursive (BasicVector< T > *data, int index, F constructor_arg, Fargs &&...recursive_args)
Sets data at index to an object of type T, which must have a single-argument constructor invoked via constructor_arg, and then recursively invokes itself on the next index with recursive args. More...

template<typename F , typename... Fargs>
static void MakeRecursive (BasicVector< T > *data, int index, F constructor_arg)
Base case for the MakeRecursive template recursion. More...

## Detailed Description

### template<typename T> class drake::systems::SpringMassStateVector< T >

The state of a one-dimensional spring-mass system, consisting of the position and velocity of the mass, in meters and meters/s.

Template Parameters
 T The vector element type, which must be a valid Eigen scalar.

Instantiated templates for the following kinds of T's are provided:

• double
• AutoDiffXd

They are already available to link against in the containing library. No other values for T are currently supported.

## Constructor & Destructor Documentation

 SpringMassStateVector ( const SpringMassStateVector< T > & )
delete
 SpringMassStateVector ( SpringMassStateVector< T > && )
delete
 SpringMassStateVector ( const T & initial_position, const T & initial_velocity )
Parameters
 initial_position The position of the mass in meters. initial_velocity The velocity of the mass in meters / second.

Here is the call graph for this function:

 SpringMassStateVector ( )

Creates a state with position and velocity set to zero.

 ~SpringMassStateVector ( )
override

## Member Function Documentation

 T get_conservative_work ( ) const

Returns the integral of conservative power, in watts.

Here is the call graph for this function:

Here is the caller graph for this function:

 T get_position ( ) const

Returns the position of the mass in meters, where zero is the point where the spring exerts no force.

Here is the call graph for this function:

Here is the caller graph for this function:

 T get_velocity ( ) const

Returns the velocity of the mass in meters per second.

Here is the call graph for this function:

Here is the caller graph for this function:

 SpringMassStateVector& operator= ( SpringMassStateVector< T > && )
delete
 SpringMassStateVector& operator= ( const SpringMassStateVector< T > & )
delete
 void set_conservative_work ( const T & e )

Initialize the conservative work integral to a given value.

Here is the call graph for this function:

Here is the caller graph for this function:

 void set_position ( const T & q )

Sets the position of the mass in meters.

Here is the call graph for this function:

Here is the caller graph for this function:

 void set_velocity ( const T & v )

Sets the velocity of the mass in meters per second.

Here is the call graph for this function:

Here is the caller graph for this function:

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