private void ResetCamera(BaseCamera camera)
        {
            camera.BeginInit();

            var targetPositionCamera = camera as TargetPositionCamera;

            if (targetPositionCamera != null)
            {
                targetPositionCamera.Heading        = 30;
                targetPositionCamera.Attitude       = -20;
                targetPositionCamera.Bank           = 0;
                targetPositionCamera.Distance       = 200;
                targetPositionCamera.TargetPosition = new Point3D(0, 0, 0);
            }
            else
            {
                var freeCamera = camera as FreeCamera;

                if (freeCamera != null)
                {
                    freeCamera.CameraPosition = new Point3D(100, 150, -300);
                    freeCamera.TargetPosition = new Point3D(0, 0, 0);
                }
            }

            camera.Offset = new Vector3D(0, 0, 0);

            camera.EndInit();
        }