motioncmd.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2019 Pilz GmbH & Co. KG
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * * Redistributions in binary form must reproduce the above
14  * copyright notice, this list of conditions and the following
15  * disclaimer in the documentation and/or other materials provided
16  * with the distribution.
17  * * Neither the name of Pilz GmbH & Co. KG nor the names of its
18  * contributors may be used to endorse or promote products derived
19  * from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32  * POSSIBILITY OF SUCH DAMAGE.
33  *********************************************************************/
34 
35 #ifndef MOTIONCMD_H
36 #define MOTIONCMD_H
37 
38 #include <string>
39 #include <memory>
40 
42 
44 {
48 class MotionCmd : public MotionPlanRequestConvertible
49 {
50 public:
51  MotionCmd() : MotionPlanRequestConvertible()
52  {
53  }
54 
55 public:
56  void setPlanningGroup(const std::string& planning_group);
57  const std::string& getPlanningGroup() const;
58 
59  void setVelocityScale(double velocity_scale);
60  void setAccelerationScale(double acceleration_scale);
61 
62 protected:
63  std::string planning_group_;
65  std::string target_link_;
66  double vel_scale_{ 1.0 };
67  double acc_scale_{ 1.0 };
68 };
69 
70 inline void MotionCmd::setPlanningGroup(const std::string& planning_group)
71 {
72  planning_group_ = planning_group;
73 }
74 
75 inline const std::string& MotionCmd::getPlanningGroup() const
76 {
77  return planning_group_;
78 }
79 
80 inline void MotionCmd::setVelocityScale(double velocity_scale)
81 {
82  vel_scale_ = velocity_scale;
83 }
84 
85 inline void MotionCmd::setAccelerationScale(double acceleration_scale)
86 {
87  acc_scale_ = acceleration_scale;
88 }
89 
90 using MotionCmdUPtr = std::unique_ptr<MotionCmd>;
91 } // namespace pilz_industrial_motion_planner_testutils
92 
93 #endif // MOTIONCMD_H
pilz_industrial_motion_planner_testutils::MotionCmd::planning_group_
std::string planning_group_
Definition: motioncmd.h:127
pilz_industrial_motion_planner_testutils::MotionCmd::target_link_
std::string target_link_
Link to which all cartesian poses refer to.
Definition: motioncmd.h:129
motionplanrequestconvertible.h
pilz_industrial_motion_planner_testutils
Definition: basecmd.h:42
pilz_industrial_motion_planner_testutils::MotionCmd::vel_scale_
double vel_scale_
Definition: motioncmd.h:130
pilz_industrial_motion_planner_testutils::MotionCmd::setVelocityScale
void setVelocityScale(double velocity_scale)
Definition: motioncmd.h:112
pilz_industrial_motion_planner_testutils::MotionCmd::setPlanningGroup
void setPlanningGroup(const std::string &planning_group)
Definition: motioncmd.h:102
pilz_industrial_motion_planner_testutils::MotionCmd::getPlanningGroup
const std::string & getPlanningGroup() const
Definition: motioncmd.h:107
pilz_industrial_motion_planner_testutils::MotionCmd::acc_scale_
double acc_scale_
Definition: motioncmd.h:131
pilz_industrial_motion_planner_testutils::MotionCmdUPtr
std::unique_ptr< MotionCmd > MotionCmdUPtr
Definition: motioncmd.h:122
pilz_industrial_motion_planner_testutils::MotionCmd::MotionCmd
MotionCmd()
Definition: motioncmd.h:115
pilz_industrial_motion_planner_testutils::MotionCmd::setAccelerationScale
void setAccelerationScale(double acceleration_scale)
Definition: motioncmd.h:117


pilz_industrial_motion_planner_testutils
Author(s):
autogenerated on Sat May 3 2025 02:28:27