Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
change_collision_margins_command.h
Go to the documentation of this file.
1
26#ifndef TESSERACT_ENVIRONMENT_CHANGE_COLLISION_MARGINS_COMMAND_H
27#define TESSERACT_ENVIRONMENT_CHANGE_COLLISION_MARGINS_COMMAND_H
28
31#include <boost/serialization/access.hpp>
32#include <memory>
33#include <unordered_map>
35
38
40{
44
46{
47public:
48 using Ptr = std::shared_ptr<ChangeCollisionMarginsCommand>;
49 using ConstPtr = std::shared_ptr<const ChangeCollisionMarginsCommand>;
50
52
54 double default_margin,
55 CollisionMarginOverrideType override_type = CollisionMarginOverrideType::OVERRIDE_DEFAULT_MARGIN);
56
58 PairsCollisionMarginData pairs_margin,
59 CollisionMarginOverrideType override_type = CollisionMarginOverrideType::OVERRIDE_PAIR_MARGIN);
60
62 CollisionMarginOverrideType override_type = CollisionMarginOverrideType::REPLACE);
63
66
67 bool operator==(const ChangeCollisionMarginsCommand& rhs) const;
68 bool operator!=(const ChangeCollisionMarginsCommand& rhs) const;
69
70private:
72 CollisionMarginOverrideType collision_margin_override_{ CollisionMarginOverrideType::OVERRIDE_DEFAULT_MARGIN };
73
75 template <class Archive>
76 void serialize(Archive& ar, const unsigned int version); // NOLINT
77};
78} // namespace tesseract_environment
79
80#include <boost/serialization/export.hpp>
81#include <boost/serialization/tracking.hpp>
82BOOST_CLASS_EXPORT_KEY2(tesseract_environment::ChangeCollisionMarginsCommand, "ChangeCollisionMarginsCommand")
83#endif // TESSERACT_ENVIRONMENT_CHANGE_COLLISION_MARGINS_COMMAND_H
Stores information about how the margins allowed between collision objects.
Definition: collision_margin_data.h:74
Definition: change_collision_margins_command.h:46
ChangeCollisionMarginsCommand()
Definition: change_collision_margins_command.cpp:39
bool operator!=(const ChangeCollisionMarginsCommand &rhs) const
Definition: change_collision_margins_command.cpp:82
void serialize(Archive &ar, const unsigned int version)
Definition: change_collision_margins_command.cpp:88
tesseract_common::CollisionMarginData getCollisionMarginData() const
Definition: change_collision_margins_command.cpp:65
CollisionMarginOverrideType collision_margin_override_
Definition: change_collision_margins_command.h:72
bool operator==(const ChangeCollisionMarginsCommand &rhs) const
Definition: change_collision_margins_command.cpp:74
std::shared_ptr< ChangeCollisionMarginsCommand > Ptr
Definition: change_collision_margins_command.h:48
friend class boost::serialization::access
Definition: change_collision_margins_command.h:74
std::shared_ptr< const ChangeCollisionMarginsCommand > ConstPtr
Definition: change_collision_margins_command.h:49
CollisionMarginData collision_margin_data_
Definition: change_collision_margins_command.h:71
tesseract_common::CollisionMarginOverrideType getCollisionMarginOverrideType() const
Definition: change_collision_margins_command.cpp:69
Definition: command.h:76
This is used to store collision margin information.
default_margin
Definition: collision_margin_data_unit.cpp:70
This contains classes for recording operations applied to the environment for tracking changes....
Common Tesseract Macros.
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
std::unordered_map< tesseract_common::LinkNamesPair, double, tesseract_common::PairHash > PairsCollisionMarginData
Definition: collision_margin_data.h:70
CollisionMarginOverrideType
Identifies how the provided contact margin data should be applied.
Definition: collision_margin_data.h:46
Definition: command.h:39
tesseract_common::PairsCollisionMarginData PairsCollisionMarginData
Definition: change_collision_margins_command.h:43