soth::ActiveSet< Indirect > Class Template Reference

#include <ActiveSet.hpp>

Inheritance diagram for soth::ActiveSet< Indirect >:
[legend]
Collaboration diagram for soth::ActiveSet< Indirect >:
[legend]

Public Member Functions

 ActiveSet (Index nr)
 
void reset (void)
 
void active (Index ref, Bound::bound_t type, const Index row)
 
Index activeRow (Index ref, Bound::bound_t type)
 
Index activeRow (const ConstraintRef &cst)
 
void unactiveRow (Index row)
 
void freeze (Index ref)
 
Index nbActive (void) const
 
Index size (void) const
 
bool isFreezed (Index ref) const
 
bool isActive (Index ref) const
 
bool wasActive (Index ref, const Bound::bound_t type) const
 
Bound::bound_t whichBound (Index ref, bool checkActive=false) const
 
double sign (Index ref) const
 
Index map (Index ref) const
 
Index mapInv (Index row) const
 
Matrix< Index, Dynamic, 1 > getIndirection (void) const
 
Index where (Index ref) const
 
Index whichConstraint (Index row) const
 
void dampBoundValue (const ConstraintRef &cst, const double &value)
 
std::pair< double, double > getBoundDamping (const Index &cst)
 
void disp (std::ostream &os, bool classic=true) const
 
void permuteRows (const VectorXi &P)
 
 operator Matrix< Index, Dynamic, 1 > (void) const
 

Protected Types

typedef std::vector< Index > mapinv_vector_t
 

Protected Member Functions

bool isRowFree (Index row)
 
Index getAFreeRow (void)
 
void freeARow (Index row)
 

Protected Attributes

cstref_vector_t cstMap
 
mapinv_vector_t cstMapInv
 
std::vector< bool > freerow
 
std::vector< bool > freezed
 
Matrix< Bound::bound_t, Dynamic, 1 > activated
 
VectorXd dampingInf
 
VectorXd dampingSup
 
Index nba
 

Member Typedef Documentation

◆ mapinv_vector_t

template<typename Indirect >
typedef std::vector<Index> soth::ActiveSet< Indirect >::mapinv_vector_t
protected

Constructor & Destructor Documentation

◆ ActiveSet()

template<typename Indirect >
soth::ActiveSet< Indirect >::ActiveSet ( Index  nr)
inline

Member Function Documentation

◆ active()

template<typename Indirect >
void soth::ActiveSet< Indirect >::active ( Index  ref,
Bound::bound_t  type,
const Index  row 
)
inline

◆ activeRow() [1/2]

template<typename Indirect >
Index soth::ActiveSet< Indirect >::activeRow ( Index  ref,
Bound::bound_t  type 
)
inline

◆ activeRow() [2/2]

template<typename Indirect >
Index soth::ActiveSet< Indirect >::activeRow ( const ConstraintRef cst)
inline

◆ dampBoundValue()

template<typename Indirect >
void soth::ActiveSet< Indirect >::dampBoundValue ( const ConstraintRef cst,
const double &  value 
)
inline

◆ disp()

template<typename Indirect >
void soth::ActiveSet< Indirect >::disp ( std::ostream &  os,
bool  classic = true 
) const
inline

◆ freeARow()

template<typename Indirect >
void soth::ActiveSet< Indirect >::freeARow ( Index  row)
inlineprotected

◆ freeze()

template<typename Indirect >
void soth::ActiveSet< Indirect >::freeze ( Index  ref)
inline

◆ getAFreeRow()

template<typename Indirect >
unsigned int soth::ActiveSet< Indirect >::getAFreeRow ( void  )
inlineprotected

◆ getBoundDamping()

template<typename Indirect >
std::pair< double, double > soth::ActiveSet< Indirect >::getBoundDamping ( const Index &  cst)
inline

◆ getIndirection()

template<typename Indirect >
VectorXi soth::ActiveSet< Indirect >::getIndirection ( void  ) const
inline

◆ isActive()

template<typename Indirect >
bool soth::ActiveSet< Indirect >::isActive ( Index  ref) const
inline

◆ isFreezed()

template<typename Indirect >
bool soth::ActiveSet< Indirect >::isFreezed ( Index  ref) const
inline

◆ isRowFree()

template<typename Indirect >
bool soth::ActiveSet< Indirect >::isRowFree ( Index  row)
inlineprotected

◆ map()

template<typename Indirect >
unsigned int soth::ActiveSet< Indirect >::map ( Index  ref) const
inline

◆ mapInv()

template<typename Indirect >
unsigned int soth::ActiveSet< Indirect >::mapInv ( Index  row) const
inline

◆ nbActive()

template<typename Indirect >
Index soth::ActiveSet< Indirect >::nbActive ( void  ) const
inline

◆ operator Matrix< Index, Dynamic, 1 >()

template<typename Indirect >
soth::ActiveSet< Indirect >::operator Matrix< Index, Dynamic, 1 > ( void  ) const
inline

◆ permuteRows()

template<typename Indirect >
void soth::ActiveSet< Indirect >::permuteRows ( const VectorXi &  P)

◆ reset()

template<typename Indirect >
void soth::ActiveSet< Indirect >::reset ( void  )
inline

◆ sign()

template<typename Indirect >
double soth::ActiveSet< Indirect >::sign ( Index  ref) const
inline

◆ size()

template<typename Indirect >
Index soth::ActiveSet< Indirect >::size ( void  ) const
inline

◆ unactiveRow()

template<typename Indirect >
void soth::ActiveSet< Indirect >::unactiveRow ( Index  row)
inline

◆ wasActive()

template<typename Indirect >
bool soth::ActiveSet< Indirect >::wasActive ( Index  ref,
const Bound::bound_t  type 
) const
inline

◆ where()

template<typename Indirect >
Index soth::ActiveSet< Indirect >::where ( Index  ref) const
inline

◆ whichBound()

template<typename Indirect >
Bound::bound_t soth::ActiveSet< Indirect >::whichBound ( Index  ref,
bool  checkActive = false 
) const
inline

◆ whichConstraint()

template<typename Indirect >
Index soth::ActiveSet< Indirect >::whichConstraint ( Index  row) const
inline

Member Data Documentation

◆ activated

template<typename Indirect >
Matrix<Bound::bound_t, Dynamic, 1> soth::ActiveSet< Indirect >::activated
protected

◆ cstMap

template<typename Indirect >
cstref_vector_t soth::ActiveSet< Indirect >::cstMap
protected

◆ cstMapInv

template<typename Indirect >
mapinv_vector_t soth::ActiveSet< Indirect >::cstMapInv
protected

◆ dampingInf

template<typename Indirect >
VectorXd soth::ActiveSet< Indirect >::dampingInf
protected

◆ dampingSup

template<typename Indirect >
VectorXd soth::ActiveSet< Indirect >::dampingSup
protected

◆ freerow

template<typename Indirect >
std::vector<bool> soth::ActiveSet< Indirect >::freerow
protected

◆ freezed

template<typename Indirect >
std::vector<bool> soth::ActiveSet< Indirect >::freezed
protected

◆ nba

template<typename Indirect >
Index soth::ActiveSet< Indirect >::nba
protected