Go to the documentation of this file.
23 #ifndef VECTOR_SE_VERTEX_H_
24 #define VECTOR_SE_VERTEX_H_
30 #include <corbo-core/types.h>
57 using Ptr = std::shared_ptr<VectorVertexSE2>;
58 using UPtr = std::unique_ptr<VectorVertexSE2>;
79 void plus(
int idx,
double inc)
override
87 void plus(
const double* inc)
override
99 void setData(
int idx,
double data)
override
111 assert(
values.size() == lb.size());
113 assert(
values.size() >= 3);
138 class PartiallyFixedVectorVertexSE2 :
public VectorVertexSE2
141 using Ptr = std::shared_ptr<PartiallyFixedVectorVertexSE2>;
142 using UPtr = std::unique_ptr<PartiallyFixedVectorVertexSE2>;
184 _fixed.setConstant(dim,
false);
192 assert(
values.size() == lb.size());
193 assert(
values.size() == ub.size());
194 assert(
values.size() >= 3);
207 assert(
values.size() == lb.size());
208 assert(
values.size() == ub.size());
316 #endif // SRC_OPTIMIZATION_INCLUDE_CORBO_OPTIMIZATION_HYPER_GRAPH_VECTOR_VERTEX_H_
int getNumberFiniteBounds(bool unfixed_only) const override
void setUpperBounds(const Eigen::Ref< const Eigen::VectorXd > &ub) override
int getNumberFiniteUpperBounds(bool unfixed_only) const override
bool hasFixedComponents() const override
int getDimension() const override
Vertex specialization for vectors in SE2.
const Eigen::Array< bool, -1, 1 > fixedArray() const
Read-only access to the underlying logical array for fixed components.
constexpr const double CORBO_INF_DBL
int getNumberFiniteLowerBounds(bool unfixed_only) const override
void set(const Eigen::Ref< const Eigen::VectorXd > &values, const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub, bool fixed=false) override
Set values and bounds at once.
std::shared_ptr< VectorVertexSE2 > Ptr
std::shared_ptr< VectorVertex > Ptr
Eigen::VectorXd & values()
virtual void setDimension(int dim)
int getDimensionUnfixed() const override
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW
std::unique_ptr< VectorVertexSE2 > UPtr
VectorVertexSE2()=default
Default constructor.
void setFixed(int idx, bool fixed)
Set component with idx (0 <= idx < dimension()) to (un)fixed.
virtual void set(const Eigen::Ref< const Eigen::VectorXd > &values, const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub, bool fixed=false)
Set values and bounds at once.
PartiallyFixedVectorVertexSE2()=default
Default constructor.
void setLowerBounds(const Eigen::Ref< const Eigen::VectorXd > &lb) override
std::unique_ptr< VectorVertex > UPtr
double normalize_theta(double theta)
normalize angle to interval [-pi, pi)
bool isFixedComponent(int idx) const override
void plusUnfixed(const double *inc) override
void setData(int idx, double data) override
Eigen::Array< bool, -1, 1 > _fixed
void plus(int idx, double inc) override
virtual void setFixed(bool fixed)
void setDimension(int dim) override
void plusUnfixed(const double *inc) override
mpc_local_planner
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:35:06