aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
costs.hpp
Go to the documentation of this file.
1
3
#pragma once
4
5
#include "
aligator/python/fwd.hpp
"
6
#include "
aligator/core/cost-abstract.hpp
"
7
8
namespace
aligator
{
9
namespace
python
{
11
struct
PyCostFunction
final
12
:
context::CostAbstract
,
13
PolymorphicWrapper
<PyCostFunction, context::CostAbstract> {
14
using
Scalar
=
context::Scalar
;
15
using
T
=
context::CostAbstract
;
16
using
CostData
=
CostDataAbstractTpl<Scalar>
;
17
using
context::CostAbstract::CostAbstractTpl
;
18
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
19
20
void
evaluate
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
21
CostData
&data)
const override
{
22
ALIGATOR_PYTHON_OVERRIDE_PURE
(
void
,
"evaluate"
, x, u, boost::ref(data));
23
}
24
25
void
computeGradients
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
26
CostData
&data)
const override
{
27
ALIGATOR_PYTHON_OVERRIDE_PURE
(
void
,
"computeGradients"
, x, u,
28
boost::ref(data));
29
}
30
31
void
computeHessians
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
32
CostData
&data)
const override
{
33
ALIGATOR_PYTHON_OVERRIDE_PURE
(
void
,
"computeHessians"
, x, u,
34
boost::ref(data));
35
}
36
37
shared_ptr<CostData>
createData
()
const override
{
38
ALIGATOR_PYTHON_OVERRIDE
(shared_ptr<CostData>,
T
,
createData
, );
39
}
40
41
shared_ptr<CostData>
default_createData
()
const
{
return
T::createData
(); }
42
};
43
}
// namespace python
44
}
// namespace aligator
45
46
namespace
boost::python::objects {
47
48
template
<>
49
struct
value_holder<aligator::python::PyCostFunction>
50
: aligator::python::OwningNonOwningHolder<
51
aligator::python::PyCostFunction> {
52
using
OwningNonOwningHolder::OwningNonOwningHolder;
53
};
54
55
}
// namespace boost::python::objects
fwd.hpp
ALIGATOR_PYTHON_OVERRIDE
#define ALIGATOR_PYTHON_OVERRIDE(ret_type, cname, fname,...)
Define the body of a virtual function override. This is meant to reduce boilerplate code when exposin...
Definition
fwd.hpp:98
ALIGATOR_PYTHON_OVERRIDE_PURE
#define ALIGATOR_PYTHON_OVERRIDE_PURE(ret_type, pyname,...)
Define the body of a virtual function override. This is meant to reduce boilerplate code when exposin...
Definition
fwd.hpp:90
cost-abstract.hpp
aligator::context::CostAbstract
CostAbstractTpl< Scalar > CostAbstract
Definition
context.hpp:25
aligator::context::Scalar
double Scalar
Definition
context.hpp:9
aligator::python
The Python bindings.
Definition
blk-matrix.hpp:7
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::CostAbstractTpl< Scalar >::createData
virtual shared_ptr< CostData > createData() const
Definition
cost-abstract.hpp:44
aligator::CostAbstractTpl< Scalar >::CostAbstractTpl
CostAbstractTpl(U &&space, const int nu)
Definition
cost-abstract.hpp:28
aligator::CostDataAbstractTpl
Data struct for CostAbstractTpl.
Definition
cost-abstract.hpp:73
aligator::python::PolymorphicWrapper< PyCostFunction, context::CostAbstract >::PolymorphicWrapper
PolymorphicWrapper()=default
aligator::python::PyCostFunction
Wrapper for the CostDataAbstractTpl class and its children.
Definition
costs.hpp:13
aligator::python::PyCostFunction::createData
shared_ptr< CostData > createData() const override
Definition
costs.hpp:37
aligator::python::PyCostFunction::default_createData
shared_ptr< CostData > default_createData() const
Definition
costs.hpp:41
aligator::python::PyCostFunction::computeGradients
void computeGradients(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const override
Compute the cost gradients .
Definition
costs.hpp:25
aligator::python::PyCostFunction::evaluate
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const override
Evaluate the cost function.
Definition
costs.hpp:20
aligator::python::PyCostFunction::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::python::PyCostFunction::computeHessians
void computeHessians(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const override
Compute the cost Hessians .
Definition
costs.hpp:31
aligator::python::PyCostFunction::CostData
CostDataAbstractTpl< Scalar > CostData
Definition
costs.hpp:16
aligator::python::PyCostFunction::Scalar
context::Scalar Scalar
Definition
costs.hpp:14
aligator::python::PyCostFunction::T
context::CostAbstract T
Definition
costs.hpp:15
bindings
python
include
aligator
python
costs.hpp
Generated by
1.17.0