/SketchModeller/SketchModeller.Modelling/ModelViews/ModelViewerSnappedFactory.Cuboid.cs

https://bitbucket.org/alexshtf/sketchmodeller · C# · 55 lines · 30 code · 4 blank · 21 comment · 2 complexity · ba7e3842d9f080162fc18b2956763122 MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows.Media.Media3D;
  6. using SketchModeller.Infrastructure.Data;
  7. using System.Diagnostics.Contracts;
  8. using System.Windows.Media;
  9. using Utils;
  10. using HelixToolkit;
  11. using System.Diagnostics;
  12. namespace SketchModeller.Modelling.ModelViews
  13. {
  14. partial class ModelViewerSnappedFactory
  15. {
  16. public static Visual3D CreateCuboidView(SnappedCuboid cuboidData)
  17. {
  18. Contract.Requires(cuboidData != null);
  19. Contract.Ensures(Contract.Result<Visual3D>() != null);
  20. var visual = new ModelVisual3D();
  21. var meshBuilder = new MeshBuilder(true, true);
  22. //meshBuilder.AddBox(cuboidData.CenterResult, cuboidData.WidthResult, cuboidData.HeightResult, cuboidData.DepthResult);
  23. //meshBuilder.AddBox(new Point3D(0,0,0), cuboidData.WidthResult, cuboidData.HeightResult, cuboidData.DepthResult);
  24. /*
  25. meshBuilder.AddArrow(cuboidData.Origin, cuboidData.Origin + 0.5 * cuboidData.Wresult, 0.05);
  26. var geometry = meshBuilder.ToMesh();
  27. visual.Children.Add(CreateVisual(geometry, Brushes.Green));
  28. meshBuilder = new MeshBuilder(true, true);
  29. meshBuilder.AddArrow(cuboidData.Origin, cuboidData.Origin + 0.5 * cuboidData.Hresult, 0.05);
  30. geometry = meshBuilder.ToMesh();
  31. visual.Children.Add(CreateVisual(geometry, Brushes.Red));
  32. meshBuilder = new MeshBuilder(true, true);
  33. meshBuilder.AddArrow(cuboidData.Origin, cuboidData.Origin + 0.5 * cuboidData.Dresult, 0.05);
  34. geometry = meshBuilder.ToMesh();
  35. visual.Children.Add(CreateVisual(geometry, Brushes.Blue));*/
  36. Debug.WriteLine(string.Format("After : W*H={0}", Vector3D.DotProduct(cuboidData.Wresult, cuboidData.Hresult)));
  37. Debug.WriteLine(string.Format("After : W*D={0}", Vector3D.DotProduct(cuboidData.Wresult, cuboidData.Dresult)));
  38. Debug.WriteLine(string.Format("After : D*H={0}", Vector3D.DotProduct(cuboidData.Dresult, cuboidData.Hresult)));
  39. //meshBuilder = new MeshBuilder(true, true);
  40. //Point3D[] points = geometry.Positions.ToArray();
  41. //TransformPoints(points, cuboidData.CenterResult, -cuboidData.Hresult, -cuboidData.Wresult, cuboidData.Dresult);
  42. //geometry.Positions = new Point3DCollection(points);
  43. visual.Children.Add(CreateCuboidView(cuboidData.CenterResult, cuboidData.WidthResult, cuboidData.HeightResult, cuboidData.DepthResult,
  44. cuboidData.Wresult, cuboidData.Hresult, cuboidData.Dresult, cuboidData));
  45. //return CreateVisual(geometry, cuboidData, false);
  46. return visual;
  47. }
  48. }
  49. }