//! return current camera parameter value for slider value
        public float getCamParamValue(CameraObject.CameraParameter param)
        {
            switch (param)
            {
            case CameraObject.CameraParameter.LENS:
                return(cameraAdapter.Fov.vFovToLens());

                break;

            case CameraObject.CameraParameter.FOV:
                return(cameraAdapter.Fov);

                break;
                //case CameraObject.CameraParameter.APERTURE:
                //	return cameraAdapter.Aperture;
                //	break;
                //case CameraObject.CameraParameter.FOCDIST:
                //	return cameraAdapter.focDist;
                //	break;
                //case CameraObject.CameraParameter.FOCSIZE:
                //	return cameraAdapter.focSize;
                //	break;
            }

            return(-1.0f);
        }
        //! change the desired camera parameter (usually a callback triggered by the slider changes)
        public void setCamParamValue(CameraObject.CameraParameter param, float value)
        {
            switch (param)
            {
            case CameraObject.CameraParameter.LENS:
                cameraAdapter.Fov = value.lensToVFov();
                break;

            case CameraObject.CameraParameter.FOV:
                cameraAdapter.Fov = value;
                break;

            case CameraObject.CameraParameter.APERTURE:
                cameraAdapter.Aperture = value;
                break;

            case CameraObject.CameraParameter.FOCDIST:
                cameraAdapter.focDist = value;
                break;

            case CameraObject.CameraParameter.FOCSIZE:
                cameraAdapter.focSize = value;
                break;
            }
        }
Example #3
0
        //! show desired camera parameter slider
        public void showCameraSlider(CameraObject.CameraParameter type)
        {
            // if the desired slider is not already displayed, show it
            if (slider.IsActive == false || type != sliderType)
            {
                // disable callback temporarily, sync slider value with the camera parameter
                slider.Callback = null;
                setSliderType(type);

                float newValue = mainController.getCamParamValue(type);
                updateSliderValue(newValue);

                // show slider
                slider.gameObject.SetActive(true);
            }
            else
            {
                // ... hide the slider, since the user pressed the button again
                hideCameraSlider();
            }
        }
Example #4
0
        //! configure slider based on the chosen parameter
        private void setSliderType(CameraObject.CameraParameter type)
        {
            //! set slider type
            sliderType = type;

            //! change slider setup
            switch (sliderType)
            {
            case CameraObject.CameraParameter.FOV:
                slider.Callback    = sliderCallback;
                slider.MinValue    = 300.0f.lensToVFov();
                slider.MaxValue    = 10.0f.lensToVFov();
                slider.FormatAsInt = false;
                slider.Sensitivity = 0.3f;
                slider.TextPrefix  = "Field of view: ";
                slider.TextSuffix  = " degrees";
                break;

            case CameraObject.CameraParameter.LENS:
                slider.Callback    = sliderCallback;
                slider.MinValue    = 10.0f;
                slider.MaxValue    = 300.0f;
                slider.FormatAsInt = true;
                slider.Sensitivity = 0.3f;
                slider.TextPrefix  = "Lens focal length: ";
                slider.TextSuffix  = "mm";
                break;

            case CameraObject.CameraParameter.APERTURE:
                slider.Callback    = sliderCallback;
                slider.MaxValue    = 1.0f;
                slider.MinValue    = 0.0f;
                slider.FormatAsInt = false;
                slider.Sensitivity = 0.003f;
                slider.TextPrefix  = "Aperture: ";
                slider.TextSuffix  = "";
                break;

            case CameraObject.CameraParameter.FOCSIZE:
                slider.Callback    = sliderCallback;
                slider.MaxValue    = 1.0f;
                slider.MinValue    = 0.0f;
                slider.FormatAsInt = false;
                slider.Sensitivity = 0.003f;
                slider.TextPrefix  = "Focal size: ";
                slider.TextSuffix  = "m";
                break;

            case CameraObject.CameraParameter.FOCDIST:
                slider.Callback    = sliderCallback;
                slider.MaxValue    = 100.0f;
                slider.MinValue    = 0.0f;
                slider.FormatAsInt = false;
                slider.Sensitivity = 0.05f;
                slider.TextPrefix  = "Focal distance: ";
                slider.TextSuffix  = "m";
                break;

            default:
                break;
            }
        }