TVM  0.9.2
tvm::ControlProblem Class Reference

#include <tvm/ControlProblem.h>

Inheritance diagram for tvm::ControlProblem:
Collaboration diagram for tvm::ControlProblem:

Classes

class  Updater
 

Public Member Functions

 ControlProblem ()=default
 
 ControlProblem (const ControlProblem &)=delete
 
ControlProblemoperator= (const ControlProblem &)=delete
 
TaskWithRequirementsPtr add (const Task &task, const requirements::SolvingRequirements &req={})
 
template<constraint::Type T>
TaskWithRequirementsPtr add (utils::ProtoTask< T > proto, const task_dynamics::abstract::TaskDynamics &td, const requirements::SolvingRequirements &req={})
 
template<constraint::Type T>
TaskWithRequirementsPtr add (utils::LinearProtoTask< T > proto, const task_dynamics::abstract::TaskDynamics &td, const requirements::SolvingRequirements &req={})
 
template<constraint::Type T>
TaskWithRequirementsPtr add (utils::LinearProtoTask< T > proto, const requirements::SolvingRequirements &req={})
 
void add (TaskWithRequirementsPtr tr)
 
void remove (const TaskWithRequirements &tr)
 
const std::vector< TaskWithRequirementsPtr > & tasks () const
 
int size () const
 
void update ()
 
void finalize ()
 
const graph::CallGraphupdateGraph () const
 

Protected Member Functions

virtual void update_ ()
 
virtual void finalize_ ()
 
void needFinalize ()
 
void notify (const scheme::internal::ProblemDefinitionEvent &e)
 

Protected Attributes

Updater updater_
 

Friends

class LinearizedControlProblem
 
template<typename Problem , typename Scheme >
scheme::internal::ProblemComputationDatascheme::internal::getComputationData (Problem &problem, const Scheme &resolutionScheme)
 

Constructor & Destructor Documentation

◆ ControlProblem() [1/2]

tvm::ControlProblem::ControlProblem ( )
default

◆ ControlProblem() [2/2]

tvm::ControlProblem::ControlProblem ( const ControlProblem )
delete

Member Function Documentation

◆ add() [1/5]

TaskWithRequirementsPtr tvm::ControlProblem::add ( const Task task,
const requirements::SolvingRequirements req = {} 
)

◆ add() [2/5]

void tvm::ControlProblem::add ( TaskWithRequirementsPtr  tr)

◆ add() [3/5]

template<constraint::Type T>
TaskWithRequirementsPtr tvm::ControlProblem::add ( utils::LinearProtoTask< T >  proto,
const requirements::SolvingRequirements req = {} 
)

◆ add() [4/5]

template<constraint::Type T>
TaskWithRequirementsPtr tvm::ControlProblem::add ( utils::LinearProtoTask< T >  proto,
const task_dynamics::abstract::TaskDynamics td,
const requirements::SolvingRequirements req = {} 
)

◆ add() [5/5]

template<constraint::Type T>
TaskWithRequirementsPtr tvm::ControlProblem::add ( utils::ProtoTask< T >  proto,
const task_dynamics::abstract::TaskDynamics td,
const requirements::SolvingRequirements req = {} 
)

◆ finalize()

void tvm::ControlProblem::finalize ( )

Finalize the data of the solver

◆ finalize_()

virtual void tvm::ControlProblem::finalize_ ( )
inlineprotectedvirtual

Reimplemented in tvm::LinearizedControlProblem.

◆ needFinalize()

void tvm::ControlProblem::needFinalize ( )
protected

◆ notify()

void tvm::ControlProblem::notify ( const scheme::internal::ProblemDefinitionEvent e)
protected

◆ operator=()

ControlProblem& tvm::ControlProblem::operator= ( const ControlProblem )
delete

◆ remove()

void tvm::ControlProblem::remove ( const TaskWithRequirements tr)

◆ size()

int tvm::ControlProblem::size ( ) const

Number of tasks in the problem.

◆ tasks()

const std::vector<TaskWithRequirementsPtr>& tvm::ControlProblem::tasks ( ) const

◆ update()

void tvm::ControlProblem::update ( )

Compute all quantities necessary for solving the problem.

◆ update_()

virtual void tvm::ControlProblem::update_ ( )
inlineprotectedvirtual

Reimplemented in tvm::LinearizedControlProblem.

◆ updateGraph()

const graph::CallGraph& tvm::ControlProblem::updateGraph ( ) const

Access to update graph, for diagnostic purpose.

Friends And Related Function Documentation

◆ LinearizedControlProblem

friend class LinearizedControlProblem
friend

◆ scheme::internal::getComputationData

template<typename Problem , typename Scheme >
scheme::internal::ProblemComputationData* scheme::internal::getComputationData ( Problem &  problem,
const Scheme &  resolutionScheme 
)
friend

Member Data Documentation

◆ updater_

Updater tvm::ControlProblem::updater_
protected

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