Loading...
Searching...
No Matches
multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options > Struct Template Reference

#include <multicontact-api/geometry/second-order-cone.hpp>

Inheritance diagram for multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >:
Collaboration diagram for multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >:

Public Types

enum  { dim = _dim , Options = _Options }
 
typedef _Scalar Scalar
 
typedef Eigen::Matrix< Scalar, dim, dim, OptionsMatrixD
 
typedef Eigen::Matrix< Scalar, dim, 1, OptionsVectorD
 
typedef Eigen::DenseIndex DenseIndex
 

Public Member Functions

 SecondOrderCone ()
 
 SecondOrderCone (const MatrixD &Q, const VectorD &direction)
 
template<typename S2 , int O2>
bool operator== (const SecondOrderCone< S2, dim, O2 > &other) const
 
template<typename S2 , int O2>
bool operator!= (const SecondOrderCone< S2, dim, O2 > &other) const
 
Scalar lhsValue (const VectorD &point) const
 
Scalar rhsValue (const VectorD &point) const
 
bool check (const VectorD &point) const
 
bool check (const VectorD &point, const Scalar factor) const
 
const VectorDdirection () const
 
void setDirection (const VectorD &direction)
 
template<typename S2 , int O2>
bool isApprox (const SecondOrderCone< S2, dim, O2 > &other, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
const MatrixDQ () const
 
void setQ (const MatrixD &Q)
 
void disp (std::ostream &os) const
 
- Public Member Functions inherited from multicontact_api::serialization::Serializable< SecondOrderCone< _Scalar, _dim, _Options > >
void loadFromText (const std::string &filename)
 Loads a Derived object from a text file.
 
void saveAsText (const std::string &filename) const
 Saved a Derived object as a text file.
 
void loadFromXML (const std::string &filename, const std::string &tag_name)
 Loads a Derived object from an XML file.
 
void saveAsXML (const std::string &filename, const std::string &tag_name) const
 Saved a Derived object as an XML file.
 
void loadFromBinary (const std::string &filename)
 Loads a Derived object from an binary file.
 
void saveAsBinary (const std::string &filename) const
 Saved a Derived object as an binary file.
 

Static Public Member Functions

static SecondOrderCone RegularCone (const Scalar mu, const VectorD &direction)
 Build a regular cone from a given friction coefficient and a direction.
 

Protected Member Functions

void computeProjectors ()
 

Protected Attributes

MatrixD m_Q
 Cholesky decomposition matrix reprensenting the conic norm.
 
MatrixD m_QPo
 Cholesky decomposition projected on the orthogonal of m_direction.
 
VectorD m_direction
 Direction of the cone.
 
MatrixD m_Pd
 Projector along the direction of d.
 
MatrixD m_Po
 Projector orthogonal to d.
 

Friends

class boost::serialization::access
 
std::ostream & operator<< (std::ostream &os, const SecondOrderCone &C)
 

Member Typedef Documentation

◆ DenseIndex

template<typename _Scalar , int _dim, int _Options>
typedef Eigen::DenseIndex multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::DenseIndex

◆ MatrixD

template<typename _Scalar , int _dim, int _Options>
typedef Eigen::Matrix<Scalar, dim, dim, Options> multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::MatrixD

◆ Scalar

template<typename _Scalar , int _dim, int _Options>
typedef _Scalar multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::Scalar

◆ VectorD

template<typename _Scalar , int _dim, int _Options>
typedef Eigen::Matrix<Scalar, dim, 1, Options> multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::VectorD

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar , int _dim, int _Options>
anonymous enum
Enumerator
dim 
Options 

Constructor & Destructor Documentation

◆ SecondOrderCone() [1/2]

template<typename _Scalar , int _dim, int _Options>
multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::SecondOrderCone ( )
inline

◆ SecondOrderCone() [2/2]

template<typename _Scalar , int _dim, int _Options>
multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::SecondOrderCone ( const MatrixD Q,
const VectorD direction 
)
inline

Member Function Documentation

◆ check() [1/2]

template<typename _Scalar , int _dim, int _Options>
bool multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::check ( const VectorD point) const
inline
Returns
true if the point is inside the cone

◆ check() [2/2]

template<typename _Scalar , int _dim, int _Options>
bool multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::check ( const VectorD point,
const Scalar  factor 
) const
inline

◆ computeProjectors()

template<typename _Scalar , int _dim, int _Options>
void multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::computeProjectors ( )
inlineprotected

◆ direction()

template<typename _Scalar , int _dim, int _Options>
const VectorD & multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::direction ( ) const
inline
Returns
the direction of the cone.

◆ disp()

template<typename _Scalar , int _dim, int _Options>
void multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::disp ( std::ostream &  os) const
inline

◆ isApprox()

template<typename _Scalar , int _dim, int _Options>
template<typename S2 , int O2>
bool multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::isApprox ( const SecondOrderCone< S2, dim, O2 > &  other,
const Scalar prec = Eigen::NumTraits<Scalar>::dummy_precision() 
) const
inline

◆ lhsValue()

template<typename _Scalar , int _dim, int _Options>
Scalar multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::lhsValue ( const VectorD point) const
inline
Returns
the value of lhs of the conic inequality

◆ operator!=()

template<typename _Scalar , int _dim, int _Options>
template<typename S2 , int O2>
bool multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::operator!= ( const SecondOrderCone< S2, dim, O2 > &  other) const
inline

◆ operator==()

template<typename _Scalar , int _dim, int _Options>
template<typename S2 , int O2>
bool multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::operator== ( const SecondOrderCone< S2, dim, O2 > &  other) const
inline

◆ Q()

template<typename _Scalar , int _dim, int _Options>
const MatrixD & multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::Q ( ) const
inline
Returns
the quadratic term of the lhs norm.

◆ RegularCone()

template<typename _Scalar , int _dim, int _Options>
static SecondOrderCone multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::RegularCone ( const Scalar  mu,
const VectorD direction 
)
inlinestatic

Build a regular cone from a given friction coefficient and a direction.

Parameters
muFriction coefficient.
directionDirection of the cone.
Returns
A second order cone.

◆ rhsValue()

template<typename _Scalar , int _dim, int _Options>
Scalar multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::rhsValue ( const VectorD point) const
inline
Returns
the value of rhs of the conic inequality

◆ setDirection()

template<typename _Scalar , int _dim, int _Options>
void multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::setDirection ( const VectorD direction)
inline

◆ setQ()

template<typename _Scalar , int _dim, int _Options>
void multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::setQ ( const MatrixD Q)
inline

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<typename _Scalar , int _dim, int _Options>
friend class boost::serialization::access
friend

◆ operator<<

template<typename _Scalar , int _dim, int _Options>
std::ostream & operator<< ( std::ostream &  os,
const SecondOrderCone< _Scalar, _dim, _Options > &  C 
)
friend

Member Data Documentation

◆ m_direction

template<typename _Scalar , int _dim, int _Options>
VectorD multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::m_direction
protected

Direction of the cone.

◆ m_Pd

template<typename _Scalar , int _dim, int _Options>
MatrixD multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::m_Pd
protected

Projector along the direction of d.

◆ m_Po

template<typename _Scalar , int _dim, int _Options>
MatrixD multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::m_Po
protected

Projector orthogonal to d.

◆ m_Q

template<typename _Scalar , int _dim, int _Options>
MatrixD multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::m_Q
protected

Cholesky decomposition matrix reprensenting the conic norm.

◆ m_QPo

template<typename _Scalar , int _dim, int _Options>
MatrixD multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::m_QPo
protected

Cholesky decomposition projected on the orthogonal of m_direction.


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