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 <memory>
32 #include <optional>
33 #include <boost/serialization/export.hpp>
35 
38 
39 namespace boost::serialization
40 {
41 class access;
42 }
43 
44 namespace tesseract_environment
45 {
48 
50 {
51 public:
52  using Ptr = std::shared_ptr<ChangeCollisionMarginsCommand>;
53  using ConstPtr = std::shared_ptr<const ChangeCollisionMarginsCommand>;
54 
56 
57  ChangeCollisionMarginsCommand(double default_margin);
58 
60  CollisionMarginPairData pair_margins,
61  CollisionMarginPairOverrideType pair_override_type = CollisionMarginPairOverrideType::MODIFY);
62 
64  double default_margin,
65  CollisionMarginPairData pair_margins,
66  CollisionMarginPairOverrideType pair_override_type = CollisionMarginPairOverrideType::MODIFY);
67 
68  std::optional<double> getDefaultCollisionMargin() const;
71 
72  bool operator==(const ChangeCollisionMarginsCommand& rhs) const;
73  bool operator!=(const ChangeCollisionMarginsCommand& rhs) const;
74 
75 private:
76  std::optional<double> default_margin_;
79 
82 
83  template <class Archive>
84  void load(Archive& ar, const unsigned int version); // NOLINT
85 
86  template <class Archive>
87  void save(Archive& ar, const unsigned int version) const; // NOLINT
88 
89  template <class Archive>
90  void serialize(Archive& ar, const unsigned int version); // NOLINT
91 };
92 } // namespace tesseract_environment
93 
95 #endif // TESSERACT_ENVIRONMENT_CHANGE_COLLISION_MARGINS_COMMAND_H
tesseract_environment::Command::Ptr
std::shared_ptr< Command > Ptr
Definition: command.h:86
tesseract_environment::ChangeCollisionMarginsCommand::save
void save(Archive &ar, const unsigned int version) const
Definition: change_collision_margins_command.cpp:113
tesseract_environment
Definition: command.h:45
tesseract_environment::ChangeCollisionMarginsCommand::default_margin_
std::optional< double > default_margin_
Definition: change_collision_margins_command.h:76
tesseract_environment::ChangeCollisionMarginsCommand::operator==
bool operator==(const ChangeCollisionMarginsCommand &rhs) const
Definition: change_collision_margins_command.cpp:76
tesseract_environment::ChangeCollisionMarginsCommand::ChangeCollisionMarginsCommand
ChangeCollisionMarginsCommand()
Definition: change_collision_margins_command.cpp:38
tesseract_environment::Command
Definition: command.h:83
tesseract_environment::ChangeCollisionMarginsCommand::pair_override_type_
CollisionMarginPairOverrideType pair_override_type_
Definition: change_collision_margins_command.h:78
tesseract_environment::ChangeCollisionMarginsCommand::load
void load(Archive &ar, const unsigned int version)
Definition: change_collision_margins_command.cpp:97
collision_margin_data.h
tesseract_environment::ChangeCollisionMarginsCommand::access
friend class boost::serialization::access
Definition: change_collision_margins_command.h:80
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
tesseract_environment::ChangeCollisionMarginsCommand::getDefaultCollisionMargin
std::optional< double > getDefaultCollisionMargin() const
Definition: change_collision_margins_command.cpp:63
tesseract_common::Serialization
tesseract_environment::ChangeCollisionMarginsCommand::operator!=
bool operator!=(const ChangeCollisionMarginsCommand &rhs) const
Definition: change_collision_margins_command.cpp:91
tesseract_environment::ChangeCollisionMarginsCommand::getCollisionMarginPairOverrideType
CollisionMarginPairOverrideType getCollisionMarginPairOverrideType() const
Definition: change_collision_margins_command.cpp:71
command.h
This contains classes for recording operations applied to the environment for tracking changes....
tesseract_common::CollisionMarginPairOverrideType
CollisionMarginPairOverrideType
tesseract_environment::ChangeCollisionMarginsCommand
Definition: change_collision_margins_command.h:49
tesseract_environment::ChangeCollisionMarginsCommand::getCollisionMarginPairData
CollisionMarginPairData getCollisionMarginPairData() const
Definition: change_collision_margins_command.cpp:65
boost::serialization
TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_environment::ChangeCollisionMarginsCommand::pair_margins_
CollisionMarginPairData pair_margins_
Definition: change_collision_margins_command.h:77
tesseract_common::CollisionMarginPairData
tesseract_environment::Command::ConstPtr
std::shared_ptr< const Command > ConstPtr
Definition: command.h:87
macros.h
tesseract_environment::ChangeCollisionMarginsCommand::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: change_collision_margins_command.cpp:129
tesseract_common::CollisionMarginPairOverrideType::NONE
@ NONE


tesseract_environment
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:02:21