Choreonoid  1.5
SceneRenderer.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_UTIL_SCENE_RENDERER_H
7 #define CNOID_UTIL_SCENE_RENDERER_H
8 
9 #include <cnoid/SceneGraph>
10 #include <cnoid/SceneVisitor>
11 #include "exportdecl.h"
12 
13 namespace cnoid {
14 
16 {
17 public:
18  virtual SgGroup* sceneRoot() = 0;
19  virtual SgGroup* scene() = 0;
20  virtual void clearScene() = 0;
21 
22  virtual int numCameras() const = 0;
23  virtual SgCamera* camera(int index) = 0;
24  virtual const SgNodePath& cameraPath(int index) const = 0;
25  virtual SignalProxy<void()> sigCamerasChanged() const = 0;
26 
27  virtual SgCamera* currentCamera() const = 0;
28  virtual int currentCameraIndex() const = 0;
29  virtual void setCurrentCamera(int index) = 0;
30  virtual bool setCurrentCamera(SgCamera* camera) = 0;
31  virtual SignalProxy<void()> sigCurrentCameraChanged() = 0;
32 
33  bool getSimplifiedCameraPathStrings(int index, std::vector<std::string>& out_pathStrings);
34  int findCameraPath(const std::vector<std::string>& simplifiedPathStrings);
35  bool setCurrentCameraPath(const std::vector<std::string>& simplifiedPathStrings);
36 
37  virtual void setViewport(int x, int y, int width, int height) = 0;
38  virtual Array4i viewport() const = 0;
39  virtual double aspectRatio() const = 0; // width / height;
40 
41  virtual const Affine3& currentModelTransform() const = 0;
42  virtual const Affine3& currentCameraPosition() const = 0;
43  virtual const Matrix4& projectionMatrix() const = 0;
44 
45  virtual void initializeRendering() = 0;
46 
47  virtual SignalProxy<void()> sigRenderingRequest() = 0;
48 
49  virtual void beginRendering() = 0;
50  virtual void endRendering() = 0;
51  virtual void render() = 0;
52  virtual void flush() = 0;
53 
54  virtual SgLight* headLight() = 0;
55  virtual void setHeadLight(SgLight* light) = 0;
56 };
57 
58 }
59 
60 #endif
Definition: SceneLights.h:14
Eigen::Matrix4d Matrix4
Definition: EigenTypes.h:60
Definition: SceneCameras.h:14
Eigen::Affine3d Affine3
Definition: EigenTypes.h:64
std::vector< SgNode * > SgNodePath
Definition: SceneGraph.h:140
Definition: SceneRenderer.h:15
Definition: SceneGraph.h:160
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: Signal.h:380
Definition: SceneVisitor.h:15