Public Types | Public Member Functions | Protected Attributes | List of all members
mpc_local_planner::PartiallyFixedVectorVertexSE2 Class Reference

VectorVertexSE2 with support for partially fixed components. More...

#include <vector_vertex_se2.h>

Inheritance diagram for mpc_local_planner::PartiallyFixedVectorVertexSE2:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< PartiallyFixedVectorVertexSE2 >
 
using UPtr = std::unique_ptr< PartiallyFixedVectorVertexSE2 >
 
- Public Types inherited from mpc_local_planner::VectorVertexSE2
using Ptr = std::shared_ptr< VectorVertexSE2 >
 
using UPtr = std::unique_ptr< VectorVertexSE2 >
 
- Public Types inherited from corbo::VectorVertex
typedef std::shared_ptr< VectorVertexPtr
 
typedef std::unique_ptr< VectorVertexUPtr
 
- Public Types inherited from corbo::VertexInterface
typedef std::shared_ptr< VertexInterfacePtr
 
typedef std::unique_ptr< VertexInterfaceUPtr
 

Public Member Functions

const Eigen::Array< bool, -1, 1 > fixedArray () const
 Read-only access to the underlying logical array for fixed components. More...
 
int getDimensionUnfixed () const override
 
int getNumberFiniteBounds (bool unfixed_only) const override
 
int getNumberFiniteLowerBounds (bool unfixed_only) const override
 
int getNumberFiniteUpperBounds (bool unfixed_only) const override
 
bool hasFixedComponents () const override
 
bool isFixedComponent (int idx) const override
 
 PartiallyFixedVectorVertexSE2 ()=default
 Default constructor. More...
 
 PartiallyFixedVectorVertexSE2 (const Eigen::Ref< const Eigen::VectorXd > &values)
 Construct vertex with given values. More...
 
 PartiallyFixedVectorVertexSE2 (const Eigen::Ref< const Eigen::VectorXd > &values, const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &fixed)
 Construct vertex with given values and fixed components. More...
 
 PartiallyFixedVectorVertexSE2 (const Eigen::Ref< const Eigen::VectorXd > &values, const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub)
 Construct vertex with given values, lower and upper bounds. More...
 
 PartiallyFixedVectorVertexSE2 (int dimension)
 
 PartiallyFixedVectorVertexSE2 (int dimension, const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &fixed)
 Construct and allocate memory for a given dimension. More...
 
void plusUnfixed (const double *inc) 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. More...
 
void set (const Eigen::Ref< const Eigen::VectorXd > &values, const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub, const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &fixed)
 Set values and bounds at once (overload with fixed vector) More...
 
void setDimension (int dim) override
 
void setFixed (bool fixed) override
 
void setFixed (const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &fixed)
 Set logical array [dimension() x 1] in order to fix selected components. More...
 
void setFixed (int idx, bool fixed)
 Set component with idx (0 <= idx < dimension()) to (un)fixed. More...
 
- Public Member Functions inherited from mpc_local_planner::VectorVertexSE2
void plus (const double *inc) override
 
void plus (int idx, double inc) override
 
void setData (int idx, double data) override
 
 VectorVertexSE2 ()=default
 Default constructor. More...
 
 VectorVertexSE2 (bool fixed)
 
 VectorVertexSE2 (const Eigen::Ref< const Eigen::VectorXd > &values, bool fixed=false)
 Construct vertex with given values. More...
 
 VectorVertexSE2 (const Eigen::Ref< const Eigen::VectorXd > &values, const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub, bool fixed=false)
 Construct vertex with given values, lower and upper bounds. More...
 
 VectorVertexSE2 (int dimension, bool fixed=false)
 Construct and allocate memory for a given dimension. More...
 
- Public Member Functions inherited from corbo::VectorVertex
void clear () override
 
void discardTop () override
 
const double * getData () const override
 
double * getDataRaw () override
 
int getDimension () const override
 
const double * getLowerBounds () const override
 
int getNumBackups () const override
 
const double * getUpperBounds () const override
 
bool hasFiniteBounds () const override
 
bool hasFiniteLowerBound (int idx) const override
 
bool hasFiniteLowerBounds () const override
 
bool hasFiniteUpperBound (int idx) const override
 
bool hasFiniteUpperBounds () const override
 
const Eigen::VectorXd & lowerBound () const
 
void pop () override
 
void push () override
 
void setLowerBound (int idx, double lb) override
 
void setLowerBounds (const Eigen::Ref< const Eigen::VectorXd > &lb) override
 
void setUpperBound (int idx, double ub) override
 
void setUpperBounds (const Eigen::Ref< const Eigen::VectorXd > &ub) override
 
void top () override
 
const Eigen::VectorXd & upperBound () const
 
Eigen::VectorXd & values ()
 
const Eigen::VectorXd & values () const
 
 VectorVertex ()=default
 
 VectorVertex (bool fixed)
 
 VectorVertex (const Eigen::Ref< const Eigen::VectorXd > &values, bool fixed=false)
 
 VectorVertex (const Eigen::Ref< const Eigen::VectorXd > &values, const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub, bool fixed=false)
 
 VectorVertex (int dimension, bool fixed=false)
 
- Public Member Functions inherited from corbo::VertexInterface
virtual void clearBackups ()
 
void clearConnectedEdges ()
 
const std::set< BaseEdge * > & getConnectedEqualityEdgesRef () const
 
const std::set< BaseEdge * > & getConnectedInequalityEdgesRef () const
 
const std::set< BaseEdge * > & getConnectedLsqObjectiveEdgesRef () const
 
const std::set< BaseMixedEdge * > & getConnectedMixedEdgesRef () const
 
const std::set< BaseEdge * > & getConnectedObjectiveEdgesRef () const
 
Eigen::Map< const Eigen::VectorXd > getDataMap () const
 
Eigen::Map< Eigen::VectorXd > getDataRawMap ()
 
Eigen::Map< const Eigen::VectorXd > getLowerBoundsMap () const
 
Eigen::Map< const Eigen::VectorXd > getUpperBoundsMap () const
 
int getVertexIdx () const
 
virtual bool isFixed () const
 
void registerEqualityEdge (BaseEdge *edge)
 
void registerInequalityEdge (BaseEdge *edge)
 
void registerLsqObjectiveEdge (BaseEdge *edge)
 
void registerMixedEdge (BaseMixedEdge *edge)
 
void registerObjectiveEdge (BaseEdge *edge)
 
virtual ~VertexInterface ()
 

Protected Attributes

Eigen::Array< bool, -1, 1 > _fixed
 
int _num_unfixed
 
- Protected Attributes inherited from corbo::VectorVertex
std::vector< Eigen::VectorXd > _backup
 
bool _finite_lb_bounds
 
bool _finite_ub_bounds
 
bool _fixed
 
Eigen::VectorXd _lb
 
Eigen::VectorXd _ub
 
Eigen::VectorXd _values
 

Detailed Description

VectorVertexSE2 with support for partially fixed components.

The vertex extends VectorVertexSE2 by allowing the user to partially fix components of the underlying vector.

See also
VectorVertexSE2 corbo::VertexInterface corbo::VectorVertex corbo::HyperGraph corbo::EdgeInterface
Author
Christoph Rösmann (chris.nosp@m.toph.nosp@m..roes.nosp@m.mann.nosp@m.@tu-d.nosp@m.ortm.nosp@m.und.d.nosp@m.e)

Definition at line 158 of file vector_vertex_se2.h.

Member Typedef Documentation

◆ Ptr

Definition at line 161 of file vector_vertex_se2.h.

◆ UPtr

Definition at line 162 of file vector_vertex_se2.h.

Constructor & Destructor Documentation

◆ PartiallyFixedVectorVertexSE2() [1/6]

mpc_local_planner::PartiallyFixedVectorVertexSE2::PartiallyFixedVectorVertexSE2 ( )
default

Default constructor.

◆ PartiallyFixedVectorVertexSE2() [2/6]

mpc_local_planner::PartiallyFixedVectorVertexSE2::PartiallyFixedVectorVertexSE2 ( int  dimension)
inlineexplicit

Definition at line 167 of file vector_vertex_se2.h.

◆ PartiallyFixedVectorVertexSE2() [3/6]

mpc_local_planner::PartiallyFixedVectorVertexSE2::PartiallyFixedVectorVertexSE2 ( int  dimension,
const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &  fixed 
)
inlineexplicit

Construct and allocate memory for a given dimension.

Definition at line 173 of file vector_vertex_se2.h.

◆ PartiallyFixedVectorVertexSE2() [4/6]

mpc_local_planner::PartiallyFixedVectorVertexSE2::PartiallyFixedVectorVertexSE2 ( const Eigen::Ref< const Eigen::VectorXd > &  values)
inlineexplicit

Construct vertex with given values.

Definition at line 179 of file vector_vertex_se2.h.

◆ PartiallyFixedVectorVertexSE2() [5/6]

mpc_local_planner::PartiallyFixedVectorVertexSE2::PartiallyFixedVectorVertexSE2 ( const Eigen::Ref< const Eigen::VectorXd > &  values,
const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &  fixed 
)
inlineexplicit

Construct vertex with given values and fixed components.

Definition at line 185 of file vector_vertex_se2.h.

◆ PartiallyFixedVectorVertexSE2() [6/6]

mpc_local_planner::PartiallyFixedVectorVertexSE2::PartiallyFixedVectorVertexSE2 ( const Eigen::Ref< const Eigen::VectorXd > &  values,
const Eigen::Ref< const Eigen::VectorXd > &  lb,
const Eigen::Ref< const Eigen::VectorXd > &  ub 
)
inlineexplicit

Construct vertex with given values, lower and upper bounds.

Definition at line 191 of file vector_vertex_se2.h.

Member Function Documentation

◆ fixedArray()

const Eigen::Array<bool, -1, 1> mpc_local_planner::PartiallyFixedVectorVertexSE2::fixedArray ( ) const
inline

Read-only access to the underlying logical array for fixed components.

Definition at line 327 of file vector_vertex_se2.h.

◆ getDimensionUnfixed()

int mpc_local_planner::PartiallyFixedVectorVertexSE2::getDimensionUnfixed ( ) const
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 198 of file vector_vertex_se2.h.

◆ getNumberFiniteBounds()

int mpc_local_planner::PartiallyFixedVectorVertexSE2::getNumberFiniteBounds ( bool  unfixed_only) const
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 311 of file vector_vertex_se2.h.

◆ getNumberFiniteLowerBounds()

int mpc_local_planner::PartiallyFixedVectorVertexSE2::getNumberFiniteLowerBounds ( bool  unfixed_only) const
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 279 of file vector_vertex_se2.h.

◆ getNumberFiniteUpperBounds()

int mpc_local_planner::PartiallyFixedVectorVertexSE2::getNumberFiniteUpperBounds ( bool  unfixed_only) const
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 295 of file vector_vertex_se2.h.

◆ hasFixedComponents()

bool mpc_local_planner::PartiallyFixedVectorVertexSE2::hasFixedComponents ( ) const
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 274 of file vector_vertex_se2.h.

◆ isFixedComponent()

bool mpc_local_planner::PartiallyFixedVectorVertexSE2::isFixedComponent ( int  idx) const
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 276 of file vector_vertex_se2.h.

◆ plusUnfixed()

void mpc_local_planner::PartiallyFixedVectorVertexSE2::plusUnfixed ( const double *  inc)
inlineoverridevirtual

Reimplemented from mpc_local_planner::VectorVertexSE2.

Definition at line 260 of file vector_vertex_se2.h.

◆ set() [1/2]

void mpc_local_planner::PartiallyFixedVectorVertexSE2::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 
)
inlineoverridevirtual

Set values and bounds at once.

Reimplemented from mpc_local_planner::VectorVertexSE2.

Definition at line 209 of file vector_vertex_se2.h.

◆ set() [2/2]

void mpc_local_planner::PartiallyFixedVectorVertexSE2::set ( const Eigen::Ref< const Eigen::VectorXd > &  values,
const Eigen::Ref< const Eigen::VectorXd > &  lb,
const Eigen::Ref< const Eigen::VectorXd > &  ub,
const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &  fixed 
)
inline

Set values and bounds at once (overload with fixed vector)

Definition at line 224 of file vector_vertex_se2.h.

◆ setDimension()

void mpc_local_planner::PartiallyFixedVectorVertexSE2::setDimension ( int  dim)
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 201 of file vector_vertex_se2.h.

◆ setFixed() [1/3]

void mpc_local_planner::PartiallyFixedVectorVertexSE2::setFixed ( bool  fixed)
inlineoverridevirtual

Reimplemented from corbo::VectorVertex.

Definition at line 253 of file vector_vertex_se2.h.

◆ setFixed() [2/3]

void mpc_local_planner::PartiallyFixedVectorVertexSE2::setFixed ( const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &  fixed)
inline

Set logical array [dimension() x 1] in order to fix selected components.

Definition at line 246 of file vector_vertex_se2.h.

◆ setFixed() [3/3]

void mpc_local_planner::PartiallyFixedVectorVertexSE2::setFixed ( int  idx,
bool  fixed 
)
inline

Set component with idx (0 <= idx < dimension()) to (un)fixed.

Definition at line 239 of file vector_vertex_se2.h.

Member Data Documentation

◆ _fixed

Eigen::Array<bool, -1, 1> mpc_local_planner::PartiallyFixedVectorVertexSE2::_fixed
protected

Definition at line 330 of file vector_vertex_se2.h.

◆ _num_unfixed

int mpc_local_planner::PartiallyFixedVectorVertexSE2::_num_unfixed
protected

Definition at line 331 of file vector_vertex_se2.h.


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


mpc_local_planner
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:35:06