35 #ifndef IECOREGL_SCENE_H
36 #define IECOREGL_SCENE_H
38 #include "IECoreGL/Export.h"
39 #include "IECoreGL/Renderable.h"
40 #include "IECoreGL/HitRecord.h"
41 #include "IECoreGL/Selector.h"
46 IE_CORE_FORWARDDECLARE( Group );
47 IE_CORE_FORWARDDECLARE( Camera );
49 class IECOREGL_API Scene :
public Renderable
53 IE_CORE_DECLARERUNTIMETYPEDEXTENSION( IECoreGL::Scene, SceneTypeId, Renderable );
61 void render( State *state )
const override;
65 Imath::Box3f bound()
const override;
74 size_t select(
Selector::Mode mode,
const Imath::Box2f ®ion, std::vector<HitRecord> &hits )
const;
80 void setCamera( CameraPtr camera );
81 CameraPtr getCamera();
82 ConstCameraPtr getCamera()
const;
88 ConstGroupPtr root()
const;
97 IE_CORE_DECLAREPTR( Scene );
101 #endif // IECOREGL_SCENE_H
The namespace within which all CoreGL functionality is defined.
Definition: AlphaTexture.h:41
Mode
Definition: Selector.h:63