public void Constructor() { Vertex vertex = new Vertex(3.0,4.0,5.0); Assert.AreEqual(3.0,vertex.x); Assert.AreEqual(4.0,vertex.y); Assert.AreEqual(5.0,vertex.z); Vertex vertex2 = new Vertex(vertex); Assert.AreEqual(vertex,vertex2); }
public void Equals() { Vertex vertex1 = new Vertex(2.0,3.0,4.0); Vertex vertex2 = new Vertex(2.0,3.0,4.0); Assert.IsTrue(vertex1.Equals(vertex2)); vertex1.x = 1.0; Assert.IsFalse(vertex1.Equals(vertex2)); vertex1.x = 2.0; vertex1.y = 2.0; Assert.IsFalse(vertex1.Equals(vertex2)); vertex1.y = 3.0; vertex1.z = 5.0; Assert.IsFalse(vertex1.Equals(vertex2)); Assert.IsFalse(vertex1.Equals(null)); Assert.IsFalse(vertex1.Equals("string")); }
[TestMethod()] // testing the Initialise method public void MapValues() { ElementSet gridElementSet = new ElementSet("RegularGrid","RegularGrid",ElementType.XYPolygon, new SpatialReference("ref")); ElementSet fourPointsElementSet = new ElementSet("4 points","4P",ElementType.XYPoint,new SpatialReference("DummyID")); Vertex v_0_20 = new Vertex(0,20,0); Vertex v_0_10 = new Vertex(0,10,0); Vertex v_0_0 = new Vertex(0, 0,0); Vertex v_0_15 = new Vertex(0,15,0); Vertex v_5_15 = new Vertex(5,15,0); Vertex v_10_20 = new Vertex(10,20,0); Vertex v_10_15 = new Vertex(10,15,0); Vertex v_10_10 = new Vertex(10,10,0); Vertex v_10_0 = new Vertex(10, 0,0); Vertex v_15_15 = new Vertex(15,15,0); Vertex v_15_5 = new Vertex(15,5,0); Vertex v_20_20 = new Vertex(20,20,0); Vertex v_20_10 = new Vertex(20,10,0); Element square1 = new Element("square1"); Element square2 = new Element("square2"); Element square3 = new Element("square3"); square1.AddVertex(v_0_20); square1.AddVertex(v_0_10); square1.AddVertex(v_10_10); square1.AddVertex(v_10_20); square2.AddVertex(v_10_20); square2.AddVertex(v_10_10); square2.AddVertex(v_20_10); square2.AddVertex(v_20_20); square3.AddVertex(v_0_10); square3.AddVertex(v_0_0); square3.AddVertex(v_10_0); square3.AddVertex(v_10_10); gridElementSet.AddElement(square1); gridElementSet.AddElement(square2); gridElementSet.AddElement(square3); Element point_5_15 = new Element("point 5, 15"); Element point_10_15 = new Element("point 10, 15"); Element point_15_15 = new Element("point 15, 15"); Element point_15_5 = new Element("point 15, 5"); point_5_15.AddVertex(v_5_15); point_10_15.AddVertex(v_10_15); point_15_15.AddVertex(v_15_15); point_15_5.AddVertex(v_15_5); fourPointsElementSet.AddElement(point_5_15); fourPointsElementSet.AddElement(point_10_15); fourPointsElementSet.AddElement(point_15_15); fourPointsElementSet.AddElement(point_15_5); ScalarSet fourPointsScalarSet = new ScalarSet(); ScalarSet gridScalarSet = new ScalarSet(); ElementMapper elementMapper = new ElementMapper(); // point to polygon ArrayList methodDescriptions = elementMapper.GetAvailableMethods(fourPointsElementSet.ElementType, gridElementSet.ElementType); elementMapper.Initialise(methodDescriptions[0].ToString(), fourPointsElementSet, gridElementSet); fourPointsScalarSet.data = new double[4] { 0, 10, 20, 30 }; gridScalarSet = (ScalarSet)elementMapper.MapValues(fourPointsScalarSet); Assert.AreEqual(5, gridScalarSet.data[0]); Assert.AreEqual(20, gridScalarSet.data[1]); Assert.AreEqual(0, gridScalarSet.data[2]); // polygon to point methodDescriptions = elementMapper.GetAvailableMethods(gridElementSet.ElementType, fourPointsElementSet.ElementType); elementMapper.Initialise(methodDescriptions[0].ToString(), gridElementSet, fourPointsElementSet); fourPointsScalarSet = (ScalarSet)elementMapper.MapValues(gridScalarSet); Assert.AreEqual(5, fourPointsScalarSet.data[0]); Assert.AreEqual(5, fourPointsScalarSet.data[1]); Assert.AreEqual(20, fourPointsScalarSet.data[2]); Assert.AreEqual(0, fourPointsScalarSet.data[3]); }
[TestMethod()] // testing the Initialise method public void UpdateMappingMatrix_PolygonPolygon() { Vertex v1_0_10 = new Vertex(0,10,0); Vertex v1_0_0 = new Vertex(0,0,0); Vertex v1_10_0 = new Vertex(10,0,0); Vertex v1_10_10 = new Vertex(10,10,0); Vertex v1_20_0 = new Vertex(20,0,0); Vertex v1_20_10 = new Vertex(20,10,0); Vertex v1_5_9 = new Vertex(5,9,0); Vertex v1_5_1 = new Vertex(5,1,0); Vertex v1_15_5 = new Vertex(15,5,0); Element LeftSquare = new Element("LeftSquare"); LeftSquare.AddVertex(v1_0_10); LeftSquare.AddVertex(v1_0_0); LeftSquare.AddVertex(v1_10_0); LeftSquare.AddVertex(v1_10_10); Element RightSquare = new Element("RightSquare"); RightSquare.AddVertex(v1_10_10); RightSquare.AddVertex(v1_10_0); RightSquare.AddVertex(v1_20_0); RightSquare.AddVertex(v1_20_10); Element Triangle = new Element("Triangle"); Triangle.AddVertex(v1_5_9); Triangle.AddVertex(v1_5_1); Triangle.AddVertex(v1_15_5); ElementSet TwoSquareElementSet = new ElementSet("TwoSquareElementSet","TwoSquareElementSet",ElementType.XYPolygon,new SpatialReference("ref")); ElementSet TriangleElementSet = new ElementSet("TriangleElementSet","TriangleElementSet",ElementType.XYPolygon,new SpatialReference("ref")); TwoSquareElementSet.AddElement(LeftSquare); TwoSquareElementSet.AddElement(RightSquare); TriangleElementSet.AddElement(Triangle); ElementMapper elementMapper = new ElementMapper(); ArrayList methodDescriptions = elementMapper.GetAvailableMethods(TwoSquareElementSet.ElementType, TriangleElementSet.ElementType); elementMapper.Initialise(methodDescriptions[0].ToString(), TriangleElementSet, TwoSquareElementSet); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(0, 0),"Test1"); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(1, 0),"Test2"); elementMapper.Initialise(methodDescriptions[0].ToString(), TwoSquareElementSet, TriangleElementSet); Assert.AreEqual(0.75, elementMapper.GetValueFromMappingMatrix(0, 0),0.000000001,"Test3"); Assert.AreEqual(0.25, elementMapper.GetValueFromMappingMatrix(0, 1),"Test4"); elementMapper.Initialise(methodDescriptions[1].ToString(), TriangleElementSet, TwoSquareElementSet); Assert.AreEqual(0.3, elementMapper.GetValueFromMappingMatrix(0, 0),"Test5"); Assert.AreEqual(0.1, elementMapper.GetValueFromMappingMatrix(1, 0),"Test6"); elementMapper.Initialise(methodDescriptions[1].ToString(), TwoSquareElementSet, TriangleElementSet); Assert.AreEqual(0.75, elementMapper.GetValueFromMappingMatrix(0, 0),0.0000000001,"Test7"); Assert.AreEqual(0.25, elementMapper.GetValueFromMappingMatrix(0, 1),"Test8"); Vertex v2_0_2 = new Vertex(0,2,0); Vertex v2_0_0 = new Vertex(0,0,0); Vertex v2_2_0 = new Vertex(2,0,0); Vertex v2_1_2 = new Vertex(1,2,0); Vertex v2_1_0 = new Vertex(1,0,0); Vertex v2_3_0 = new Vertex(3,0,0); Element LeftTriangle2 = new Element("LeftTriangle"); LeftTriangle2.AddVertex(v2_0_2); LeftTriangle2.AddVertex(v2_0_0); LeftTriangle2.AddVertex(v2_2_0); Element RightTriangle2 = new Element("RightTriangle"); RightTriangle2.AddVertex(v2_1_2); RightTriangle2.AddVertex(v2_1_0); RightTriangle2.AddVertex(v2_3_0); ElementSet LeftTriangleElementSet2 = new ElementSet("TwoSquareElementSet","TwoSquareElementSet",ElementType.XYPolygon,new SpatialReference("ref")); ElementSet RightTriangleElementSet2 = new ElementSet("TriangleElementSet","TriangleElementSet",ElementType.XYPolygon,new SpatialReference("ref")); LeftTriangleElementSet2.AddElement(LeftTriangle2); RightTriangleElementSet2.AddElement(RightTriangle2); elementMapper.Initialise(methodDescriptions[0].ToString(), LeftTriangleElementSet2, RightTriangleElementSet2); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(0, 0),"Test9"); elementMapper.Initialise(methodDescriptions[0].ToString(), RightTriangleElementSet2, LeftTriangleElementSet2); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(0, 0),"Test10"); elementMapper.Initialise(methodDescriptions[1].ToString(), LeftTriangleElementSet2, RightTriangleElementSet2); Assert.AreEqual(0.25, elementMapper.GetValueFromMappingMatrix(0, 0),"Test11"); elementMapper.Initialise(methodDescriptions[1].ToString(), RightTriangleElementSet2, LeftTriangleElementSet2); Assert.AreEqual(0.25, elementMapper.GetValueFromMappingMatrix(0, 0),"Test12"); Vertex v3_0_2 = new Vertex(0,2,0); Vertex v3_0_0 = new Vertex(0,0,0); Vertex v3_2_0 = new Vertex(2,0,0); Vertex v3_1_2 = new Vertex(1,2,0); Vertex v3_1_0 = new Vertex(1,0,0); Vertex v3_3_2 = new Vertex(3,2,0); Element LeftTriangle3 = new Element("LeftTriangle"); LeftTriangle3.AddVertex(v3_0_2); LeftTriangle3.AddVertex(v3_0_0); LeftTriangle3.AddVertex(v3_2_0); Element RightTriangle3 = new Element("RightTriangle"); RightTriangle3.AddVertex(v3_1_2); RightTriangle3.AddVertex(v3_1_0); RightTriangle3.AddVertex(v3_3_2); ElementSet LeftTriangleElementSet3 = new ElementSet("TwoSquareElementSet","TwoSquareElementSet",ElementType.XYPolygon,new SpatialReference("ref")); ElementSet RightTriangleElementSet3 = new ElementSet("TriangleElementSet","TriangleElementSet",ElementType.XYPolygon,new SpatialReference("ref")); LeftTriangleElementSet3.AddElement(LeftTriangle3); RightTriangleElementSet3.AddElement(RightTriangle3); elementMapper.Initialise(methodDescriptions[0].ToString(), LeftTriangleElementSet3, RightTriangleElementSet3); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(0, 0),"Test13"); elementMapper.Initialise(methodDescriptions[0].ToString(), RightTriangleElementSet3, LeftTriangleElementSet3); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(0, 0),"Test14"); elementMapper.Initialise(methodDescriptions[1].ToString(), LeftTriangleElementSet3, RightTriangleElementSet3); Assert.AreEqual(0.125, elementMapper.GetValueFromMappingMatrix(0, 0),"Test15"); elementMapper.Initialise(methodDescriptions[1].ToString(), RightTriangleElementSet3, LeftTriangleElementSet3); Assert.AreEqual(0.125, elementMapper.GetValueFromMappingMatrix(0, 0),"Test16"); }
private ElementSet CreateElementSet(string ElementSetID) { if (ElementSetID == "4 Points") { ElementSet fourPointsElementSet = new ElementSet("4 points","4 Points",ElementType.XYPoint,new SpatialReference("DummyID")); Element e0 = new Element("e0"); Element e1 = new Element("e1"); Element e2 = new Element("e2"); Element e3 = new Element("e3"); e0.AddVertex(new Vertex( 0,100,0)); e1.AddVertex(new Vertex( 0,0,0)); e2.AddVertex(new Vertex( 100,0,0)); e3.AddVertex(new Vertex(100,100,0)); fourPointsElementSet.AddElement(e0); fourPointsElementSet.AddElement(e1); fourPointsElementSet.AddElement(e2); fourPointsElementSet.AddElement(e3); return fourPointsElementSet; } else if (ElementSetID == "2 Points") { ElementSet twoPointsElementSet = new ElementSet("2 points","2 Points",ElementType.XYPoint,new SpatialReference("dumID")); Element k0 = new Element("k0"); Element k1 = new Element("k1"); k0.AddVertex(new Vertex( 0,75,0)); k1.AddVertex(new Vertex( 200, 50, 0)); twoPointsElementSet.AddElement(k0); twoPointsElementSet.AddElement(k1); return twoPointsElementSet; } else if (ElementSetID == "4 Other Points") { ElementSet fourPointsElementSet = new ElementSet("4 Other points","4 Other Points",ElementType.XYPoint,new SpatialReference("DummyID")); Element e0 = new Element("e0"); Element e1 = new Element("e1"); Element e2 = new Element("e2"); Element e3 = new Element("e3"); e0.AddVertex(new Vertex( 0,15,0)); e1.AddVertex(new Vertex( 5,15,0)); e2.AddVertex(new Vertex( 0,10,0)); e3.AddVertex(new Vertex(10,10,0)); fourPointsElementSet.AddElement(e0); fourPointsElementSet.AddElement(e1); fourPointsElementSet.AddElement(e2); fourPointsElementSet.AddElement(e3); return fourPointsElementSet; } else if(ElementSetID == "3 points polyline") { ElementSet lineElementSet = new ElementSet("3 points polyline","3 points polyline",ElementType.XYPolyLine,new SpatialReference("dumID")); Element l0 = new Element("k0"); Element l1 = new Element("k1"); Vertex v0 = new Vertex(0 ,20, 0); Vertex v1 = new Vertex(0 ,10, 0); Vertex v2 = new Vertex(0 , 0, 0); l0.AddVertex(v0); l0.AddVertex(v2); l1.AddVertex(v1); l1.AddVertex(v2); lineElementSet.AddElement(l0); lineElementSet.AddElement(l1); return lineElementSet; } else if (ElementSetID == "2 element XYline ElementSet") { ElementSet lineElementSet = new ElementSet("2 element XYline ElementSet", "2 element XYline ElementSet", ElementType.XYLine, new SpatialReference("dumID")); Element l0 = new Element("k0"); Element l1 = new Element("k1"); Vertex v0 = new Vertex(0, 20, 0); Vertex v1 = new Vertex(0, 10, 0); Vertex v2 = new Vertex(0, 0, 0); l0.AddVertex(v0); l0.AddVertex(v2); l1.AddVertex(v1); l1.AddVertex(v2); lineElementSet.AddElement(l0); lineElementSet.AddElement(l1); return lineElementSet; } else { throw new Exception("Cound not find specified elementset"); } }
[TestMethod()] // testing the Initialise method public void UpdateMappingMatrix_PointPolygon() { ElementSet gridElementSet = new ElementSet("gridElm","G1",ElementType.XYPolygon, new SpatialReference("ref")); ElementSet fourPointsElementSet = new ElementSet("4 points","4P",ElementType.XYPoint,new SpatialReference("DummyID")); Vertex v_0_20 = new Vertex(0,20,0); Vertex v_0_10 = new Vertex(0,10,0); Vertex v_0_0 = new Vertex(0, 0,0); Vertex v_0_15 = new Vertex(0,15,0); Vertex v_5_15 = new Vertex(5,15,0); Vertex v_10_20 = new Vertex(10,20,0); Vertex v_10_15 = new Vertex(10,15,0); Vertex v_10_10 = new Vertex(10,10,0); Vertex v_10_0 = new Vertex(10, 0,0); Vertex v_15_15 = new Vertex(15,15,0); Vertex v_15_5 = new Vertex(15,5,0); Vertex v_20_20 = new Vertex(20,20,0); Vertex v_20_10 = new Vertex(20,10,0); Element square1 = new Element("square1"); Element square2 = new Element("square2"); Element square3 = new Element("square3"); square1.AddVertex(v_0_20); square1.AddVertex(v_0_10); square1.AddVertex(v_10_10); square1.AddVertex(v_10_20); square2.AddVertex(v_10_20); square2.AddVertex(v_10_10); square2.AddVertex(v_20_10); square2.AddVertex(v_20_20); square3.AddVertex(v_0_10); square3.AddVertex(v_0_0); square3.AddVertex(v_10_0); square3.AddVertex(v_10_10); gridElementSet.AddElement(square1); gridElementSet.AddElement(square2); gridElementSet.AddElement(square3); Element point_5_15 = new Element("point 5, 15"); Element point_10_15 = new Element("point 10, 15"); Element point_15_15 = new Element("point 15, 15"); Element point_15_5 = new Element("point 15, 5"); point_5_15.AddVertex(v_5_15); point_10_15.AddVertex(v_10_15); point_15_15.AddVertex(v_15_15); point_15_5.AddVertex(v_15_5); fourPointsElementSet.AddElement(point_5_15); fourPointsElementSet.AddElement(point_10_15); fourPointsElementSet.AddElement(point_15_15); fourPointsElementSet.AddElement(point_15_5); ElementMapper elementMapper = new ElementMapper(); // point to polygon ArrayList methodDescriptions = elementMapper.GetAvailableMethods(fourPointsElementSet.ElementType, gridElementSet.ElementType); elementMapper.Initialise(methodDescriptions[0].ToString(), fourPointsElementSet, gridElementSet); Assert.AreEqual(0.5, elementMapper.GetValueFromMappingMatrix(0, 0)); Assert.AreEqual(0.5, elementMapper.GetValueFromMappingMatrix(0, 1)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(0, 2)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(0, 3)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(1, 0)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(1, 1)); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(1, 2)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(1, 3)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(2, 0)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(2, 1)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(2, 2)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(2, 3)); // polygon to point methodDescriptions = elementMapper.GetAvailableMethods(gridElementSet.ElementType, fourPointsElementSet.ElementType); elementMapper.Initialise(methodDescriptions[0].ToString(), gridElementSet, fourPointsElementSet); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(0, 0)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(0, 1)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(0, 2)); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(1, 0)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(1, 1)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(1, 2)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(2, 0)); Assert.AreEqual(1, elementMapper.GetValueFromMappingMatrix(2, 1)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(2, 2)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(3, 0)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(3, 1)); Assert.AreEqual(0, elementMapper.GetValueFromMappingMatrix(3, 2)); }
/// <summary> /// Adds a vertex /// </summary> /// <param name="vertex">The vertex to add</param> public virtual void AddVertex(Vertex vertex) { _vertices.Add(vertex); }
/// <summary> /// Copy constructor /// </summary> /// <param name="source">The vertex to copy</param> public Vertex(Vertex source) { x = source.x; y = source.y; z = source.z; }
public void Z() { Vertex vertex = new Vertex(); vertex.z = 8.0; Assert.AreEqual(8.0,vertex.z); }
public void Y() { Vertex vertex = new Vertex(); vertex.y = 8.0; Assert.AreEqual(8.0,vertex.y); }
public void X() { Vertex vertex = new Vertex(); vertex.x = 8.0; Assert.AreEqual(8.0,vertex.x); }