38 #include <OgreVector3.h> 39 #include <OgreQuaternion.h> 64 class TransformListener;
98 virtual void load(
const urdf::ModelInterface &
urdf,
bool visual =
true,
bool collision =
true );
103 virtual void clear();
111 virtual void setVisible(
bool visible );
117 void setVisualVisible(
bool visible );
123 void setCollisionVisible(
bool visible );
133 bool isVisualVisible();
138 bool isCollisionVisible();
140 void setAlpha(
float a);
144 RobotLink* getLink(
const std::string& name );
145 RobotJoint* getJoint(
const std::string& name );
149 const M_NameToLink&
getLinks()
const {
return links_; }
150 const M_NameToJoint&
getJoints()
const {
return joints_; }
152 const std::string&
getName() {
return name_; }
160 virtual void setPosition(
const Ogre::Vector3& position );
161 virtual void setOrientation(
const Ogre::Quaternion& orientation );
162 virtual void setScale(
const Ogre::Vector3& scale );
163 virtual const Ogre::Vector3& getPosition();
164 virtual const Ogre::Quaternion& getOrientation();
171 const urdf::LinkConstSharedPtr& link,
172 const std::string& parent_joint_name,
176 const urdf::JointConstSharedPtr& joint);
193 STYLE_DEFAULT = STYLE_LINK_LIST,
196 STYLE_JOINT_LINK_TREE
209 void calculateJointCheckboxes();
212 void changedLinkTreeStyle();
213 void changedExpandTree();
214 void changedHideSubProperties();
215 void changedEnableAllLinks();
216 void changedExpandLinkDetails();
217 void changedExpandJointDetails();
221 void updateLinkVisibilities();
225 void unparentLinkProperties();
228 void useDetailProperty(
bool use_detail);
235 void setEnableAllLinksCheckbox(QVariant val);
238 void initLinkTreeStyle();
std::map< std::string, RobotLink * > M_NameToLink
M_NameToJoint joints_
Map of name to joint info, stores all loaded joints.
std::map< std::string, RobotJoint * > M_NameToJoint
Ogre::SceneNode * getOtherNode()
A single element of a property tree, with a name, value, description, and possibly children...
Ogre::SceneManager * getSceneManager()
BoolProperty * expand_joint_details_
LinkFactory * link_factory_
factory for generating links and joints
const M_NameToLink & getLinks() const
RobotLink * getRootLink()
void update(const std::string &key, const XmlRpc::XmlRpcValue &v)
std::map< LinkTreeStyle, std::string > style_name_map_
const std::string & getName()
Ogre::SceneNode * getCollisionNode()
bool visual_visible_
Should we show the visual representation?
Pure-virtual base class for objects which give Display subclasses context in which to work...
Ogre::SceneNode * root_visual_node_
Node all our visual nodes are children of.
TFSIMD_FORCE_INLINE Vector3()
BoolProperty * enable_all_links_
BoolProperty * expand_tree_
Property * getLinkTreeProperty()
Contains any data we need from a joint in the robot.
const M_NameToJoint & getJoints() const
Ogre::SceneManager * scene_manager_
Ogre::SceneNode * getVisualNode()
Contains any data we need from a link in the robot.
bool visible_
Should we show anything at all? (affects visual, collision, axes, and trails)
bool inChangedEnableAllLinks
BoolProperty * expand_link_details_
Property specialized to provide getter for booleans.
EnumProperty * link_tree_style_
Ogre::SceneNode * root_other_node_
DisplayContext * context_
bool collision_visible_
Should we show the collision representation?
Ogre::SceneNode * root_collision_node_
Node all our collision nodes are children of.
M_NameToLink links_
Map of name to link info, stores all loaded links.
DisplayContext * getDisplayContext()