PageRenderTime 53ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/NerdSharp.Net_Studio/NerdSharp_UberNet/Science/Comp_Sci/Shapes/ThreeDShapes/Triangle.cs

https://bitbucket.org/pastageek/scide-cad-scilife
C# | 66 lines | 48 code | 7 blank | 11 comment | 0 complexity | 4ea4a809172fb9ff2888a2b04f7cd182 MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. using System.Windows.Data;
  8. using System.Windows.Documents;
  9. using System.Windows.Input;
  10. using System.Windows.Media;
  11. using System.Windows.Media.Imaging;
  12. using System.Windows.Navigation;
  13. using System.Windows.Shapes;
  14. using System.Windows.Media.Media3D;
  15. using Geom = NerdSharp.Net_Studio.NerdSharp_UberNet.Science.Math.Utils.Geometry;
  16. namespace NerdSharp.Net_Studio.NerdSharp_UberNet.Science.Comp_Sci.Shapes.ThreeDShapes
  17. {
  18. public class Triangle
  19. {
  20. private Point3DCollection trianglePoints = new Point3DCollection(3);
  21. public Point3DCollection TrianglePoints
  22. {
  23. get { return trianglePoints; }
  24. set { trianglePoints = value; }
  25. }
  26. private Int32Collection indicies = new Int32Collection(3);
  27. public Int32Collection Indicies
  28. {
  29. get { return indicies; }
  30. set { indicies = value; }
  31. }
  32. private Brush brush = null;
  33. /// <summary>
  34. ///
  35. /// </summary>
  36. /// <param name="points"></param>
  37. /// <param name="triangleIndicies"></param>
  38. /// <param name="brush"></param>
  39. /// <param name="meshGeom"></param>
  40. public Triangle(Point3DCollection points, Int32Collection triangleIndicies,
  41. Brush brush, MeshGeometry3D meshGeom)
  42. {
  43. this.TrianglePoints = points;
  44. this.Indicies = triangleIndicies;
  45. this.brush = brush;
  46. this.AddTriangle(meshGeom);
  47. }
  48. /// <summary>
  49. /// Adds a triangle to the MeshGeometry3D object
  50. /// </summary>
  51. /// <param name="meshGeom">the MeshGeometry3D obj that will have this triangle added to it</param>
  52. public void AddTriangle(MeshGeometry3D meshGeom)
  53. {
  54. meshGeom.Positions.Add(this.trianglePoints[0]);
  55. meshGeom.Positions.Add(this.trianglePoints[1]);
  56. meshGeom.Positions.Add(this.trianglePoints[2]);
  57. }
  58. }
  59. }