Choreonoid  1.5
MultiPointSetItem.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_PCL_PLUGIN_MULTI_POINT_SET_ITEM_H
6 #define CNOID_PCL_PLUGIN_MULTI_POINT_SET_ITEM_H
7 
8 #include <cnoid/PointSetItem>
9 #include "exportdecl.h"
10 
11 namespace cnoid {
12 
13 class MultiPointSetItemImpl;
14 
16 {
17 public:
18  static void initializeClass(ExtensionManager* ext);
19 
22  virtual ~MultiPointSetItem();
23 
24  void setRenderingMode(int mode);
25  int renderingMode() const;
26 
27  void setPointSize(double size);
28  double pointSize() const;
29 
30  double voxelSize() const;
31  void setVoxelSize(double size);
32 
33  int numPointSetItems() const;
34  PointSetItem* pointSetItem(int index);
35  const PointSetItem* pointSetItem(int index) const;
36 
37  int numActivePointSetItems() const;
38  PointSetItem* activePointSetItem(int index);
39  const PointSetItem* activePointSetItem(int index) const;
40 
41  void selectSinglePointSetItem(int index);
42 
43  SignalProxy<void(int index)> sigPointSetItemAdded();
44  SignalProxy<void(int index)> sigPointSetUpdated();
45 
46  const Affine3& topOffsetTransform() const;
47  void setTopOffsetTransform(const Affine3& T);
48  SignalProxy<void(const Affine3& T)> sigTopOffsetTransformChanged();
49  void notifyTopOffsetTransformChange();
50 
51  Affine3 offsetTransform(int index) const;
52  SgPointSetPtr getTransformedPointSet(int index) const;
53 
54  int numAttentionPoints() const;
55  Vector3 attentionPoint(int index) const;
56  void clearAttentionPoints();
57  void addAttentionPoint(const Vector3& p);
58  SignalProxy<void()> sigAttentionPointsChanged();
59  void notifyAttentionPointChange();
60 
61  virtual SgNode* getScene();
62 
63  virtual bool store(Archive& archive);
64  virtual bool restore(const Archive& archive);
65 
66  bool startAutomaticSave(const std::string& filename);
67  void stopAutomaticSave();
68 
69 protected:
70  virtual Item* doDuplicate() const;
71  virtual void doPutProperties(PutPropertyFunction& putProperty);
72 
73 private:
74  friend class MultiPointSetItemImpl;
75  MultiPointSetItemImpl* impl;
76  void initialize();
77 };
78 
80 }
81 
82 #endif
Definition: SceneProvider.h:16
ref_ptr< MultiPointSetItem > MultiPointSetItemPtr
Definition: MultiPointSetItem.h:79
Definition: SceneGraph.h:142
Definition: Archive.h:21
Definition: ExtensionManager.h:26
Definition: MultiPointSetItem.h:15
Eigen::Affine3d Affine3
Definition: EigenTypes.h:64
Definition: PutPropertyFunction.h:35
Definition: Item.h:38
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Eigen::Vector3d Vector3
Definition: EigenTypes.h:58
Definition: PointSetItem.h:19
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: Signal.h:380