Choreonoid  1.5
MeshExtractor.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_UTIL_MESH_EXTRACTOR_H
7 #define CNOID_UTIL_MESH_EXTRACTOR_H
8 
9 #include "SceneVisitor.h"
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
15 {
16 public:
18 
19  bool extract(SgNode* node, boost::function<void()> callback);
20  SgMesh* integrate(SgNode* node);
21 
22  SgMesh* currentMesh() const { return currentMesh_; }
23  const Affine3& currentTransform() const { return currentTransform_; }
24  const Affine3& currentTransformWithoutScaling() const { return currentTransformWithoutScaling_; }
25  bool isCurrentScaled() const { return isCurrentScaled_; }
26 
27 protected:
28  virtual void visitPosTransform(SgPosTransform* transform);
29  virtual void visitScaleTransform(SgScaleTransform* transform);
30  virtual void visitShape(SgShape* shape);
31  virtual void visitPointSet(SgPointSet* pointSet);
32  virtual void visitLineSet(SgLineSet* lineSet);
33  virtual void visitLight(SgLight* light);
34  virtual void visitCamera(SgCamera* camera);
35 
36 private:
37  boost::function<void()> callback;
38  SgMesh* currentMesh_;
39  Affine3 currentTransform_;
40  Affine3 currentTransformWithoutScaling_;
41  bool isCurrentScaled_;
42  bool meshFound;
43 };
44 
45 }
46 
47 #endif
Definition: SceneLights.h:14
Definition: SceneDrawables.h:291
Definition: SceneGraph.h:142
Definition: SceneCameras.h:14
Definition: SceneDrawables.h:509
Eigen::Affine3d Affine3
Definition: EigenTypes.h:64
const Affine3 & currentTransform() const
Definition: MeshExtractor.h:23
Definition: MeshExtractor.h:14
Definition: SceneGraph.h:333
bool isCurrentScaled() const
Definition: MeshExtractor.h:25
Definition: SceneGraph.h:279
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Definition: MeshExtractor.h:17
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: SceneDrawables.h:420
Definition: SceneDrawables.h:532
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: SceneVisitor.h:15
SgMesh * currentMesh() const
Definition: MeshExtractor.h:22
const Affine3 & currentTransformWithoutScaling() const
Definition: MeshExtractor.h:24