コード例 #1
0
        private WireLine GetLine(MarchingCubes.CommonTypes.Point point1, MarchingCubes.CommonTypes.Point point2, Color color)
        {
            var line = new WireLine();

            line.Point1    = new Point3D(point1.X, point1.Y, point1.Z);
            line.Point2    = new Point3D(point2.X, point2.Y, point2.Z);
            line.Thickness = 1;
            line.Color     = color;
            return(line);
        }
コード例 #2
0
        private int AddTriangle(MeshGeometry3D mesh,
                                MarchingCubes.CommonTypes.Point p1,
                                MarchingCubes.CommonTypes.Point p2,
                                MarchingCubes.CommonTypes.Point p3,
                                int index,
                                bool useNormalVectors)
        {
            // Draw normals
            mesh.TriangleIndices.Add(index);
            mesh.TriangleIndices.Add(++index);
            mesh.TriangleIndices.Add(++index);

            if (useNormalVectors)
            {
                mesh.Normals.Add(ConvertToVector(p1.NormalVector));
                mesh.Normals.Add(ConvertToVector(p2.NormalVector));
                mesh.Normals.Add(ConvertToVector(p3.NormalVector));
            }

            mesh.Positions.Add(Convert(p1));
            mesh.Positions.Add(Convert(p2));
            mesh.Positions.Add(Convert(p3));
            return(index);
        }
コード例 #3
0
 public Point3D Convert(MarchingCubes.CommonTypes.Point point)
 {
     return(new Point3D(point.X, point.Y, point.Z));
 }
コード例 #4
0
 public Vector3D ConvertToVector(MarchingCubes.CommonTypes.Point point)
 {
     return(new Vector3D(point.X, point.Y, point.Z));
 }