public SphereMover(LookAtSurfaceCamera camera, SphereSurface surface, float zoomSpeed, float rotateSpeed)
 {
     this.camera = camera;
     this.surface = surface;
     this.zoomSpeed = zoomSpeed;
     this.rotateSpeed = rotateSpeed;
 }
 public void SetUp()
 {
     origin = new Vector3(0, 10, 0);
     radius = 5f;
     up = new Vector3(0, 1, 0);
     testObj = new SphereSurface(origin, radius, up);
 }
 internal override Surface GetSurface()
 {
     if (null == surface)
         surface = new SphereSurface(transform.position, radius, transform.up);
     return surface;
 }
        public void SetUp()
        {
            surfaceOrigin = Vector3.zero;
            surfaceUp = Vector3.up;
            surfaceRadius = 10f;
            surface = new SphereSurface(surfaceOrigin, surfaceRadius, surfaceUp);

            initialCameraDistance = 100f;
            timeDelta = .25f;

            var go = new GameObject();
            transform = go.transform;
            camera = new LookAtSurfaceCamera(transform, surface);
            camera.InitializeCamera();
            camera.SetDistanceToTarget(initialCameraDistance);

            zoomSpeed = 10f;
            rotateSpeed = Mathf.PI;
            testObj = new SphereMover(camera, surface, zoomSpeed, rotateSpeed);
        }