Choreonoid
1.8
src
BodyPlugin
LinkShapeOverwriteItem.h
Go to the documentation of this file.
1
#ifndef CNOID_BODY_PLUGIN_LINK_SHAPE_OVERWRITE_ITEM_H
2
#define CNOID_BODY_PLUGIN_LINK_SHAPE_OVERWRITE_ITEM_H
3
4
#include "
BodyElementOverwriteItem.h
"
5
#include <cnoid/LocatableItem>
6
#include <cnoid/RenderableItem>
7
#include "exportdecl.h"
8
9
namespace
cnoid
{
10
11
class
Link;
12
class
SgShape;
13
14
class
CNOID_EXPORT
LinkShapeOverwriteItem
:
public
BodyElementOverwriteItem
,
15
public
LocatableItem
,
public
RenderableItem
16
{
17
public
:
18
static
void
initializeClass(
ExtensionManager
* ext);
19
20
LinkShapeOverwriteItem
();
21
LinkShapeOverwriteItem
(
const
LinkShapeOverwriteItem
& org);
22
virtual
~
LinkShapeOverwriteItem
();
23
28
bool
overwriteLinkShape(
BodyItem
* bodyItem,
Link
* link);
29
30
Link
* link();
31
32
SgShape
* shapeNode();
33
void
setShapeNode(
SgShape
* shape);
34
35
Isometry3
shapeOffset()
const
;
36
void
setShapeOffset(
const
Isometry3
& T);
37
38
void
cancelOverwriting();
39
40
// LocatableItem function
41
virtual
LocationProxyPtr
getLocationProxy()
override
;
42
43
// RenderableItem function. This returns the link origin marker.
44
virtual
SgNode
* getScene()
override
;
45
46
class
Impl;
47
48
protected
:
49
virtual
Item
* doDuplicate(
Item
* duplicatedParentItem)
const override
;
50
void
onDisconnectedFromBodyItem()
override
;
51
virtual
void
doPutProperties(
PutPropertyFunction
& putProperty)
override
;
52
virtual
bool
store(
Archive
& archive)
override
;
53
virtual
bool
restore(
const
Archive
& archive)
override
;
54
55
private
:
56
Impl* impl;
57
58
class
FileIO;
59
};
60
61
typedef
ref_ptr<LinkShapeOverwriteItem>
LinkShapeOverwriteItemPtr
;
62
63
}
64
65
#endif
cnoid::LinkShapeOverwriteItemPtr
ref_ptr< LinkShapeOverwriteItem > LinkShapeOverwriteItemPtr
Definition:
LinkShapeOverwriteItem.h:61
cnoid::ExtensionManager
Definition:
ExtensionManager.h:23
cnoid::PutPropertyFunction
Definition:
PutPropertyFunction.h:51
BodyElementOverwriteItem.h
cnoid::Isometry3
Eigen::Isometry3d Isometry3
Definition:
EigenTypes.h:73
cnoid::Archive
Definition:
Archive.h:22
cnoid::LinkShapeOverwriteItem
Definition:
LinkShapeOverwriteItem.h:14
cnoid::ref_ptr< LocationProxy >
cnoid::BodyItem
Definition:
BodyItem.h:28
cnoid
Definition:
AbstractSceneLoader.h:11
cnoid::Item
Definition:
Item.h:29
cnoid::RenderableItem
Definition:
RenderableItem.h:11
cnoid::SgShape
Definition:
SceneDrawables.h:530
cnoid::BodyElementOverwriteItem
Definition:
BodyElementOverwriteItem.h:15
cnoid::Link
Definition:
Link.h:26
cnoid::SgNode
Definition:
SceneGraph.h:157
cnoid::LocatableItem
Definition:
LocatableItem.h:62
Generated by
1.8.17