public void GenerateTest() { ICurve curve1 = new Line(new Point(0, 0), new Point(1, 0)); ICurve curve2 = new Line(new Point(1, 0), new Point(1, 1)); ICurve curve3 = new Line(new Point(1, 1), new Point(0, 1)); ICurve curve4 = new Line(new Point(0, 1), new Point(0, 0)); List <ICurve> curves = new List <ICurve>(); curves.Add(curve1); curves.Add(curve2); curves.Add(curve3); curves.Add(curve4); int nX = 1; // TODO: инициализация подходящего значения int nY = 1; // TODO: инициализация подходящего значения QuadCleverMeshGen target = new QuadCleverMeshGen(nX, nY); // TODO: инициализация подходящего значения IContour contour = new Contour(curves);; // TODO: инициализация подходящего значения //List<RegMesh2D> expected = new List<RegMesh2D>(new Point(0,0),new Point(1,0),new Point(1,1),new Point(0,1)); // TODO: инициализация подходящего значения List <RegMesh2D> mesh = new List <RegMesh2D>(); IPoint[,] Points = new Point[2, 2]; Points[0, 0] = new Point(0, 0); Points[0, 1] = new Point(1, 0); Points[1, 0] = new Point(1, 1); Points[1, 1] = new Point(0, 1); mesh.Add(new RegMesh2D(Points, 2, 2)); List <RegMesh2D> actual; actual = target.Generate(contour); CollectionAssert.AreEqual(mesh, actual); }
private void Build_Click(object sender, EventArgs e) { Contour contour = new Contour(curves); if (contour.Size < 3 || contour.Size > 5) { return; } if (contour.Size == 5) { if (decompositor == null) { decompositor = new PentagonTriangleDecompose(); } IContour[] contourTEST; meshs = new List <RegMesh2D>(); IMeshGen generator; // = new TriaMeshGen(10, 10); contourTEST = decompositor.decomposed(contour); //тестовый код для пятиугольника foreach (var x in contourTEST) { if (x.Size == 4) { generator = new QuadCleverMeshGen(10); meshs.AddRange(generator.Generate(x)); } if (x.Size == 3) { generator = new TriaMeshGen(10); meshs.AddRange(generator.Generate(x)); } } } if (contour.Size == 4) { //IMeshGen generator = new QuadSimpleMeshGen(10, 10); IMeshGen generator = new QuadCleverMeshGen(10); //IMeshGen generator = new TriaMeshGen(10, 10); meshs = new List <RegMesh2D>(); meshs.Add(generator.Generate(contour)[0]); } if (contour.Size == 3) { meshs = new List <RegMesh2D>(); IMeshGen generator = new TriaMeshGen(10); meshs = generator.Generate(contour); } double qualitySum = 0; for (int i = 0; i < meshs.Count(); i++) { qualitySum += quality.Calculate(meshs[i]); } Quality.Text = Convert.ToString(qualitySum / meshs.Count()); Refresh(); }
public void QuadCleverMeshGenConstructorTest() { int nX = 0; // TODO: инициализация подходящего значения int nY = 0; // TODO: инициализация подходящего значения QuadCleverMeshGen target = new QuadCleverMeshGen(nX, nY); }