Example #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);
                }
            }
        }
Example #2
0
        /// <summary>   Creates circle model. </summary>
        ///
        /// <param name="NSides">   The sides. </param>
        /// <param name="Center">   The center. </param>
        /// <param name="Diameter"> The diameter. </param>
        ///
        /// <returns>   The new circle model. </returns>
        public static GeometryModel3D CreateCircleModel(int NSides, Point3D Center, double Diameter)
        {
            MeshGeometry3D mesh = new MeshGeometry3D();

            ObjectCircle circle = new ObjectCircle(NSides, Center, Diameter);

            circle.addToMesh(mesh, false);

            Material material = new DiffuseMaterial(
                new SolidColorBrush(Colors.White));

            GeometryModel3D model = new GeometryModel3D(mesh, material);

            return(model);
        }
Example #3
0
        /// <summary>   Creates circle model. </summary>
        ///
        /// <param name="NSides">   The sides. </param>
        /// <param name="Center">   The center. </param>
        /// <param name="Diameter"> The diameter. </param>
        ///
        /// <returns>   The new circle model. </returns>
        public static GeometryModel3D CreateCircleModel(int NSides, Point3D Center, double Diameter)
        {
            MeshGeometry3D mesh = new MeshGeometry3D();

            ObjectCircle circle = new ObjectCircle(NSides, Center, Diameter);

            circle.addToMesh(mesh, false);

            Material material = new DiffuseMaterial(
                new SolidColorBrush(Colors.White));

            GeometryModel3D model = new GeometryModel3D(mesh, material);

            return model;
        }