Choreonoid  1.1
ModelNodeSet.h
[詳解]
1 
6 #ifndef CNOID_BODY_MODEL_NODE_SET_H_INCLUDED
7 #define CNOID_BODY_MODEL_NODE_SET_H_INCLUDED
8 
9 #include <Eigen/StdVector>
10 #include <cnoid/EigenTypes>
11 #include <cnoid/VrmlNodes>
12 #include <boost/shared_ptr.hpp>
13 #include <boost/signals.hpp>
14 #include "exportdecl.h"
15 
16 namespace cnoid {
17 
18  class VrmlParser;
19 
20  class JointNodeSet;
21  typedef boost::shared_ptr<JointNodeSet> JointNodeSetPtr;
22 
24  {
25  public:
26  typedef std::vector<Affine3, Eigen::aligned_allocator<Affine3> > Affine3Array;
27 
29  std::vector<JointNodeSetPtr> childJointNodeSets;
30  Affine3Array transforms;
31  std::vector<VrmlProtoInstancePtr> segmentNodes;
32  std::vector<VrmlProtoInstancePtr> sensorNodes;
33  std::vector<VrmlProtoInstancePtr> hwcNodes;
34  };
35 
36  typedef std::vector<JointNodeSetPtr> JointNodeSetArray;
37 
38  class ModelNodeSetImpl;
39 
41  {
42  public:
43 
44  ModelNodeSet();
45  virtual ~ModelNodeSet();
46 
47  bool loadModelFile(const std::string& filename);
48 
49  int numJointNodes();
50  VrmlProtoInstancePtr humanoidNode();
51  JointNodeSetPtr rootJointNodeSet();
52 
59  boost::signal<void(const std::string& message)> sigMessage;
60 
61  class Exception {
62  public:
63  Exception(const std::string& description) : description(description) { }
64  const char* what() const { return description.c_str(); }
65  private:
66  std::string description;
67  };
68 
69  private:
70  ModelNodeSetImpl* impl;
71  };
72 
73  typedef boost::shared_ptr<ModelNodeSet> ModelNodeSetPtr;
74 };
75 
76 
77 #endif
Exception(const std::string &description)
Definition: ModelNodeSet.h:63
const char * what() const
Definition: ModelNodeSet.h:64
boost::intrusive_ptr< VrmlProtoInstance > VrmlProtoInstancePtr
Definition: VrmlNodes.h:844
Definition: ModelNodeSet.h:40
VrmlProtoInstancePtr jointNode
Definition: ModelNodeSet.h:28
std::vector< JointNodeSetPtr > JointNodeSetArray
Definition: ModelNodeSet.h:36
boost::shared_ptr< ModelNodeSet > ModelNodeSetPtr
Definition: BodyLoader.h:15
Definition: ModelNodeSet.h:61
Definition: ModelNodeSet.h:23
std::vector< Affine3, Eigen::aligned_allocator< Affine3 > > Affine3Array
Definition: ModelNodeSet.h:26
std::vector< VrmlProtoInstancePtr > segmentNodes
Definition: ModelNodeSet.h:31
Affine3Array transforms
Definition: ModelNodeSet.h:30
std::vector< JointNodeSetPtr > childJointNodeSets
Definition: ModelNodeSet.h:29
Definition: EasyScanner.h:16
std::vector< VrmlProtoInstancePtr > hwcNodes
Definition: ModelNodeSet.h:33
boost::signal< void(const std::string &message)> sigMessage
Definition: ModelNodeSet.h:59
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
boost::shared_ptr< JointNodeSet > JointNodeSetPtr
Definition: ModelNodeSet.h:20
std::vector< VrmlProtoInstancePtr > sensorNodes
Definition: ModelNodeSet.h:32