Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //xaml
- <Grid Grid.Column="1">
- <Border Name="ViewportBorder" Background="Transparent">
- <hx:Viewport3DX
- x:Name="view"
- Panel.ZIndex="0"
- AllowUpDownRotation="True"
- BackgroundColor="#595959"
- BelongsToParentWindow="True"
- CameraMode="Inspect"
- CameraRotationMode="Trackball"
- EffectsManager="{Binding EffectsManager}"
- EnableSwapChainRendering="True"
- FXAALevel="Low"
- IsChangeFieldOfViewEnabled="False"
- IsHitTestVisible="False"
- IsManipulationEnabled="True"
- IsMoveEnabled="False"
- IsPanEnabled="False"
- IsPinchZoomEnabled="False"
- IsRotationEnabled="False"
- IsThreeFingerPanningEnabled="False"
- IsTouchRotateEnabled="False"
- IsViewCubeMoverEnabled="False"
- IsZoomEnabled="False">
- <hx:AmbientLight3D Color="#363636" />
- <hx:DirectionalLight3D Direction="{Binding positionCamera.LookDirection}" Color="#D6D6D6" />
- <hx:EnvironmentMap3D IsRendering="{Binding RenderEnvironmentMap}" Texture="{Binding EnvironmentMap}" />
- <hx:Element3DPresenter Content="{Binding GroupModel}" />
- <hx:PostEffectMeshBorderHighlight EffectName="highlight" />
- <hx:SceneNodeGroupModel3D />
- <hx:MeshGeometryModel3D
- x:Name="model1"
- Geometry="{Binding Model}"
- Material="{Binding RedMaterial}"
- Transform="{Binding Model1Transform}" />
- <hx:MeshGeometryModel3D
- x:Name="model2"
- Geometry="{Binding Model}"
- Material="{Binding GreenMaterial}"
- Transform="{Binding Model2Transform}" />
- <hx:MeshGeometryModel3D
- x:Name="model3"
- Geometry="{Binding Model}"
- Material="{Binding BlueMaterial}"
- Transform="{Binding Model3Transform}" />
- <hx:LineGeometryModel3D
- x:Name="lines"
- Geometry="{Binding Lines}"
- Thickness="1.5"
- Transform="{Binding Model1Transform}"
- Color="Black" />
- <hx:MeshGeometryModel3D
- CullMode="Back"
- DepthBias="-5"
- Geometry="{Binding TextModel}"
- Material="{Binding BlueMaterial}"
- Transform="{Binding Model4Transform}" />
- </hx:Viewport3DX>
- </Border>
- <cameras:TargetPositionCamera
- x:Name="Camera1"
- Attitude="-15"
- Bank="0"
- Distance="9"
- Heading="30"
- TargetViewport3D="{Binding ElementName=view}" />
- <controls:MouseCameraController
- x:Name="MouseCameraController1"
- EventsSourceElement="{Binding ElementName=ViewportBorder}"
- MoveCameraConditions="RightMouseButtonPressed, ControlKey"
- RotateAroundMousePosition="True"
- RotateCameraConditions="RightMouseButtonPressed"
- ShowRotationCenterMarker="True"
- TargetCamera="{Binding ElementName=Camera1}"
- ZoomMode="MousePosition" />
- </Grid>
- //event Subscribtion
- protected virtual void SubscribeEvents(FrameworkElement newEventsSourceElement)
- {
- if (EventsSourceElement != null)
- {
- newEventsSourceElement.MouseMove += EventsSourceElement_MouseMove;
- newEventsSourceElement.MouseWheel += EventsSourceElement_MouseWheel;
- newEventsSourceElement.MouseDown += EventsSourceElement_MouseDown;
- newEventsSourceElement.MouseUp += EventsSourceElement_MouseUp;
- newEventsSourceElement.ManipulationDelta += OnManipulationDelta;
- newEventsSourceElement.ManipulationStarted += OnManipulationStarted;
- newEventsSourceElement.ManipulationCompleted += OnManipulationCompleted;
- newEventsSourceElement.IsManipulationEnabled = true;
- subscribedEventsSourceElement = newEventsSourceElement;
- buv();
- }
- }
- private void buv()
- {
- if (EventsSourceElement != null)
- {
- if (base.IsEnabled && IsRotateCursorShownOnMouseOver && (UsedMouseButton == MouseButton.Left || RotateCameraConditions == MouseAndKeyboardConditions.LeftMouseButtonPressed))
- {
- EventsSourceElement.Cursor = RotationCursor;
- }
- else if (EventsSourceElement.Cursor == RotationCursor)
- {
- EventsSourceElement.Cursor = null;
- }
- }
- }
- private void EventsSourceElement_MouseDown(object sender, MouseButtonEventArgs e)
- {
- //breaks only with left click
- Point mousePosition = buz(e);
- bool handled = OnMouseButtonDown(mousePosition, Mouse.LeftButton == MouseButtonState.Pressed, Mouse.MiddleButton == MouseButtonState.Pressed, Mouse.RightButton == MouseButtonState.Pressed, Keyboard.Modifiers);
- e.Handled = handled;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement