diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2008-04-15 00:54:20 +0400 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2008-04-15 00:54:20 +0400 |
commit | 566053319a47119bf718154f800659f9f0b86472 (patch) | |
tree | decf82225fcbd22e9c7f937b53af02b4ad04911c /source/gameengine/Ketsji/KX_Camera.h | |
parent | 0b8b4369c9dbfd9f0048b54a74bf3669919e7f0f (diff) |
fix BGE bug #8309: After Parent Object added to the visual layer, Child Camera won't follow.
This bug fix is made of two parts:
1) It's now possible to dynamically add a camera.
2) Empty camera name on a SetCamera actuator now points to the actuator's parent object if this object is a camera.
This trick is useful to make current a dynamically created camera: just add a SetCamera actuator on the camera itself and leave the name empty. Later, when the camera is added in the scene with an AddObject actuator, either directly or via a parent object, you just need to activate the actuator to make the newly created camera current. If you set a name on a SetCamera actuator, it will always point to the original camera, even after replication.
Diffstat (limited to 'source/gameengine/Ketsji/KX_Camera.h')
-rw-r--r-- | source/gameengine/Ketsji/KX_Camera.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_Camera.h b/source/gameengine/Ketsji/KX_Camera.h index 34a3d2f2653..08f2bf3d1c1 100644 --- a/source/gameengine/Ketsji/KX_Camera.h +++ b/source/gameengine/Ketsji/KX_Camera.h @@ -134,6 +134,24 @@ public: KX_Camera(void* sgReplicationInfo,SG_Callbacks callbacks,const RAS_CameraData& camdata, bool frustum_culling = true, PyTypeObject *T = &Type); virtual ~KX_Camera(); + /** + * Inherited from CValue -- return a new copy of this + * instance allocated on the heap. Ownership of the new + * object belongs with the caller. + */ + virtual CValue* + GetReplica( + ); + + /** + * Inherited from CValue -- Makes sure any internal + * data owned by this class is deep copied. Called internally + */ + virtual void + ProcessReplica( + KX_Camera* replica + ); + MT_Transform GetWorldToCamera() const; MT_Transform GetCameraToWorld() const; |