multicontact-api 4.1.0
API to define and store Contact phases and Contact Sequences
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 Scalarfactor ) 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>
SecondOrderCone multicontact_api::geometry::SecondOrderCone< _Scalar, _dim, _Options >::RegularCone(const Scalarmu,
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

◆ 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: