void AlignmentView() { // Stop image tracker m_MarkerController.ImageTracker.Stop(); // Show model Dispatcher.Dispatch(ShowBoundingBoxModelAction.From(true)); Dispatcher.Dispatch(ShowModelAction.From(false)); Dispatcher.Dispatch(SetModelScaleAction.From(SetModelScaleAction.ArchitectureScale.OneToOne)); // Show tool for making minor adjustments var toolState = SetARToolStateAction.SetARToolStateData.defaultData; toolState.okButtonValidator = this; // Show complete button toolState.okEnabled = true; toolState.scaleEnabled = false; toolState.rotateEnabled = false; toolState.previousStepEnabled = true; Dispatcher.Dispatch(SetARToolStateAction.From(toolState)); // Show button for Re-anchoring to updated image tracker position. Dispatcher.Dispatch(SetStatusMessageWithType.From( new StatusMessageData() { text = k_Alignment, type = StatusMessageType.Instruction })); m_ARModeUIController.StartCoroutine(VisualizeWhenLoaded()); }
void StartInstruction() { Dispatcher.Dispatch(ShowModelAction.From(true)); Dispatcher.Dispatch(SetInstructionUIStateAction.From(SetInstructionUIStateAction.InstructionUIState.Init)); Dispatcher.Dispatch(SetARInstructionUIAction.From(new { currentARInstructionUI = this })); Dispatcher.Dispatch(SetAREnabledAction.From(false)); Dispatcher.Dispatch(SetActiveToolBarAction.From(SetActiveToolBarAction.ToolbarType.ARModelAlignSidebar)); Dispatcher.Dispatch(SetInstructionMode.From(true)); Dispatcher.Dispatch(SetModelScaleAction.From(SetModelScaleAction.ArchitectureScale.OneToOne)); Dispatcher.Dispatch(EnableBimFilterAction.From(true)); Dispatcher.Dispatch(EnableSceneSettingsAction.From(true)); Dispatcher.Dispatch(EnableSunStudyAction.From(false)); Dispatcher.Dispatch(EnableMarkerSettingsAction.From(false)); Dispatcher.Dispatch(ToggleMeasureToolAction.From(ToggleMeasureToolAction.ToggleMeasureToolData.defaultData)); var toolState = SetARToolStateAction.SetARToolStateData.defaultData; toolState.selectionEnabled = true; toolState.measureToolEnabled = true; toolState.scaleEnabled = true; toolState.cancelEnabled = true; Dispatcher.Dispatch(SetARToolStateAction.From(toolState)); Next(); }
void StartInstruction() { Dispatcher.Dispatch(ShowModelAction.From(true)); Dispatcher.Dispatch(SetInstructionUIStateAction.From(SetInstructionUIStateAction.InstructionUIState.Init)); Dispatcher.Dispatch(SetARInstructionUIAction.From(new { currentARInstructionUI = this })); Dispatcher.Dispatch(SetAREnabledAction.From(false)); Dispatcher.Dispatch(SetInstructionMode.From(true)); m_Raycaster.Reset(); Dispatcher.Dispatch(SetModelScaleAction.From(SetModelScaleAction.ArchitectureScale.OneToOne)); Dispatcher.Dispatch(ToggleMeasureToolAction.From(ToggleMeasureToolAction.ToggleMeasureToolData.defaultData)); Next(); }
void OnPlacementScaleAction(InputAction.CallbackContext context) { if (!m_ARScaleEnabledSelector.GetValue()) { return; } PinchGestureInteraction interaction = context.interaction as PinchGestureInteraction; if (interaction?.currentGesture != null) { PinchGesture pinchGesture = interaction?.currentGesture as PinchGesture; var ratio = m_InitialScaleSize / pinchGesture.gap; // inverted because scale size is 1/N var newScale = GetNearestEnumValue(m_InitialModelScale * ratio); Dispatcher.Dispatch(SetModelScaleAction.From(newScale)); } }
void StartInstruction() { Dispatcher.Dispatch(ShowModelAction.From(false)); Dispatcher.Dispatch(SetInstructionUIStateAction.From(SetInstructionUIStateAction.InstructionUIState.Init)); Dispatcher.Dispatch(SetARInstructionUIAction.From(new { currentARInstructionUI = this })); Dispatcher.Dispatch(SetAREnabledAction.From(true)); m_Raycaster.Reset(); m_ARModeUIController.ActivePlacementRules(SetModelFloorAction.PlacementRule.TableTopPlacementRule); Dispatcher.Dispatch(SetARPlacementRuleAction.From(SetModelFloorAction.PlacementRule.TableTopPlacementRule)); Dispatcher.Dispatch(SetActiveToolBarAction.From(SetActiveToolBarAction.ToolbarType.ARInstructionSidebar)); // default scale 1:100 Dispatcher.Dispatch(SetModelScaleAction.From(SetModelScaleAction.ArchitectureScale.OneToOneHundred)); Dispatcher.Dispatch(EnableAllNavigationAction.From(false)); Dispatcher.Dispatch(SetShowScaleReferenceAction.From(true)); Dispatcher.Dispatch(SetInstructionMode.From(true)); Dispatcher.Dispatch(EnableBimFilterAction.From(false)); Dispatcher.Dispatch(EnableSceneSettingsAction.From(true)); Dispatcher.Dispatch(EnableSunStudyAction.From(false)); Dispatcher.Dispatch(EnableMarkerSettingsAction.From(false)); Dispatcher.Dispatch( ToggleMeasureToolAction.From(ToggleMeasureToolAction.ToggleMeasureToolData.defaultData)); var toolState = SetARToolStateAction.SetARToolStateData.defaultData; toolState.selectionEnabled = true; toolState.measureToolEnabled = true; toolState.scaleEnabled = true; toolState.cancelEnabled = true; Dispatcher.Dispatch(SetARToolStateAction.From(toolState)); Next(); }
void OnResetButtonClicked() { Dispatcher.Dispatch(SetModelScaleAction.From(m_DefaultScale)); }
void OnScaleDialValueChanged(float value) { Dispatcher.Dispatch(SetModelScaleAction.From(GetScaleFromFloat(value))); }