JointVisual.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 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_RENDERING_JOINTVISUAL_HH_
19#define GAZEBO_RENDERING_JOINTVISUAL_HH_
20
21#include <string>
22
23#include <ignition/math/Pose3.hh>
24
25#include "gazebo/msgs/MessageTypes.hh"
27#include "gazebo/util/system.hh"
28
29namespace gazebo
30{
31 namespace rendering
32 {
35
38 class GZ_RENDERING_VISIBLE JointVisual : public Visual
39 {
43 public: JointVisual(const std::string &_name, VisualPtr _vis);
44
46 public: virtual ~JointVisual();
47
50 public: void Load(ConstJointPtr &_msg);
51 using Visual::Load;
52
54 public: virtual void Fini();
55
62 public: void Load(ConstJointPtr &_msg,
63 const ignition::math::Pose3d &_worldPose);
64
71 public: ArrowVisualPtr CreateAxis(const ignition::math::Vector3d &_axis,
72 const bool _useParentFrame, const msgs::Joint::Type &_type);
73
74 // Documentation Inherited.
75 public: virtual void SetVisible(bool _visible, bool _cascade = true);
76
79 public: void UpdateFromMsg(ConstJointPtr &_msg);
80
87 public: void UpdateAxis(ArrowVisualPtr _arrowVisual,
88 const ignition::math::Vector3d &_axis, const bool _useParentFrame,
89 const msgs::Joint::Type &_type);
90
94
99 };
101 }
102}
103#endif
rendering
Definition RenderEngine.hh:31
Visualization for joints.
Definition JointVisual.hh:39
void Load(ConstJointPtr &_msg, const ignition::math::Pose3d &_worldPose)
virtual void Fini()
Documentation Inherited.
void UpdateFromMsg(ConstJointPtr &_msg)
Update the joint visual based on a message.
void UpdateAxis(ArrowVisualPtr _arrowVisual, const ignition::math::Vector3d &_axis, const bool _useParentFrame, const msgs::Joint::Type &_type)
Update an axis' arrow visual.
void Load(ConstJointPtr &_msg)
Load the joint visual based on a message.
JointVisual(const std::string &_name, VisualPtr _vis)
Constructor.
ArrowVisualPtr GetArrowVisual() const
Get the arrow visual which represents the axis attached to the child link.
ArrowVisualPtr CreateAxis(const ignition::math::Vector3d &_axis, const bool _useParentFrame, const msgs::Joint::Type &_type)
Create an axis and attach it to the joint visual.
virtual ~JointVisual()
Destructor.
JointVisualPtr GetParentAxisVisual() const
Get the JointVisual which is attached to the parent link.
virtual void SetVisible(bool _visible, bool _cascade=true)
Set whether the visual is visible.
A renderable object.
Definition Visual.hh:61
virtual void Load()
Load the visual with default parameters.
std::shared_ptr< JointVisual > JointVisualPtr
Definition RenderTypes.hh:142
std::shared_ptr< Visual > VisualPtr
Definition RenderTypes.hh:114
std::shared_ptr< ArrowVisual > ArrowVisualPtr
Definition RenderTypes.hh:150
Forward declarations for the common classes.
Definition Animation.hh:27