00001 // Filename: sceneSetup.h 00002 // Created by: drose (27Mar02) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved 00008 // 00009 // All use of this software is subject to the terms of the Panda 3d 00010 // Software license. You should have received a copy of this license 00011 // along with this source code; you will also find a current copy of 00012 // the license at http://www.panda3d.org/license.txt . 00013 // 00014 // To contact the maintainers of this program write to 00015 // panda3d@yahoogroups.com . 00016 // 00017 //////////////////////////////////////////////////////////////////// 00018 00019 #ifndef SCENESETUP_H 00020 #define SCENESETUP_H 00021 00022 #include "pandabase.h" 00023 00024 #include "referenceCount.h" 00025 #include "nodePath.h" 00026 #include "camera.h" 00027 #include "transformState.h" 00028 #include "lens.h" 00029 #include "pointerTo.h" 00030 00031 //////////////////////////////////////////////////////////////////// 00032 // Class : SceneSetup 00033 // Description : This object holds the camera position, etc., and 00034 // other general setup information for rendering a 00035 // particular scene. 00036 //////////////////////////////////////////////////////////////////// 00037 class EXPCL_PANDA SceneSetup : public ReferenceCount { 00038 public: 00039 INLINE SceneSetup(); 00040 00041 INLINE void set_scene_root(const NodePath &scene_root); 00042 INLINE const NodePath &get_scene_root() const; 00043 00044 INLINE void set_camera_path(const NodePath &camera_path); 00045 INLINE const NodePath &get_camera_path() const; 00046 00047 INLINE void set_camera_node(const Camera *camera_node); 00048 INLINE const Camera *get_camera_node() const; 00049 00050 INLINE void set_lens(const Lens *lens); 00051 INLINE const Lens *get_lens() const; 00052 00053 INLINE void set_camera_transform(const TransformState *camera_transform); 00054 INLINE const TransformState *get_camera_transform() const; 00055 00056 INLINE void set_world_transform(const TransformState *world_transform); 00057 INLINE const TransformState *get_world_transform() const; 00058 00059 INLINE void set_cs_transform(const TransformState *cs_transform); 00060 INLINE const TransformState *get_cs_transform() const; 00061 00062 INLINE const TransformState *get_render_transform() const; 00063 00064 private: 00065 NodePath _scene_root; 00066 NodePath _camera_path; 00067 CPT(Camera) _camera_node; 00068 CPT(Lens) _lens; 00069 CPT(TransformState) _camera_transform; 00070 CPT(TransformState) _world_transform; 00071 CPT(TransformState) _cs_transform; 00072 CPT(TransformState) _render_transform; 00073 }; 00074 00075 #include "sceneSetup.I" 00076 00077 #endif