예제 #1
0
 void OnButtonExportAsLASToggle(object sender, ButtonToggleEvent e)
 {
     if (e._Active)
     {
         _ExportFormat = ExportFormat.LAS;
         _ButtonExportAsXYZ.SetActive(false);
     }
 }
예제 #2
0
 void OnButtonIntensityAsColorToggleEvent(object sender, ButtonToggleEvent e)
 {
     if (e._Active)
     {
         _PointCloudManager.ColorByIntensity();
     }
     _PointCloudManager.UserColorActive(e._Active);
 }
예제 #3
0
 void OnButtonColorByHightEvent(object sender, ButtonToggleEvent e)
 {
     if (e._Active)
     {
         _PointCloudManager.ColorByHeight();
     }
     _PointCloudManager.UserColorActive(e._Active);
 }
예제 #4
0
 void OnButtonColorByClassEvent(object sender, ButtonToggleEvent e)
 {
     // Deactivate all other ColorBy* buttons. Change layout to the one used in Edit screen
     // for mode selection.
     if (e._Active)
     {
         _PointCloudManager.ColorByClass();
     }
     _PointCloudManager.UserColorActive(e._Active);
 }
예제 #5
0
 void OnButtonExportSelectedToggleEvent(object sender, ButtonToggleEvent e)
 {
     if (e._Active && _PointCloudManager.PointCloudIsLoaded())
     {
         _PointCloudManager.OnPointCloudExported   += OnPointCloudExportSelectedListener;
         _PointCloudManager.OnGPUDataTransfereDone += OnExportSelectedGPUDataTransfereDoneEvent;
         _PointCloudManager.ExportSelectedSetActive(true);
         _PointCloudManager.WriteFilenameSet(_PointCloudManager.ReadFilenameGet() + _ExportSelectedSuffix + (_ExportSelectedIndex++));
         _PointCloudManager.TransferGPUDataSimple();
     }
 }
예제 #6
0
 void OnMeasureSnapToggleEvent(object sender, ButtonToggleEvent e)
 {
     if (e._Active)
     {
         MeasureSnapSetActive(true);
     }
     else
     {
         MeasureSnapSetActive(false);
     }
 }
예제 #7
0
 void OnButtonEditEnhancedSelectToggle(object sender, ButtonToggleEvent e)
 {
     if (e._Active)
     {
         _EditTool.ActionSelectedEnhancedViewSetActive(true);
     }
     else
     {
         _EditTool.ActionSelectedEnhancedViewSetActive(false);
     }
 }
예제 #8
0
 void OnStartMeny(object sender, ButtonToggleEvent e)
 {
     if (!_StartView.GetActive())
     {
         _PointCloudManager.ClearPointCloud();
         _StartView.SetComponentsActive(true);
         EnableButtonsForPointCloud(false);
         MeasureSetActive(false);
         EditSetActive(false);
     }
 }
예제 #9
0
 void OnButtonExportToggleEvent(object sender, ButtonToggleEvent e)
 {
     if (e._Active && _PointCloudManager.PointCloudIsLoaded())
     {
         _PointCloudManager.OnPointCloudExported   += OnPointCloudExportedListener;
         _PointCloudManager.OnGPUDataTransfereDone += OnExportGPUDataTransfereDoneEvent;
         _PointCloudManager.ExportSelectedSetActive(false);
         _PointCloudManager.WriteFilenameSet(_PointCloudManager.ReadFilenameGet());
         _PointCloudManager._UsePointsByteData = true;
         _PointCloudManager.TransferGPUDataSimple();
     }
 }
예제 #10
0
 void OnButtonSaveSelectedToggleEvent(object sender, ButtonToggleEvent e)
 {
     if (e._Active && _PointCloudManager.PointCloudIsLoaded())
     {
         // To trigger save pointcoud using threads
         _PointCloudManager.OnPointCloudSaved      += OnPointCloudSavedSelectedListener;
         _PointCloudManager.OnGPUDataTransfereDone += OnSaveSelectedGPUDataTransfereDoneEvent;
         _PointCloudManager.SaveSelectedSetActive(true);
         _PointCloudManager.WriteFilenameSet(_PointCloudManager.ReadFilenameGet() + _SaveSelectedSuffix + (_SaveSelectedIndex++));
         _PointCloudManager.TransferGPUDataSimple();
     }
 }
예제 #11
0
    void OnMeasureRestrictYToggleEvent(object sender, ButtonToggleEvent e)
    {
        if (e._Active)
        {
            if (_MeasureTool.RestrictModeGet() == RestrictMode.XZ)
            {
                _ButtonMeasureRestrictXZ.SetActive(false);
            }

            MeasureRestrictModeSet(RestrictMode.Y);
        }
        else
        {
            MeasureRestrictModeSet(RestrictMode.none);
        }
    }
예제 #12
0
 void OnLoadFileSelect(object sender, ButtonToggleEvent e)
 {
     if (e._Active)
     {
         _StartMode = StartMode.LOAD;
         _PointCloudManager.ReadFilenameSet(e._Name.Split('.')[0]);
         foreach (GameObject button in _LoadButtons)
         {
             if (button.name != e._Name)
             {
                 button.GetComponent <ButtonXR>().SetActive(false);
             }
         }
         SetLASFileButtonsActive(false);
     }
     else
     {
         _PointCloudManager.ReadFilenameSet("");
         _StartMode = StartMode.NONE;
     }
 }
예제 #13
0
 add => AddHandler(ButtonToggleEvent, value);
예제 #14
0
 void OnButtonQuit(object sender, ButtonToggleEvent e)
 {
     Application.Quit();
 }
예제 #15
0
 void OnButtonMeasureBackEvent(object sender, ButtonToggleEvent e)
 {
     _ButtonMeasureBack.SetActive(false);
     MeasureSetActive(!e._Active);
 }
예제 #16
0
    void OnButtonColorByEvent(object sender, ButtonToggleEvent e)
    {
        // Deactivate all other ColorBy* buttons. Change layout to the one used in Edit screen
        // for mode selection.
        ColorByParam color_by = ((ButtonXR)sender)._ColorBy;

        if (color_by == ColorByParam.RGB)
        {
            if (e._Active)
            {
                SetColorBy(color_by);

                _ButtonColorByClass.SetActive(false);
                _ButtonColorByHight.SetActive(false);
                _ButtonColorByIntensity.SetActive(false);
                _ButtonColorByPointSourceID.SetActive(false);
            }
            else
            {
                SetColorBy(ColorByParam.NONE);
            }
        }

        if (color_by == ColorByParam.CLASS)
        {
            if (e._Active)
            {
                SetColorBy(color_by);

                _ButtonColorByRGB.SetActive(false);
                _ButtonColorByHight.SetActive(false);
                _ButtonColorByIntensity.SetActive(false);
                _ButtonColorByPointSourceID.SetActive(false);
            }
            else
            {
                SetColorBy(ColorByParam.NONE);
            }
        }

        if (color_by == ColorByParam.HEIGHT)
        {
            if (e._Active)
            {
                SetColorBy(color_by);

                _ButtonColorByRGB.SetActive(false);
                _ButtonColorByClass.SetActive(false);
                _ButtonColorByIntensity.SetActive(false);
                _ButtonColorByPointSourceID.SetActive(false);
            }
            else
            {
                SetColorBy(ColorByParam.NONE);
            }
        }

        if (color_by == ColorByParam.INTENSITY)
        {
            if (e._Active)
            {
                SetColorBy(color_by);

                _ButtonColorByRGB.SetActive(false);
                _ButtonColorByClass.SetActive(false);
                _ButtonColorByHight.SetActive(false);
                _ButtonColorByPointSourceID.SetActive(false);
            }
            else
            {
                SetColorBy(ColorByParam.NONE);
            }
        }

        if (color_by == ColorByParam.POINT_SOURCE_ID)
        {
            if (e._Active)
            {
                SetColorBy(color_by);

                _ButtonColorByRGB.SetActive(false);
                _ButtonColorByClass.SetActive(false);
                _ButtonColorByHight.SetActive(false);
                _ButtonColorByIntensity.SetActive(false);
            }
            else
            {
                SetColorBy(ColorByParam.NONE);
            }
        }
    }
예제 #17
0
 void OnButtonAddIntensityToColorToggleEvent(object sender, ButtonToggleEvent e)
 {
     _PointCloudManager.SetAddIntensityToColor(e._Active);
 }
예제 #18
0
 void OnButtonFrustumCullingToggleEvent(object sender, ButtonToggleEvent e)
 {
     _PointCloudManager.PointsFrustumCullingActive(e._Active);
 }
예제 #19
0
 void OnButtonSetUserPositionToggleEvent(object sender, ButtonToggleEvent e)
 {
     StartCoroutine(SetButtonInactiveDelay(((ButtonXR)sender), 1));
     _PointCloudManager.UserStartPoisitionSet();
 }
예제 #20
0
 void OnButtonEditBackEvent(object sender, ButtonToggleEvent e)
 {
     _ButtonEditBack.SetActive(false);
     EditSetActive(!e._Active);
 }
예제 #21
0
 remove => RemoveHandler(ButtonToggleEvent, value);
예제 #22
0
 void OnButtonUndoDelete(object sender, ButtonToggleEvent e)
 {
     StartCoroutine(SetButtonInactiveDelay(((ButtonXR)sender), 1));
     _PointCloudManager.UndoDelete();
 }
예제 #23
0
 void OnButtonVisualsBackEvent(object sender, ButtonToggleEvent e)
 {
     _ButtonVisualsBack.SetActive(false);
     VisualsSetActive(!e._Active);
 }