void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.model1 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 3: this.model2 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.model3 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 5: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; } this._contentLoaded = true; }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.envMap = ((HelixToolkit.SharpDX.Wpf.EnvironmentMap3D)(target)); return; case 3: this.model = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; case 5: this.propertiesPanel = ((System.Windows.Controls.Expander)(target)); return; case 6: this.matCombo = ((System.Windows.Controls.ComboBox)(target)); return; case 7: this.matControl = ((EnvironmentMapDemo.MaterialControl)(target)); return; } this._contentLoaded = true; }
public override void OnMouse3DUp(object sender, RoutedEventArgs e) { base.OnMouse3DUp(sender, e); if (this.isCaptured) { this.isCaptured = false; this.camera = null; this.viewport = null; } }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.shadowMap = ((HelixToolkit.SharpDX.Wpf.ShadowMap3D)(target)); return; case 3: this.model1 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.model2 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 5: this.model3 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 6: this.plane = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 7: this.lines = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 8: this.grid = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 9: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; case 10: this.sliderInt = ((System.Windows.Controls.Slider)(target)); return; case 11: this.sliderPcf = ((System.Windows.Controls.Slider)(target)); return; case 12: this.sliderBias = ((System.Windows.Controls.Slider)(target)); return; } this._contentLoaded = true; }
public override void OnMouse3DDown(object sender, RoutedEventArgs e) { base.OnMouse3DDown(sender, e); var args = e as Mouse3DEventArgs; if (args == null) return; if (args.Viewport == null) return; this.isCaptured = true; this.viewport = args.Viewport; this.camera = args.Viewport.Camera; this.lastHitPos = args.HitTestResult.PointHit; }
/// <summary> /// Initializes a new instance of the <see cref="PanHandler"/> class. /// </summary> /// <param name="viewport"> /// The viewport. /// </param> public PanHandler(Viewport3DX viewport) : base(viewport) { }
/// <summary> /// Initializes a new instance of the <see cref="ZoomRectangleHandler"/> class. /// </summary> /// <param name="viewport"> /// The viewport. /// </param> public ZoomRectangleHandler(Viewport3DX viewport) : base(viewport) { }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.shadowMap = ((HelixToolkit.SharpDX.Wpf.ShadowMap3D)(target)); return; case 3: this.model1 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.model2 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 5: this.model3 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 6: this.plane = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 7: this.lines = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 8: this.grid = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 9: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; case 10: this.sliderInt = ((System.Windows.Controls.Slider)(target)); return; case 11: this.sliderPcf = ((System.Windows.Controls.Slider)(target)); return; case 12: this.sliderBias = ((System.Windows.Controls.Slider)(target)); return; } this._contentLoaded = true; }
/// <summary> /// Initializes a new instance of the <see cref="MouseGestureHandler"/> class. /// </summary> /// <param name="viewport"> /// The viewport. /// </param> protected MouseGestureHandler(Viewport3DX viewport) { this.Viewport = viewport; this.ManipulationWatch = new Stopwatch(); }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.envMap = ((HelixToolkit.SharpDX.Wpf.EnvironmentMap3D)(target)); return; case 3: this.mesh = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.lines = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 5: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; } this._contentLoaded = true; }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.model = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 3: this.floor = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; case 5: this.propertyGrid = ((Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid)(target)); return; } this._contentLoaded = true; }
public MainViewModel(Viewport3DX view) { this.view = view; // ---------------------------------------------- // set windows text Title = "Lighting Demo (WPF & SharpDX)"; SubTitle = string.Format("Model: {0}, Number Lights: {1}", RenderTechnique, Light3D.LightCount); // ---------------------------------------------- // camera setup Camera = new PerspectiveCamera { Position = new Point3D(8, 9, 7), LookDirection = new Vector3D(-5, -12, -5), UpDirection = new Vector3D(0, 1, 0) }; // ---------------------------------------------- // setup scene AmbientLightColor = new Color4(0.2f, 0.2f, 0.2f, 1.0f); Light1Color = (Color4)Color.White; Light2Color = (Color4)Color.Red; Light3Color = (Color4)Color.LightYellow; Light4Color = (Color4)Color.LightBlue; Light2Attenuation = new Vector3(1.0f, 0.5f, 0.10f); Light3Attenuation = new Vector3(1.0f, 0.1f, 0.05f); Light4Attenuation = new Vector3(1.0f, 0.2f, 0.0f); Light1Direction = new Vector3(0, -10, -10); Light1Transform = new Media3D.TranslateTransform3D(-Light1Direction.ToVector3D()); Light1DirectionTransform = CreateAnimatedTransform2(-Light1Direction.ToVector3D(), new Vector3D(0, 1, -1), 24); //Light1DirectionTransform = Media3D.Transform3D.Identity;// CreateAnimatedTransform(new Vector3D(0, 1, 0), new Vector3D(1, 0, 1), 8); Light2Transform = CreateAnimatedTransform1(new Vector3D(-4, 0, 0), new Vector3D(0, 0, 1), 3); Light3Transform = CreateAnimatedTransform1(new Vector3D(0, 0, 4), new Vector3D(0, 1, 0), 5); Light4Transform = new Media3D.TranslateTransform3D(new Vector3D(0, 5, 0)); Light4DirectionTransform = CreateAnimatedTransform1(new Vector3D(0, 1, 0), new Vector3D(1, 0, 1), 4); // ---------------------------------------------- // light model3d var sphere = new MeshBuilder(); sphere.AddSphere(new Vector3(0, 0, 0), 0.2); Sphere = sphere.ToMeshGeometry3D(); LightModelMaterial = new PhongMaterial { AmbientColor = Color.Gray, DiffuseColor = Color.Gray, EmissiveColor = Color.Yellow, SpecularColor = Color.Black, }; // ---------------------------------------------- // scene model3d var b1 = new MeshBuilder(true, true, true); b1.AddSphere(new Vector3(0.25f, 0.25f, 0.25f), 0.75, 64, 64); b1.AddBox(-new Vector3(0.25f, 0.25f, 0.25f), 1, 1, 1, BoxFaces.All); b1.AddBox(-new Vector3(5.0f, 0.0f, 0.0f), 1, 1, 1, BoxFaces.All); b1.AddSphere(new Vector3(5f, 0f, 0f), 0.75, 64, 64); b1.AddCylinder(new Vector3(0f, -3f, -5f), new Vector3(0f, 3f, -5f), 1.2, 64); Model = b1.ToMeshGeometry3D(); ModelTransform = new Media3D.TranslateTransform3D(0, 0, 0); ModelMaterial = PhongMaterials.Chrome; //ModelMaterial.TextureMap = new BitmapImage(new System.Uri(@"TextureCheckerboard2.jpg", System.UriKind.RelativeOrAbsolute)); ModelMaterial.NormalMap = new BitmapImage(new System.Uri(@"TextureCheckerboard2_dot3.jpg", System.UriKind.RelativeOrAbsolute)); //odelMaterial.NormalMap = new BitmapImage(new System.Uri(@"TextureNoise1_dot3.jpg", System.UriKind.RelativeOrAbsolute)); // ---------------------------------------------- // floor model3d var b2 = new MeshBuilder(true, true, true); b2.AddBox(new Vector3(0.0f, -5.0f, 0.0f), 15, 0.1, 15, BoxFaces.All); b2.AddSphere(new Vector3(-5.0f, -5.0f, 5.0f), 4, 64, 64); b2.AddCone(new Vector3(6f, -9f, -6f), new Vector3(6f, -1f, -6f), 4f, true, 64); Floor = b2.ToMeshGeometry3D(); FloorTransform = new Media3D.TranslateTransform3D(0, 0, 0); FloorMaterial = new PhongMaterial { AmbientColor = Color.Gray, DiffuseColor = new Color4(0.75f, 0.75f, 0.75f, 1.0f), // Colors.LightGray, SpecularColor = Color.White, SpecularShininess = 100f, DiffuseMap = new BitmapImage(new System.Uri(@"TextureCheckerboard2.jpg", System.UriKind.RelativeOrAbsolute)), NormalMap = new BitmapImage(new System.Uri(@"TextureCheckerboard2_dot3.jpg", System.UriKind.RelativeOrAbsolute)), }; }
/// <summary> /// Initializes a new instance of the <see cref="RotateHandler"/> class. /// </summary> /// <param name="controller"> /// The controller. /// </param> /// <param name="changeLookAt"> /// The change look at. /// </param> public RotateHandler(Viewport3DX controller, bool changeLookAt = false) : base(controller) { this.changeLookAt = changeLookAt; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnMouse3DDown(object sender, RoutedEventArgs e) { base.OnMouse3DDown(sender, e); var args = e as Mouse3DEventArgs; if (args == null) return; if (args.Viewport == null) return; this.isMouseCaptured = true; this.viewport = args.Viewport; this.cameraNormal = args.Viewport.Camera.LookDirection.ToVector3(); this.lastHitPosWS = args.HitTestResult.PointHit.ToVector3(); }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.model1 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 3: this.model2 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.model3 = ((HelixToolkit.SharpDX.Wpf.DraggableGeometryModel3D)(target)); return; case 5: this.lines = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 6: this.translateX = ((HelixToolkit.SharpDX.Wpf.UITranslateManipulator3D)(target)); return; case 7: this.translateY = ((HelixToolkit.SharpDX.Wpf.UITranslateManipulator3D)(target)); return; case 8: this.translateZ = ((HelixToolkit.SharpDX.Wpf.UITranslateManipulator3D)(target)); return; case 9: this.rotateX = ((HelixToolkit.SharpDX.Wpf.UIRotateManipulator3D)(target)); return; case 10: this.rotateY = ((HelixToolkit.SharpDX.Wpf.UIRotateManipulator3D)(target)); return; case 11: this.rotateZ = ((HelixToolkit.SharpDX.Wpf.UIRotateManipulator3D)(target)); return; case 12: this.composit = ((HelixToolkit.SharpDX.Wpf.UICompositeManipulator3D)(target)); return; case 13: this.grid = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 14: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; } this._contentLoaded = true; }
public Mouse3DEventArgs(RoutedEvent routedEvent, object source, HitTestResult hitTestResult, Point position, Viewport3DX viewport = null) : base(routedEvent, source) { this.HitTestResult = hitTestResult; this.Position = position; this.Viewport = viewport; }
public MouseMove3DEventArgs(object source, HitTestResult hitTestResult, Point position, Viewport3DX viewport = null) : base(GeometryModel3D.MouseMove3DEvent, source, hitTestResult, position, viewport) { }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.model1 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 3: this.model2 = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.model3 = ((HelixToolkit.SharpDX.Wpf.DraggableGeometryModel3D)(target)); return; case 5: this.lines = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 6: this.translateX = ((HelixToolkit.SharpDX.Wpf.UITranslateManipulator3D)(target)); return; case 7: this.translateY = ((HelixToolkit.SharpDX.Wpf.UITranslateManipulator3D)(target)); return; case 8: this.translateZ = ((HelixToolkit.SharpDX.Wpf.UITranslateManipulator3D)(target)); return; case 9: this.rotateX = ((HelixToolkit.SharpDX.Wpf.UIRotateManipulator3D)(target)); return; case 10: this.rotateY = ((HelixToolkit.SharpDX.Wpf.UIRotateManipulator3D)(target)); return; case 11: this.rotateZ = ((HelixToolkit.SharpDX.Wpf.UIRotateManipulator3D)(target)); return; case 12: this.composit = ((HelixToolkit.SharpDX.Wpf.UICompositeManipulator3D)(target)); return; case 13: this.grid = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 14: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; } this._contentLoaded = true; }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.plane = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 3: this.grid = ((HelixToolkit.SharpDX.Wpf.LineGeometryModel3D)(target)); return; case 4: this.lightPanel = ((System.Windows.Controls.Expander)(target)); return; } this._contentLoaded = true; }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.view1 = ((HelixToolkit.SharpDX.Wpf.Viewport3DX)(target)); return; case 2: this.envMap = ((HelixToolkit.SharpDX.Wpf.EnvironmentMap3D)(target)); return; case 3: this.model = ((HelixToolkit.SharpDX.Wpf.MeshGeometryModel3D)(target)); return; case 4: this.shadingPanel = ((System.Windows.Controls.Expander)(target)); return; case 5: this.propertiesPanel = ((System.Windows.Controls.Expander)(target)); return; case 6: this.matCombo = ((System.Windows.Controls.ComboBox)(target)); return; case 7: this.matControl = ((EnvironmentMapDemo.MaterialControl)(target)); return; } this._contentLoaded = true; }