Interact with 3D Objects : 3D « Windows Presentation Foundation « C# / C Sharp






Interact with 3D Objects

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");
        }
    }
}

   
    
  








Related examples in the same category

1.MeshGeometry3D with TextureCoordinatesMeshGeometry3D with TextureCoordinates
2.Painting a 3D surface with a bitmap
3.ControlDarkDark to ControlLightLightControlDarkDark to ControlLightLight
4.ControlDark to ControlLightControlDark to ControlLight
5.CubeCube
6.Using 3D ModelsUsing 3D Models
7.Animation RotateTransform3DAnimation RotateTransform3D
8.Point lightPoint light
9.Directional lightDirectional light
10.Spot lightSpot light
11.Ambient lightAmbient light
12.Specular MaterialSpecular Material
13.Diffuse MaterialDiffuse Material
14.Draw a 3D ModelDraw a 3D Model