Go to the documentation of this file.
28 #ifndef TESSERACT_COMMON_COLLISION_MARGIN_DATA_H
29 #define TESSERACT_COMMON_COLLISION_MARGIN_DATA_H
33 #include <boost/serialization/export.hpp>
36 #include <unordered_map>
66 std::unordered_map<tesseract_common::LinkNamesPair, double, tesseract_common::PairHash>;
71 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
84 void setCollisionMargin(
const std::string& obj1,
const std::string& obj2,
double margin);
95 std::optional<double>
getCollisionMargin(
const std::string& obj1,
const std::string& obj2)
const;
154 template <
class Archive>
155 void serialize(Archive& ar,
const unsigned int version);
162 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
164 using Ptr = std::shared_ptr<CollisionMarginData>;
165 using ConstPtr = std::shared_ptr<const CollisionMarginData>;
193 void setCollisionMargin(
const std::string& obj1,
const std::string& obj2,
double collision_margin);
252 template <
class Archive>
253 void serialize(Archive& ar,
const unsigned int version);
259 #endif // TESSERACT_COMMON_COLLISION_MARGIN_DATA_H
void setCollisionMargin(const std::string &obj1, const std::string &obj2, double collision_margin)
Set the margin for a given contact pair.
double getMaxCollisionMargin() const
Get the largest collision margin.
std::optional< double > getCollisionMargin(const std::string &obj1, const std::string &obj2) const
Get the pairs collision margin data.
@ REPLACE
Replace the contact manager's CollisionMarginPairData.
const CollisionMarginPairData & getCollisionMarginPairData() const
Get Collision Margin Data for stored pairs.
std::shared_ptr< const CollisionMarginData > ConstPtr
EIGEN_MAKE_ALIGNED_OPERATOR_NEW CollisionMarginPairData()=default
@ MODIFY
Modify the contact managers pair margins.
const PairsCollisionMarginData & getCollisionMargins() const
Get Collision Margin Data for stored pairs.
bool empty() const
Check if empty.
PairsCollisionMarginData lookup_table_
A map of link pair names to contact distance.
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
friend class boost::serialization::access
double getDefaultCollisionMargin() const
Get the default collision margin.
Stores information about how the margins allowed between collision objects.
void updateCollisionMarginMax()
Recalculate the max margin.
std::shared_ptr< CollisionMarginData > Ptr
double getCollisionMargin(const std::string &obj1, const std::string &obj2) const
Get the pairs collision margin data.
void setCollisionMargin(const std::string &obj1, const std::string &obj2, double margin)
Set the margin for a given contact pair.
bool operator!=(const CollisionMarginPairData &rhs) const
Common Tesseract Utility Functions.
void scaleMargins(double scale)
Scale all margins by input value.
CollisionMarginPairOverrideType
Identifies how the provided contact margin data should be applied.
double getMaxCollisionMargin() const
Get the largest pair collision margin.
bool operator!=(const CollisionMarginData &rhs) const
CollisionMarginData(double default_collision_margin=0)
void serialize(Archive &ar, const unsigned int version)
void apply(const CollisionMarginPairData &pair_margin_data, CollisionMarginPairOverrideType override_type)
Apply the contents of the provide CollisionMarginPairData based on the override type.
CollisionMarginPairData pair_margins_
A map of link pair names to contact distance.
void apply(const CollisionMarginPairData &pair_margin_data, CollisionMarginPairOverrideType override_type)
Apply the contents of the provide CollisionMarginPairData based on the override type.
void incrementMargins(double increment)
Increment all margins by input amount. Useful for inflating or reducing margins.
void incrementMargins(double increment)
Increment all margins by input amount. Useful for inflating or reducing margins.
double default_collision_margin_
Stores the collision margin used if no pair-specific one is set.
void scaleMargins(double scale)
Scale all margins by input value.
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
void serialize(Archive &ar, const unsigned int version)
void setDefaultCollisionMargin(double default_collision_margin)
Set the default collision margin.
void clear()
Clear/Reset the data structure.
double max_collision_margin_
Stores the largest collision margin.
friend class boost::serialization::access
bool operator==(const CollisionMarginPairData &rhs) const
bool operator==(const CollisionMarginData &rhs) const
std::unordered_map< tesseract_common::LinkNamesPair, double, tesseract_common::PairHash > PairsCollisionMarginData
@ NONE
Do not apply contact margin data.
tesseract_common
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:40