Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
corbo::OptimizationEdgeSet Class Reference

#include <edge_set.h>

Inheritance diagram for corbo::OptimizationEdgeSet:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< OptimizationEdgeSet >
 
- Public Types inherited from corbo::EdgeSetInterface
using Ptr = std::shared_ptr< EdgeSetInterface >
 

Public Member Functions

void addEdges (std::initializer_list< BaseEdge::Ptr > objective_edges, std::initializer_list< BaseEdge::Ptr > lsq_objective_edges, std::initializer_list< BaseEdge::Ptr > equality_edges, std::initializer_list< BaseEdge::Ptr > inequality_edges, std::initializer_list< BaseMixedEdge::Ptr > mixed_edges)
 
void addEdges (std::initializer_list< BaseEdge::Ptr > objective_edges, std::initializer_list< BaseEdge::Ptr > equality_edges, std::initializer_list< BaseEdge::Ptr > inequality_edges, std::initializer_list< BaseMixedEdge::Ptr > mixed_edges)
 
void addEqualityEdge (BaseEdge::Ptr edge)
 
void addInequalityEdge (BaseEdge::Ptr edge)
 
void addLsqObjectiveEdge (BaseEdge::Ptr edge)
 
void addMixedEdge (BaseMixedEdge::Ptr edge)
 
void addObjectiveEdge (BaseEdge::Ptr edge)
 
void clear () override
 
void clearEdgeCache ()
 
void computeEdgeIndices () override
 Precompute edge indices in the hyper-graph (e.g. for the Jacobian structure) More...
 
void getDimensions (int &non_lsq_obj_dim, int &lsq_obj_dim, int &eq_dim, int &ineq_dim)
 
const std::vector< BaseEdge::Ptr > & getEqualityEdges () const
 
std::vector< BaseEdge::Ptr > & getEqualityEdgesRef ()
 
const std::vector< BaseEdge::Ptr > & getInequalityEdges () const
 
std::vector< BaseEdge::Ptr > & getInequalityEdgesRef ()
 
const std::vector< BaseEdge::Ptr > & getLsqObjectiveEdges () const
 
std::vector< BaseEdge::Ptr > & getLsqObjectiveEdgesRef ()
 
const std::vector< BaseMixedEdge::Ptr > & getMixedEdges () const
 
std::vector< BaseMixedEdge::Ptr > & getMixedEdgesRef ()
 
const std::vector< BaseEdge::Ptr > & getObjectiveEdges () const
 
std::vector< BaseEdge::Ptr > & getObjectiveEdgesRef ()
 
bool hasOnlyLeastSquaresObjectives () const
 
bool isEdgeCacheEmpty ()
 
void registerEdgesAtVertices (VertexSetInterface &vertices)
 
void registerEdgesAtVertices ()
 
void reserveEdgeCacheMemory (int est_value_cache_size, int est_jacobians_cache_size) override
 
- Public Member Functions inherited from corbo::EdgeSetInterface
bool isModified () const
 
void setModified (bool modified)
 
virtual ~EdgeSetInterface ()
 Virtual destructor. More...
 

Protected Member Functions

void computeEdgeIndices (std::vector< BaseEdge::Ptr > &edges, int &idx)
 
void computeEdgeIndices (std::vector< BaseMixedEdge::Ptr > &edges, int &idx_obj, int &idx_lsq_obj, int &idx_eq, int &idx_ineq)
 
void computeObjectiveEdgeIndices (std::vector< BaseEdge::Ptr > &edges, int &idx, bool lsq_edges)
 Precompute overall edge indices in the hyper-graph (e.g. for the Jacobian structure) More...
 
- Protected Member Functions inherited from corbo::EdgeSetInterface
void setEdgeIdx (BaseEdge &edge, int idx)
 
void setEdgeIdx (BaseMixedEdge &edge, int obj_idx, int eq_idx, int ineq_idx)
 

Private Attributes

std::vector< BaseEdge::Ptr_equalities
 
std::vector< BaseEdge::Ptr_inequalities
 
std::vector< BaseEdge::Ptr_lsq_objectives
 
std::vector< BaseMixedEdge::Ptr_mixed
 
std::vector< BaseEdge::Ptr_objectives
 

Additional Inherited Members

- Protected Attributes inherited from corbo::EdgeSetInterface
bool _modified = true
 

Detailed Description

Definition at line 74 of file edge_set.h.

Member Typedef Documentation

◆ Ptr

Definition at line 77 of file edge_set.h.

Member Function Documentation

◆ addEdges() [1/2]

void corbo::OptimizationEdgeSet::addEdges ( std::initializer_list< BaseEdge::Ptr objective_edges,
std::initializer_list< BaseEdge::Ptr lsq_objective_edges,
std::initializer_list< BaseEdge::Ptr equality_edges,
std::initializer_list< BaseEdge::Ptr inequality_edges,
std::initializer_list< BaseMixedEdge::Ptr mixed_edges 
)
inline

Definition at line 87 of file edge_set.h.

◆ addEdges() [2/2]

void corbo::OptimizationEdgeSet::addEdges ( std::initializer_list< BaseEdge::Ptr objective_edges,
std::initializer_list< BaseEdge::Ptr equality_edges,
std::initializer_list< BaseEdge::Ptr inequality_edges,
std::initializer_list< BaseMixedEdge::Ptr mixed_edges 
)
inline

Definition at line 99 of file edge_set.h.

◆ addEqualityEdge()

void corbo::OptimizationEdgeSet::addEqualityEdge ( BaseEdge::Ptr  edge)
inline

Definition at line 138 of file edge_set.h.

◆ addInequalityEdge()

void corbo::OptimizationEdgeSet::addInequalityEdge ( BaseEdge::Ptr  edge)
inline

Definition at line 139 of file edge_set.h.

◆ addLsqObjectiveEdge()

void corbo::OptimizationEdgeSet::addLsqObjectiveEdge ( BaseEdge::Ptr  edge)
inline

Definition at line 132 of file edge_set.h.

◆ addMixedEdge()

void corbo::OptimizationEdgeSet::addMixedEdge ( BaseMixedEdge::Ptr  edge)
inline

Definition at line 140 of file edge_set.h.

◆ addObjectiveEdge()

void corbo::OptimizationEdgeSet::addObjectiveEdge ( BaseEdge::Ptr  edge)
inline

Definition at line 118 of file edge_set.h.

◆ clear()

void corbo::OptimizationEdgeSet::clear ( )
overridevirtual

Implements corbo::EdgeSetInterface.

Definition at line 238 of file edge_set.cpp.

◆ clearEdgeCache()

void corbo::OptimizationEdgeSet::clearEdgeCache ( )

Definition at line 87 of file edge_set.cpp.

◆ computeEdgeIndices() [1/3]

void corbo::OptimizationEdgeSet::computeEdgeIndices ( )
overridevirtual

Precompute edge indices in the hyper-graph (e.g. for the Jacobian structure)

Implements corbo::EdgeSetInterface.

Definition at line 31 of file edge_set.cpp.

◆ computeEdgeIndices() [2/3]

void corbo::OptimizationEdgeSet::computeEdgeIndices ( std::vector< BaseEdge::Ptr > &  edges,
int idx 
)
protected

Definition at line 121 of file edge_set.cpp.

◆ computeEdgeIndices() [3/3]

void corbo::OptimizationEdgeSet::computeEdgeIndices ( std::vector< BaseMixedEdge::Ptr > &  edges,
int idx_obj,
int idx_lsq_obj,
int idx_eq,
int idx_ineq 
)
protected

Definition at line 134 of file edge_set.cpp.

◆ computeObjectiveEdgeIndices()

void corbo::OptimizationEdgeSet::computeObjectiveEdgeIndices ( std::vector< BaseEdge::Ptr > &  edges,
int idx,
bool  lsq_edges 
)
protected

Precompute overall edge indices in the hyper-graph (e.g. for the Jacobian structure)

Definition at line 101 of file edge_set.cpp.

◆ getDimensions()

void corbo::OptimizationEdgeSet::getDimensions ( int non_lsq_obj_dim,
int lsq_obj_dim,
int eq_dim,
int ineq_dim 
)

Definition at line 198 of file edge_set.cpp.

◆ getEqualityEdges()

const std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getEqualityEdges ( ) const
inline

Definition at line 159 of file edge_set.h.

◆ getEqualityEdgesRef()

std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getEqualityEdgesRef ( )
inline

Definition at line 154 of file edge_set.h.

◆ getInequalityEdges()

const std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getInequalityEdges ( ) const
inline

Definition at line 165 of file edge_set.h.

◆ getInequalityEdgesRef()

std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getInequalityEdgesRef ( )
inline

Definition at line 160 of file edge_set.h.

◆ getLsqObjectiveEdges()

const std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getLsqObjectiveEdges ( ) const
inline

Definition at line 153 of file edge_set.h.

◆ getLsqObjectiveEdgesRef()

std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getLsqObjectiveEdgesRef ( )
inline

Definition at line 148 of file edge_set.h.

◆ getMixedEdges()

const std::vector<BaseMixedEdge::Ptr>& corbo::OptimizationEdgeSet::getMixedEdges ( ) const
inline

Definition at line 171 of file edge_set.h.

◆ getMixedEdgesRef()

std::vector<BaseMixedEdge::Ptr>& corbo::OptimizationEdgeSet::getMixedEdgesRef ( )
inline

Definition at line 166 of file edge_set.h.

◆ getObjectiveEdges()

const std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getObjectiveEdges ( ) const
inline

Definition at line 147 of file edge_set.h.

◆ getObjectiveEdgesRef()

std::vector<BaseEdge::Ptr>& corbo::OptimizationEdgeSet::getObjectiveEdgesRef ( )
inline

Definition at line 142 of file edge_set.h.

◆ hasOnlyLeastSquaresObjectives()

bool corbo::OptimizationEdgeSet::hasOnlyLeastSquaresObjectives ( ) const
inline

Definition at line 173 of file edge_set.h.

◆ isEdgeCacheEmpty()

bool corbo::OptimizationEdgeSet::isEdgeCacheEmpty ( )

Definition at line 53 of file edge_set.cpp.

◆ registerEdgesAtVertices() [1/2]

void corbo::OptimizationEdgeSet::registerEdgesAtVertices ( VertexSetInterface vertices)

Definition at line 168 of file edge_set.cpp.

◆ registerEdgesAtVertices() [2/2]

void corbo::OptimizationEdgeSet::registerEdgesAtVertices ( )

Definition at line 174 of file edge_set.cpp.

◆ reserveEdgeCacheMemory()

void corbo::OptimizationEdgeSet::reserveEdgeCacheMemory ( int  est_value_cache_size,
int  est_jacobians_cache_size 
)
overridevirtual

Implements corbo::EdgeSetInterface.

Definition at line 44 of file edge_set.cpp.

Member Data Documentation

◆ _equalities

std::vector<BaseEdge::Ptr> corbo::OptimizationEdgeSet::_equalities
private

Definition at line 189 of file edge_set.h.

◆ _inequalities

std::vector<BaseEdge::Ptr> corbo::OptimizationEdgeSet::_inequalities
private

Definition at line 190 of file edge_set.h.

◆ _lsq_objectives

std::vector<BaseEdge::Ptr> corbo::OptimizationEdgeSet::_lsq_objectives
private

Definition at line 188 of file edge_set.h.

◆ _mixed

std::vector<BaseMixedEdge::Ptr> corbo::OptimizationEdgeSet::_mixed
private

Definition at line 191 of file edge_set.h.

◆ _objectives

std::vector<BaseEdge::Ptr> corbo::OptimizationEdgeSet::_objectives
private

Definition at line 187 of file edge_set.h.


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


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:08:03