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 (int dimension)
 
 PartiallyFixedVectorVertexSE2 (int dimension, const Eigen::Ref< const Eigen::Array< bool, -1, 1 >> &fixed)
 Construct and allocate memory for a given dimension. 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...
 
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 (int idx, bool fixed)
 Set component with idx (0 <= idx < dimension()) to (un)fixed. More...
 
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 (bool fixed) override
 
- Public Member Functions inherited from mpc_local_planner::VectorVertexSE2
void plus (int idx, double inc) override
 
void plus (const double *inc) override
 
void setData (int idx, double data) override
 
 VectorVertexSE2 ()=default
 Default constructor. More...
 
 VectorVertexSE2 (bool fixed)
 
 VectorVertexSE2 (int dimension, bool fixed=false)
 Construct and allocate memory for a given dimension. More...
 
 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...
 
- 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 (bool fixed)
 
 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 (const Eigen::Ref< const Eigen::VectorXd > &values, bool fixed=false)
 
 VectorVertex (int dimension, bool fixed=false)
 
 VectorVertex ()=default
 
- 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 138 of file vector_vertex_se2.h.

Member Typedef Documentation

◆ Ptr

Definition at line 141 of file vector_vertex_se2.h.

◆ UPtr

Definition at line 142 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 147 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 153 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 159 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 165 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 171 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 307 of file vector_vertex_se2.h.

◆ getDimensionUnfixed()

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

Reimplemented from corbo::VectorVertex.

Definition at line 178 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 291 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 259 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 275 of file vector_vertex_se2.h.

◆ hasFixedComponents()

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

Reimplemented from corbo::VectorVertex.

Definition at line 254 of file vector_vertex_se2.h.

◆ isFixedComponent()

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

Reimplemented from corbo::VectorVertex.

Definition at line 256 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 240 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 189 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 204 of file vector_vertex_se2.h.

◆ setDimension()

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

Reimplemented from corbo::VectorVertex.

Definition at line 181 of file vector_vertex_se2.h.

◆ setFixed() [1/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 219 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 226 of file vector_vertex_se2.h.

◆ setFixed() [3/3]

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

Reimplemented from corbo::VectorVertex.

Definition at line 233 of file vector_vertex_se2.h.

Member Data Documentation

◆ _fixed

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

Definition at line 310 of file vector_vertex_se2.h.

◆ _num_unfixed

int mpc_local_planner::PartiallyFixedVectorVertexSE2::_num_unfixed
protected

Definition at line 311 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 Mon Feb 28 2022 22:53:18