Go to the documentation of this file.
25 #ifndef SRC_OPTIMIZATION_INCLUDE_CORBO_OPTIMIZATION_HYPER_GRAPH_VERTEX_SET_H_
26 #define SRC_OPTIMIZATION_INCLUDE_CORBO_OPTIMIZATION_HYPER_GRAPH_VERTEX_SET_H_
30 #include <initializer_list>
45 class VertexSetInterface
48 using Ptr = std::shared_ptr<VertexSetInterface>;
58 virtual void getVertices(std::vector<VertexInterface*>& vertices) = 0;
85 virtual void clear() = 0;
88 void setVertexIdx(VertexInterface& vertex,
int idx) { vertex._vertex_idx = idx; }
96 using Ptr = std::shared_ptr<VertexSet>;
99 VertexSet(std::initializer_list<VertexInterface::Ptr> vertices);
104 void getVertices(std::vector<VertexInterface*>& vertices)
override;
109 void clear()
override;
117 void addVertices(std::initializer_list<VertexInterface::Ptr> vertices)
131 std::vector<VertexInterface::Ptr>
_vertices;
137 #endif // SRC_OPTIMIZATION_INCLUDE_CORBO_OPTIMIZATION_HYPER_GRAPH_VERTEX_SET_H_
double getLowerBound(int idx)
std::vector< VertexInterface * > & getActiveVertices() override
void addVertices(std::initializer_list< VertexInterface::Ptr > vertices)
void setBounds(const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub)
std::vector< VertexInterface::Ptr > _vertices
void setLowerBound(int idx, double lb)
std::shared_ptr< VertexSetInterface > Ptr
virtual ~VertexSetInterface()
Virtual destructor.
void restoreBackupParametersActiveVertices(bool keep_backup)
virtual void computeActiveVertices()=0
void discardBackupParametersActiveVertices(bool all=false)
void addVertex(VertexInterface::Ptr vertex)
void getParameterVector(Eigen::Ref< Eigen::VectorXd > x)
std::vector< VertexInterface * > _active_vertices
void setUpperBound(int idx, double ub)
void computeActiveVertices() override
std::shared_ptr< VertexInterface > Ptr
virtual std::vector< VertexInterface * > & getActiveVertices()=0
void computeVertexIndices()
Precompute vertex indices in the hyper-graph (e.g. for the Jacobian or Hessian structure)
std::vector< VertexInterface::Ptr > & getVerticesRef()
void setParameterVector(const Eigen::Ref< const Eigen::VectorXd > &x)
void setParameterValue(int idx, double x)
void setVertexIdx(VertexInterface &vertex, int idx)
void clearConnectedEdges()
virtual void getVertices(std::vector< VertexInterface * > &vertices)=0
A matrix or vector expression mapping an existing expression.
void getBounds(Eigen::Ref< Eigen::VectorXd > lb, Eigen::Ref< Eigen::VectorXd > ub)
double getParameterValue(int idx)
double getUpperBound(int idx)
int getParameterDimension()
void applyIncrementNonFixed(const Eigen::Ref< const Eigen::VectorXd > &increment)
Active vertices related methods.
const std::vector< VertexInterface::Ptr > & getVertices()
void setModified(bool modified)
Abstract class representing a set of vertices.
void backupParametersActiveVertices()
control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:07:15