public static CSGSceneTestFIle LoadTestFile(string file_name) { CSGSceneTestFIle res = null; if (File.Exists(file_name)) { Stream strm = File.OpenRead(file_name); BinaryFormatter deserializer = new BinaryFormatter(); deserializer.Binder = new AllowAllAssemblyVersionsDeserializationBinder(); res = (CSGSceneTestFIle)deserializer.Deserialize(strm); strm.Close(); } return(res); }
void CompareGeometry(CSGSceneTestFIle tst, Vertex[] vertices, Edge[] edges) { Assert.AreEqual(tst.ResultVertices.Length, vertices.Length); Assert.AreEqual(tst.ResultEdges.Length, edges.Length); for (int vidx = 0; vidx < tst.ResultVertices.Length; vidx++ ) { Assert.AreEqual(tst.ResultVertices[vidx].Pos, vertices[vidx].Pos); } for (int eidx = 0; eidx < tst.ResultEdges.Length; eidx++) { Assert.AreEqual(tst.ResultEdges[eidx].VertIndices[0], edges[eidx].VertIndices[0]); Assert.AreEqual(tst.ResultEdges[eidx].VertIndices[1], edges[eidx].VertIndices[1]); } }
void CompareGeometry(CSGSceneTestFIle tst, Vertex[] vertices, Edge[] edges) { Assert.AreEqual(tst.ResultVertices.Length, vertices.Length); Assert.AreEqual(tst.ResultEdges.Length, edges.Length); for (int vidx = 0; vidx < tst.ResultVertices.Length; vidx++) { Assert.AreEqual(tst.ResultVertices[vidx].Pos, vertices[vidx].Pos); } for (int eidx = 0; eidx < tst.ResultEdges.Length; eidx++) { Assert.AreEqual(tst.ResultEdges[eidx].VertIndices[0], edges[eidx].VertIndices[0]); Assert.AreEqual(tst.ResultEdges[eidx].VertIndices[1], edges[eidx].VertIndices[1]); } }
public void SaveTestFile(string file_name) { CSGSceneTestFIle file = new CSGSceneTestFIle(); file.Scene = this; if (Root == null) { Run(); } Root.GetWeldedGeometry(out file.ResultVertices, out file.ResultEdges); Stream strm = File.Create(file_name); BinaryFormatter serializer = new BinaryFormatter(); serializer.Serialize(strm, file); strm.Close(); }
public void RunDefaultSceneTest(CSGScene scene, string filename) { string fullpath = @"C:\Users\chris\mmbot\convexcad\convexcad\Scenes\" + filename; if (File.Exists(fullpath)) { CSGSceneTestFIle tst = CSGScene.LoadTestFile(fullpath); if (scene.Root == null) { scene.Run(); } Vertex[] vertices = null; Edge[] edges = null; scene.Root.GetWeldedGeometry(out vertices, out edges); CompareGeometry(tst, vertices, edges); } else { scene.SaveTestFile(fullpath); } }
public void SaveTestFile(string file_name) { CSGSceneTestFIle file = new CSGSceneTestFIle(); file.Scene = this; if(Root == null) Run(); Root.GetWeldedGeometry(out file.ResultVertices, out file.ResultEdges); Stream strm = File.Create(file_name); BinaryFormatter serializer = new BinaryFormatter(); serializer.Serialize(strm, file); strm.Close(); }