Esempio n. 1
0
        /// <summary>   Adds to the mesh. </summary>
        ///
        /// <param name="mesh">             The mesh. </param>
        /// <param name="encloseTop">       true to enclose top. </param>
        /// <param name="combineVertices">  true to combine vertices. </param>
        public void addToMesh(MeshGeometry3D mesh, bool encloseTop, bool combineVertices)
        {
            if (front.getPoints().Count > 2)
            {
                List <Point3D> frontPoints = new List <Point3D>();
                foreach (Point3D p in front.getPoints())
                {
                    frontPoints.Add(p);
                }
                frontPoints.Add(front.getPoints()[0]);

                List <Point3D> backPoints = new List <Point3D>();
                foreach (Point3D p in back.getPoints())
                {
                    backPoints.Add(p);
                }
                backPoints.Add(back.getPoints()[0]);

                for (int i = 1; i < frontPoints.Count; i++)
                {
                    ObjectTriangle.addTriangleToMesh(frontPoints[i - 1], backPoints[i - 1], frontPoints[i], mesh, combineVertices);
                    ObjectTriangle.addTriangleToMesh(frontPoints[i], backPoints[i - 1], backPoints[i], mesh, combineVertices);
                }

                if (encloseTop)
                {
                    front.addToMesh(mesh, false);
                    back.addToMesh(mesh, false);
                }
            }
        }
Esempio n. 2
0
        /// <summary>   Adds to the mesh. </summary>
        ///
        /// <param name="mesh">             The mesh. </param>
        /// <param name="combineVertices">  true to combine vertices. </param>
        public void addToMesh(MeshGeometry3D mesh, bool combineVertices)
        {
            if (points.Count > 2)
            {
                List <Point3D> temp = new List <Point3D>();

                foreach (Point3D p in points)
                {
                    temp.Add(p);
                }

                temp.Add(points[0]);

                for (int i = 1; i < temp.Count; i++)
                {
                    ObjectTriangle.addTriangleToMesh(temp[i], center, temp[i - 1], mesh, combineVertices);
                }
            }
        }
Esempio n. 3
0
 /// <summary>   Adds a rectangle to mesh. </summary>
 ///
 /// <param name="p0">   The p 0. </param>
 /// <param name="p1">   The first Point3D. </param>
 /// <param name="p2">   The second Point3D. </param>
 /// <param name="p3">   The third Point3D. </param>
 /// <param name="mesh"> The mesh. </param>
 public static void addRectangleToMesh(Point3D p0, Point3D p1, Point3D p2, Point3D p3,
                                       MeshGeometry3D mesh)
 {
     ObjectTriangle.addTriangleToMesh(p0, p1, p2, mesh);
     ObjectTriangle.addTriangleToMesh(p2, p3, p0, mesh);
 }
Esempio n. 4
0
 /// <summary>   Adds to the mesh. </summary>
 ///
 /// <param name="mesh"> The mesh. </param>
 public void addToMesh(MeshGeometry3D mesh)
 {
     ObjectTriangle.addTriangleToMesh(p0, p1, p2, mesh);
     ObjectTriangle.addTriangleToMesh(p2, p3, p0, mesh);
 }