public void Reset()
    {
        if (Application.isEditor)
        {
            // From editor, simulate reset of point cloud
            State = pointcloud_state.POINTCLOUD_IDLE;
            NotifyStateChange();
        }

        PointCloudAdapter.pointcloud_reset();

        Initialize();
    }
 void MonitorStateChanges()
 {
     pointcloud_state newState = PointCloudAdapter.pointcloud_get_state ();
     if (newState != State) {
         PreviousState = State;
         State = newState;
         NotifyStateChange ();
     }
 }
    void Initialize()
    {
        int bigDim = Mathf.Max (Screen.width, Screen.height);
        int smallDim = Mathf.Min (Screen.width, Screen.height);
        pointcloudRequestedInitialization = PointCloudAdapter.init (smallDim, bigDim, PointCloudAppKey.AppKey);

        if (!pointcloudRequestedInitialization) {
            // When running from editor, initialize scene imediatly
            State = pointcloud_state.POINTCLOUD_TRACKING_SLAM_MAP;
        }
        NotifyStateChange (); // Make a notify with the POINTCLOUD_NOT_CREATED state.
    }