CameraActorPtr CameraActor::New( const Size& size )
{
- CameraActorPtr actor( new CameraActor() );
+ CameraActorPtr actor( new CameraActor( *CreateNode() ) );
// Second-phase construction
actor->Initialize();
return actor;
}
-CameraActor::CameraActor()
-: Actor( Actor::BASIC ),
+CameraActor::CameraActor( const SceneGraph::Node& node )
+: Actor( Actor::BASIC, node ),
mSceneObject( NULL ),
mTarget( SceneGraph::Camera::DEFAULT_TARGET_POSITION ),
mType( SceneGraph::Camera::DEFAULT_TYPE ),
SceneGraph::Camera* sceneGraphCamera = SceneGraph::Camera::New();
// Store a pointer to this camera node inside the scene-graph camera.
- sceneGraphCamera->SetNode( mNode );
+ sceneGraphCamera->SetNode( &mNode );
mSceneObject = sceneGraphCamera;
OwnerPointer< SceneGraph::Camera > sceneGraphCameraOwner( sceneGraphCamera );
{
// Build a picking ray in the world reference system.
// ray starts from the camera world position
- rayOrigin = mNode->GetWorldMatrix(0).GetTranslation();
+ rayOrigin = mNode.GetWorldMatrix(0).GetTranslation();
rayOrigin.w = 1.0f;
// Transform the touch point from the screen coordinate system to the world coordinates system.