49
49
#include "RAS_FramingManager.h"
50
50
#include "RAS_Rect.h"
52
#include "PyObjectPlus.h"
53
55
* @section Forward declarations
55
57
struct SM_MaterialProps;
56
58
struct SM_ShapeProps;
59
class RAS_BucketManager;
61
63
class SCA_LogicManager;
62
64
class SCA_KeyboardManager;
63
65
class SCA_TimeEventManager;
64
66
class SCA_MouseManager;
68
class SCA_IInputDevice;
67
70
class SND_IAudioDevice;
68
71
class NG_NetworkDeviceInterface;
69
72
class NG_NetworkScene;
73
78
class KX_GameObject;
75
class SCA_IInputDevice;
80
class RAS_BucketManager;
76
81
class RAS_BucketManager;
77
82
class RAS_MaterialBucket;
78
83
class RAS_IPolyMaterial;
79
84
class RAS_IRasterizer;
80
85
class RAS_IRenderTools;
86
class SCA_JoystickManager;
85
88
* The KX_Scene holds all data for an independent scene. It relates
86
89
* KX_Objects to the specific objects in the modules.
88
class KX_Scene : public SCA_IScene
91
class KX_Scene : public PyObjectPlus, public SCA_IScene
90
95
RAS_BucketManager* m_bucketmanager;
91
96
CListValue* m_tempObjectList;
236
246
RAS_Rect m_viewport;
249
* Visibility testing functions.
251
void MarkVisible(SG_Tree *node, RAS_IRasterizer* rasty);
252
void MarkSubTreeVisible(SG_Tree *node, RAS_IRasterizer* rasty, bool visible);
253
void MarkVisible(RAS_IRasterizer* rasty, KX_GameObject* gameobj);
256
* This stores anything from python
258
PyObject* m_attrlist;
239
261
KX_Scene(class SCA_IInputDevice* keyboarddevice,
240
262
class SCA_IInputDevice* mousedevice,
270
292
* @section Logic stuff
271
293
* Initiate an update of the logic system.
273
void LogicBeginFrame(double curtime,
275
void LogicUpdateFrame(double curtime,
295
void LogicBeginFrame(double curtime);
296
void LogicUpdateFrame(double curtime, bool frame);
469
489
void SetPhysicsEnvironment(class PHY_IPhysicsEnvironment* physEnv);
471
491
void SetGravity(const MT_Vector3& gravity);
494
* Sets the node tree for this scene.
496
void SetNodeTree(SG_Tree* root);
498
KX_PYMETHOD_DOC(KX_Scene, getLightList);
499
KX_PYMETHOD_DOC(KX_Scene, getObjectList);
500
KX_PYMETHOD_DOC(KX_Scene, getName);
502
KX_PYMETHOD_DOC(KX_Scene, getActiveCamera);
503
KX_PYMETHOD_DOC(KX_Scene, getActiveCamera);
504
KX_PYMETHOD_DOC(KX_Scene, findCamera);
506
KX_PYMETHOD_DOC(KX_Scene, getGravity);
508
KX_PYMETHOD_DOC(KX_Scene, setActivityCulling);
509
KX_PYMETHOD_DOC(KX_Scene, setActivityCullingRadius);
511
KX_PYMETHOD_DOC(KX_Scene, setSceneViewport);
512
KX_PYMETHOD_DOC(KX_Scene, setSceneViewport);
515
virtual PyObject* _getattr(const STR_String& attr); /* name, active_camera, gravity, suspended, viewport, framing, activity_culling, activity_culling_radius */
516
virtual int _setattr(const STR_String &attr, PyObject *pyvalue);
517
virtual int _delattr(const STR_String &attr);
474
520
typedef std::vector<KX_Scene*> KX_SceneList;