Mega Code Archive

 
Categories / C# / WPF
 

Interact with 3D Objects

<Window x:Class="WpfApplication1.Window1"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   Title="" Height="300" Width="300">   <Viewport3D>     <Viewport3D.Camera>       <PerspectiveCamera LookDirection="0,0,-1" Position="0,0,5" />     </Viewport3D.Camera>     <ModelVisual3D>       <ModelVisual3D.Content>         <AmbientLight Color="White" />       </ModelVisual3D.Content>     </ModelVisual3D>     <ModelUIElement3D MouseDown="polygon1_MouseDown">       <GeometryModel3D>         <GeometryModel3D.Geometry>           <MeshGeometry3D Positions="-1,-1,1 1,-1,1 1,1,1" TriangleIndices="0 1 2" />         </GeometryModel3D.Geometry>         <GeometryModel3D.Material>           <DiffuseMaterial Brush="Firebrick" />         </GeometryModel3D.Material>       </GeometryModel3D>     </ModelUIElement3D>     <ModelUIElement3D MouseDown="polygon2_MouseDown">       <GeometryModel3D>         <GeometryModel3D.Geometry>           <MeshGeometry3D Positions="1,-1,0 1,1,0 -1,1,0" TriangleIndices="0 1 2" />         </GeometryModel3D.Geometry>         <GeometryModel3D.Material>           <DiffuseMaterial Brush="CornflowerBlue" />         </GeometryModel3D.Material>       </GeometryModel3D>     </ModelUIElement3D>     <ModelUIElement3D MouseDown="polygon3_MouseDown">       <GeometryModel3D>         <GeometryModel3D.Geometry>           <MeshGeometry3D Positions="1,0,0 1,1,0 0,1,0" TriangleIndices="0 1 2" />         </GeometryModel3D.Geometry>         <GeometryModel3D.Material>           <DiffuseMaterial Brush="OrangeRed"/>         </GeometryModel3D.Material>       </GeometryModel3D>     </ModelUIElement3D>   </Viewport3D> </Window> //File:Window.xaml.cs using System.Windows; using System.Windows.Input; namespace WpfApplication1 {     public partial class Window1 : Window     {         public Window1()         {             InitializeComponent();         }         private void polygon1_MouseDown(object sender,             MouseButtonEventArgs e)         {             MessageBox.Show("polygon1_MouseDown", "WpfApplication1");         }         private void polygon2_MouseDown(object sender,             MouseButtonEventArgs e)         {             MessageBox.Show("polygon2_MouseDown", "WpfApplication1");         }         private void polygon3_MouseDown(object sender,             MouseButtonEventArgs e)         {             MessageBox.Show("polygon3_MouseDown", "WpfApplication1");         }     } }