TVM  0.9.4
Reference.h
Go to the documentation of this file.
1 /*
2  * Copyright 2017-2020 CNRS-AIST JRL and CNRS-UM LIRMM
3  */
4 
5 #pragma once
6 
8 
9 namespace tvm::task_dynamics
10 {
13 {
14 public:
16  {
17  public:
18  Impl(FunctionPtr f, constraint::Type t, const Eigen::VectorXd & rhs, Order order, FunctionPtr ref);
19  void updateValue() override;
20 
21  ~Impl() override = default;
22 
24  FunctionPtr ref() const { return ref_; }
26  void ref(const FunctionPtr & r);
27 
28  private:
29  void setReference(const FunctionPtr & ref);
30 
31  FunctionPtr ref_;
32  };
33 
37  Reference(Order order, const FunctionPtr & ref);
38 
39  ~Reference() override = default;
40 
41 protected:
42  std::unique_ptr<abstract::TaskDynamicsImpl> impl_(FunctionPtr f,
44  const Eigen::VectorXd & rhs) const override;
45  Order order_() const override;
46 
47  TASK_DYNAMICS_DERIVED_FACTORY(refOrder_, ref_)
48 private:
49  Order refOrder_;
50  FunctionPtr ref_;
51 };
52 
58 {
59 public:
61 };
62 
68 {
69 public:
71 };
72 } // namespace tvm::task_dynamics
#define TASK_DYNAMICS_DERIVED_FACTORY(...)
Definition: TaskDynamics.h:62
#define TVM_DLLAPI
Definition: api.h:35
ReferenceAcceleration(const FunctionPtr &ref)
Definition: Reference.h:58
ReferenceVelocity(const FunctionPtr &ref)
Definition: Reference.h:16
void ref(const FunctionPtr &r)
Impl(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs, Order order, FunctionPtr ref)
FunctionPtr ref() const
Definition: Reference.h:24
Definition: Reference.h:13
Order order_() const override
Reference(Order order, const FunctionPtr &ref)
std::unique_ptr< abstract::TaskDynamicsImpl > impl_(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs) const override
~Reference() override=default
Definition: TaskDynamicsImpl.h:33
Definition: TaskDynamics.h:37
Type
Definition: enums.h:15
Definition: defs.h:35
Order
Definition: enums.h:14
std::shared_ptr< function::abstract::Function > FunctionPtr
Definition: defs.h:57