ApplyWrenchVisual.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 
18 #ifndef _GAZEBO_APPLYWRENCHVISUAL_HH_
19 #define _GAZEBO_APPLYWRENCHVISUAL_HH_
20 
21 #include <string>
22 
24 
25 namespace gazebo
26 {
27  namespace rendering
28  {
31 
35  {
38  public: enum Mode
39  {
41  NONE = 0,
43  FORCE = 1,
45  TORQUE = 2
46  };
47 
51  public: ApplyWrenchVisual(const std::string &_name, VisualPtr _parentVis);
52 
54  public: virtual ~ApplyWrenchVisual();
55 
56  // Documentation inherited.
57  public: void Load();
58 
59  // Documentation inherited.
60  public: virtual void Fini();
61 
65  public: void SetCoM(const ignition::math::Vector3d &_comVector);
66 
70  public: void SetForcePos(const ignition::math::Vector3d &_forcePosVector);
71 
76  public: void SetForce(const ignition::math::Vector3d &_forceVector,
77  const bool _rotatedByMouse);
78 
83  public: void SetTorque(const ignition::math::Vector3d &_torqueVector,
84  const bool _rotatedByMouse);
85 
88  public: void UpdateForceVisual();
89 
92  public: void UpdateTorqueVisual();
93 
95  public: void Resize();
96 
100 
104 
108 
112  public: void SetMode(Mode _mode);
113  };
115  }
116 }
117 #endif
void Load()
Load the visual with default parameters.
void SetForcePos(const ignition::math::Vector3d &_forcePosVector)
Set the force position vector and update the position of the force visual.
virtual ~ApplyWrenchVisual()
Destructor.
void SetMode(Mode _mode)
Set the mode to force, torque or none, update colors and visibility accordingly.
void UpdateForceVisual()
Update the force visual according to the force and force position vectors.
Forward declarations for the common classes.
Definition: Animation.hh:27
void SetCoM(const ignition::math::Vector3d &_comVector)
Set the CoM vector and update the position of the torque visual.
rendering::VisualPtr GetForceVisual() const
Returns the force visual.
rendering::SelectionObjPtr GetRotTool() const
Returns the rotation tool.
std::shared_ptr< SelectionObj > SelectionObjPtr
Definition: RenderTypes.hh:190
rendering
Definition: RenderEngine.hh:31
rendering::VisualPtr GetTorqueVisual() const
Returns the torque visual.
A renderable object.
Definition: Visual.hh:61
ApplyWrenchVisual(const std::string &_name, VisualPtr _parentVis)
Constructor.
void SetForce(const ignition::math::Vector3d &_forceVector, const bool _rotatedByMouse)
Update force vector, force text and mode.
virtual void Fini()
Helper for the destructor.
Mode
Definition: ApplyWrenchVisual.hh:39
void UpdateTorqueVisual()
Update the torque visual according to the torque and CoM vectors.
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:114
void SetTorque(const ignition::math::Vector3d &_torqueVector, const bool _rotatedByMouse)
Update torque vector, torque text and mode.
Visualization for the apply wrench GUI.
Definition: ApplyWrenchVisual.hh:35
#define GAZEBO_VISIBLE
Definition: system.hh:59
void Resize()
Resize all children according to target link's size.