gepetto-viewer 6.0.0
An user-friendly Graphical Interface
Loading...
Searching...
No Matches
leaf-node-box.h
Go to the documentation of this file.
1//
2// leaf-node-box.h
3// gepetto-viewer
4//
5// Created by Justin Carpentier, Mathieu Geisert in November 2014.
6// Copyright (c) 2014 LAAS-CNRS. All rights reserved.
7//
8
9#ifndef GEPETTO_VIEWER_LEAFNODEBOX_HH
10#define GEPETTO_VIEWER_LEAFNODEBOX_HH
11
13
14namespace gepetto {
15namespace viewer {
16DEF_CLASS_SMART_PTR(LeafNodeBox)
17
18
19class LeafNodeBox : public NodeDrawable {
20 private:
22 LeafNodeBoxWeakPtr weak_ptr_;
23
25 ::osg::BoxRefPtr box_ptr_;
26
27 void init();
28
29 /* Default constructor */
30 LeafNodeBox(const std::string &name, const osgVector3 &half_axis);
31 LeafNodeBox(const std::string &name, const osgVector3 &half_axis,
32 const osgVector4 &color);
33
34 /* Copy constructor */
35 LeafNodeBox(const LeafNodeBox &other);
36
38 void initWeakPtr(LeafNodeBoxWeakPtr other_weak_ptr);
39
40 protected:
41 public:
44 static LeafNodeBoxPtr_t create(const std::string &name,
45 const osgVector3 &half_axis);
46 static LeafNodeBoxPtr_t create(const std::string &name,
47 const osgVector3 &half_axis,
48 const osgVector4 &color);
49
52 static LeafNodeBoxPtr_t createCopy(LeafNodeBoxPtr_t other);
53
56 virtual LeafNodeBoxPtr_t clone(void) const;
57
61 virtual NodePtr_t copy() const { return clone(); }
62
65 LeafNodeBoxPtr_t self(void) const;
66
70 void setHalfAxis(const osgVector3 &half_axis);
71
72 osgVector3 getHalfAxis() const { return box_ptr_->getHalfLengths(); }
73
75
77 virtual ~LeafNodeBox();
78};
79} /* namespace viewer */
80} /* namespace gepetto */
81
82#endif /* GEPETTO_VIEWER_LEAFNODEBOX_HH */
Definition leaf-node-box.h:19
virtual LeafNodeBoxPtr_t clone(void) const
osgVector3 getHalfAxis() const
Definition leaf-node-box.h:72
LeafNodeBoxPtr_t self(void) const
static LeafNodeBoxPtr_t createCopy(LeafNodeBoxPtr_t other)
SCENE_VIEWER_ACCEPT_VISITOR
Definition leaf-node-box.h:74
virtual NodePtr_t copy() const
Proceed to a copy of the currend object as clone.
Definition leaf-node-box.h:61
static LeafNodeBoxPtr_t create(const std::string &name, const osgVector3 &half_axis)
void setHalfAxis(const osgVector3 &half_axis)
static LeafNodeBoxPtr_t create(const std::string &name, const osgVector3 &half_axis, const osgVector4 &color)
Definition node-drawable.h:19
::osg::Vec3f osgVector3
Definition config-osg.h:99
::osg::Vec4f osgVector4
Definition config-osg.h:100
#define DEF_CLASS_SMART_PTR(className)
Definition macros.h:51
Definition action-search-bar.hh:27