Drake
Drake C++ Documentation
Loading...
Searching...
No Matches
CSpaceSeparatingPlane< T > Struct Template Reference

Detailed Description

template<typename T>
struct drake::geometry::optimization::CSpaceSeparatingPlane< T >

Wraps the information that a pair of collision geometries are separated by a plane.

One collision geometry is on the "positive" side of the separating plane, namely {x| aᵀx + b ≥ δ} (with δ ≥ 0}, and the other collision geometry is on the "negative" side of the separating plane, namely {x|aᵀx+b ≤ −δ}.

Template Parameters
TThe type of decision_variables. T= symbolic::Variable or double.

#include <drake/geometry/optimization/cspace_separating_plane.h>

Public Member Functions

 CSpaceSeparatingPlane (Vector3< symbolic::Polynomial > m_a, symbolic::Polynomial m_b, const CIrisCollisionGeometry *m_positive_side_geometry, const CIrisCollisionGeometry *m_negative_side_geometry, multibody::BodyIndex m_expressed_body, int m_plane_degree, const Eigen::Ref< const VectorX< T > > &m_decision_variables)
const CIrisCollisionGeometrygeometry (PlaneSide plane_side) const
 Return the geometry on the specified side.
SortedPair< geometry::GeometryIdgeometry_pair () const
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 CSpaceSeparatingPlane (const CSpaceSeparatingPlane &)=default
CSpaceSeparatingPlaneoperator= (const CSpaceSeparatingPlane &)=default
 CSpaceSeparatingPlane (CSpaceSeparatingPlane &&)=default
CSpaceSeparatingPlaneoperator= (CSpaceSeparatingPlane &&)=default

Public Attributes

Vector3< symbolic::Polynomiala
symbolic::Polynomial b
const CIrisCollisionGeometrypositive_side_geometry
const CIrisCollisionGeometrynegative_side_geometry
multibody::BodyIndex expressed_body
int plane_degree {1}
VectorX< T > decision_variables

Constructor & Destructor Documentation

◆ CSpaceSeparatingPlane() [1/3]

template<typename T>
CSpaceSeparatingPlane ( const CSpaceSeparatingPlane< T > & )
default

◆ CSpaceSeparatingPlane() [2/3]

template<typename T>
CSpaceSeparatingPlane ( CSpaceSeparatingPlane< T > && )
default

◆ CSpaceSeparatingPlane() [3/3]

template<typename T>
CSpaceSeparatingPlane ( Vector3< symbolic::Polynomial > m_a,
symbolic::Polynomial m_b,
const CIrisCollisionGeometry * m_positive_side_geometry,
const CIrisCollisionGeometry * m_negative_side_geometry,
multibody::BodyIndex m_expressed_body,
int m_plane_degree,
const Eigen::Ref< const VectorX< T > > & m_decision_variables )

Member Function Documentation

◆ geometry()

template<typename T>
const CIrisCollisionGeometry * geometry ( PlaneSide plane_side) const
nodiscard

Return the geometry on the specified side.

◆ geometry_pair()

template<typename T>
SortedPair< geometry::GeometryId > geometry_pair ( ) const
nodiscard

◆ operator=() [1/2]

template<typename T>
CSpaceSeparatingPlane & operator= ( const CSpaceSeparatingPlane< T > & )
default

◆ operator=() [2/2]

template<typename T>
CSpaceSeparatingPlane & operator= ( CSpaceSeparatingPlane< T > && )
default

Member Data Documentation

◆ a

template<typename T>
Vector3<symbolic::Polynomial> a

◆ b

template<typename T>
symbolic::Polynomial b

◆ decision_variables

template<typename T>
VectorX<T> decision_variables

◆ expressed_body

template<typename T>
multibody::BodyIndex expressed_body

◆ negative_side_geometry

template<typename T>
const CIrisCollisionGeometry* negative_side_geometry

◆ plane_degree

template<typename T>
int plane_degree {1}

◆ positive_side_geometry

template<typename T>
const CIrisCollisionGeometry* positive_side_geometry

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