Drake
Drake C++ Documentation
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. More...
 
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]

CSpaceSeparatingPlane ( const CSpaceSeparatingPlane< T > &  )
default

◆ CSpaceSeparatingPlane() [2/3]

◆ CSpaceSeparatingPlane() [3/3]

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()

const CIrisCollisionGeometry* geometry ( PlaneSide  plane_side) const

Return the geometry on the specified side.

◆ geometry_pair()

SortedPair<geometry::GeometryId> geometry_pair ( ) const

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Member Data Documentation

◆ a

◆ b

◆ decision_variables

VectorX<T> decision_variables

◆ expressed_body

multibody::BodyIndex expressed_body

◆ negative_side_geometry

const CIrisCollisionGeometry* negative_side_geometry

◆ plane_degree

int plane_degree {1}

◆ positive_side_geometry

const CIrisCollisionGeometry* positive_side_geometry

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