Ejemplo n.º 1
0
        public void Initialize(Hashtable properties)
        {
            double ox = 2.0;
            double oy = 2.0;
            double dx = 4.0;
            double dy = 4.0;

            // -- Populate Input Exchange Items ---
            Element element0 = new Element("element:0");

            element0.AddVertex(new Vertex(ox, oy, 0));
            element0.AddVertex(new Vertex(ox + dx, oy, 0));
            element0.AddVertex(new Vertex(ox + dx, oy + dy, 0));
            element0.AddVertex(new Vertex(ox, oy + dy, 0));

            Element element1 = new Element("element:1");

            element1.AddVertex(new Vertex(ox + dx, oy, 0));
            element1.AddVertex(new Vertex(ox + 2 * dx, oy, 0));
            element1.AddVertex(new Vertex(ox + 2 * dx, oy + dy, 0));
            element1.AddVertex(new Vertex(ox + dx, oy + dy, 0));

            Element element2 = new Element("element:2");

            element2.AddVertex(new Vertex(ox, oy + dy, 0));
            element2.AddVertex(new Vertex(ox + dx, oy + dy, 0));
            element2.AddVertex(new Vertex(ox + dx, oy + 2 * dy, 0));
            element2.AddVertex(new Vertex(ox, oy + 2 * dy, 0));

            Element element3 = new Element("element:3");

            element3.AddVertex(new Vertex(ox + dx, oy + dy, 0));
            element3.AddVertex(new Vertex(ox + 2 * dx, oy + dy, 0));
            element3.AddVertex(new Vertex(ox + 2 * dx, oy + 2 * dy, 0));
            element3.AddVertex(new Vertex(ox + dx, oy + 2 * dy, 0));

            ElementSet elementSet = new ElementSet("RegularGrid", "RegularGrid", ElementType.Polygon, " ");

            elementSet.AddElement(element0);
            elementSet.AddElement(element1);
            elementSet.AddElement(element2);
            elementSet.AddElement(element3);

            Unit storageUnit = new Unit("Storage", 1.0, 0.0, "Storage");

            storageUnit.Dimension = new Dimension();
            Quantity          storageQuantity   = new Quantity(storageUnit, "Storage", "Storage");
            InputExchangeItem inputExchangeItem = new InputExchangeItem();

            inputExchangeItem.ElementSet = elementSet;
            inputExchangeItem.Quantity   = storageQuantity;
            _inputExchangeItems.Add(inputExchangeItem);

            OutputExchangeItem outputExchangeItem = new OutputExchangeItem();

            outputExchangeItem.ElementSet = elementSet;
            outputExchangeItem.Quantity   = storageQuantity;
            _outputExchangeItems.Add(outputExchangeItem);
        }
Ejemplo n.º 2
0
        public void CreateTestData()
        {
            waterLevelQuantity = new Quantity(
                new Unit(PredefinedUnits.CubicMeterPerSecond), "Flow", "Flow");

            xyPolygon = new ElementSet("one polygon, 5 points", "xyPolygon", ElementType.Polygon);

            Element p0 = new Element("p0");

            p0.AddVertex(new Coordinate(7.5, 10, 0));
            p0.AddVertex(new Coordinate(15, 20, 0));
            p0.AddVertex(new Coordinate(10, 30, 0));
            p0.AddVertex(new Coordinate(5, 30, 0));
            p0.AddVertex(new Coordinate(0, 20, 0));
            xyPolygon.AddElement(p0);

            xyPolylineA = new ElementSet("3 points polyline", "xyPolylineA", ElementType.PolyLine);

            Element l0 = new Element("PL_0");
            Element l1 = new Element("PL_1");

            Coordinate v0 = new Coordinate(0, 20, 0);
            Coordinate v1 = new Coordinate(0, 10, 0);
            Coordinate v2 = new Coordinate(0, 0, 0);

            l0.AddVertex(v0);
            l0.AddVertex(v2);

            l1.AddVertex(v1);
            l1.AddVertex(v2);

            xyPolylineA.AddElement(l0);
            xyPolylineA.AddElement(l1);

            xyPointA = new ElementSet("4 points elementset A", "pointsA", ElementType.Point);
            Element e0 = new Element("Pnt_0");
            Element e1 = new Element("Pnt_1");
            Element e2 = new Element("Pnt_2");
            Element e3 = new Element("Pnt_3");

            e0.AddVertex(new Coordinate(0, 100, 0));
            e1.AddVertex(new Coordinate(0, 0, 0));
            e2.AddVertex(new Coordinate(100, 0, 0));
            e3.AddVertex(new Coordinate(100, 100, 0));
            xyPointA.AddElement(e0);
            xyPointA.AddElement(e1);
            xyPointA.AddElement(e2);
            xyPointA.AddElement(e3);

            xyPointB = new ElementSet("4 points elementset B", "pointsB", ElementType.Point);
            e0       = new Element("e0");
            e1       = new Element("e1");
            e0.AddVertex(new Coordinate(25, 25, 0));
            e1.AddVertex(new Coordinate(25, 75, 0));
            xyPointB.AddElement(e0);
            xyPointB.AddElement(e1);

            adaptedOutputFactory = new SpatialAdaptedOutputFactory("Oatc Spatial Adapted Output Factory");
        }
Ejemplo n.º 3
0
        public void Initialize(System.Collections.Hashtable properties)
        {
            double ox = 2.0;
            double oy = 2.0;
            double dx = 4.0;
            double dy = 4.0;

            // -- Populate Input Exchange Items ---
            Element element0 = new Element("element:0");

            element0.AddVertex(new Vertex(ox, oy, 0));
            element0.AddVertex(new Vertex(ox + dx, oy, 0));
            element0.AddVertex(new Vertex(ox + dx, oy + dy, 0));
            element0.AddVertex(new Vertex(ox, oy + dy, 0));

            Element element1 = new Element("element:1");

            element1.AddVertex(new Vertex(ox + dx, oy, 0));
            element1.AddVertex(new Vertex(ox + 2 * dx, oy, 0));
            element1.AddVertex(new Vertex(ox + 2 * dx, oy + dy, 0));
            element1.AddVertex(new Vertex(ox + dx, oy + dy, 0));

            Element element2 = new Element("element:2");

            element2.AddVertex(new Vertex(ox, oy + dy, 0));
            element2.AddVertex(new Vertex(ox + dx, oy + dy, 0));
            element2.AddVertex(new Vertex(ox + dx, oy + 2 * dy, 0));
            element2.AddVertex(new Vertex(ox, oy + 2 * dy, 0));

            Element element3 = new Element("element:3");

            element3.AddVertex(new Vertex(ox + dx, oy + dy, 0));
            element3.AddVertex(new Vertex(ox + 2 * dx, oy + dy, 0));
            element3.AddVertex(new Vertex(ox + 2 * dx, oy + 2 * dy, 0));
            element3.AddVertex(new Vertex(ox + dx, oy + 2 * dy, 0));

            ElementSet elementSet = new ElementSet("RegularGrid", "RegularGrid", ElementType.XYPolygon, new SpatialReference(" "));

            elementSet.AddElement(element0);
            elementSet.AddElement(element1);
            elementSet.AddElement(element2);
            elementSet.AddElement(element3);

            Quantity          storageQuantity   = new Quantity(new Unit("Storage", 1.0, 0.0, "Storage"), "Storage", "Storage", global::OpenMI.Standard.ValueType.Scalar, new Dimension());
            InputExchangeItem inputExchangeItem = new InputExchangeItem();

            inputExchangeItem.ElementSet = elementSet;
            inputExchangeItem.Quantity   = storageQuantity;
            _inputExchangeItems.Add(inputExchangeItem);

            OutputExchangeItem outputExchangeItem = new OutputExchangeItem();

            outputExchangeItem.ElementSet = elementSet;
            outputExchangeItem.Quantity   = storageQuantity;
            _outputExchangeItems.Add(outputExchangeItem);
        }
Ejemplo n.º 4
0
        public MainWindow()
        {
            var myelemset = new ElementSet("Category", "Material", "Levels");

            myelemset.AddElement(new Element("Elem 1", 120d, "Revit123", "Foundation", "Concrete", "Level 1"));
            myelemset.AddElement(new Element("Elem 2", 109.4d, "Revit124", "Foundation", "Concrete", "Level2"));
            myelemset.AddElement(new Element("Elem 3", 24.2d, "Revit125", "Walls", "RC40", "Level 1"));

            //ModelVM vm = new ModelVM(myelemset);
            var vm = new AppVM(myelemset);

            DataContext = vm;
            InitializeComponent();
        }
Ejemplo n.º 5
0
        public override void Initialize()
        {
            base.Initialize();
            _timeStepLength = 3600 * 24;

            double startTime       = new Time(new DateTime(2004, 10, 7, 16, 38, 32)).StampAsModifiedJulianDay;
            Time   simulationStart = new Time(startTime);
            Time   simulationEnd   = new Time(startTime + 99999999999999);

            _timeHorizon = new Time(simulationStart, simulationEnd);

            _dataItems = new ArrayList();


            // -- the outflow item --
            DataItem dataItem = new DataItem("OutFlow", "node");

            dataItem._values[0] = 2;
            _dataItems.Add(dataItem);

            ElementSet node = new ElementSet("node", "node", ElementType.IdBased, "");

            node.AddElement(new Element("ANode"));

            var quantity = new Quantity(new Unit("m3/sec", 1, 0, "m3/sec"), "OutFlow", "OutFlow");

            EngineSOutputItem flowItem = new EngineSOutputItem("node", quantity, node, this);

            this.EngineOutputItems.Add(flowItem);
        }
Ejemplo n.º 6
0
        public static ElementSet CreateRegularGridElmtSet(double xmin, double xmax, double dx, double ymin, double ymax, double dy)
        {
            ElementSet elmtSet = new ElementSet("dummy");

            elmtSet.ElementType = ElementType.Polygon;

            double x = xmin;

            while (x < xmax)
            {
                double y = ymin;
                while (y < ymax)
                {
                    Element elmt = new Element();
                    elmt.AddVertex(new Coordinate(x, y, 0));
                    elmt.AddVertex(new Coordinate(x + dx, y, 0));
                    elmt.AddVertex(new Coordinate(x + dx, y + dy, 0));
                    elmt.AddVertex(new Coordinate(x, y + dy, 0));
                    elmtSet.AddElement(elmt);
                    y += dy;
                }
                x += dx;
            }
            return(elmtSet);
        }
        public void GetValues_AsProvider()
        {
            LinkableTimeSeriesGroup linkableTimeSeriesGroup = new LinkableTimeSeriesGroup();

            linkableTimeSeriesGroup.Initialize(arguments);

            InputExchangeItem targetExchangeItem = new InputExchangeItem();
            Quantity          targetQuantity     = new Quantity();

            targetQuantity.ID   = "Water Level";
            targetQuantity.Unit = new HydroNumerics.OpenMI.Sdk.Backbone.Unit("meter", 1, 0, "meter");
            ElementSet targetElementSet = new ElementSet("inputLocation", "Location", ElementType.IDBased, new SpatialReference(""));

            targetElementSet.AddElement(new Element("E1"));

            Link link = new Link();

            link.SourceComponent  = linkableTimeSeriesGroup;
            link.SourceQuantity   = linkableTimeSeriesGroup.GetOutputExchangeItem(1).Quantity;
            link.SourceElementSet = linkableTimeSeriesGroup.GetOutputExchangeItem(1).ElementSet;
            link.TargetComponent  = null;
            link.TargetQuantity   = targetQuantity;
            link.TargetElementSet = targetElementSet;
            link.ID = "Link001";

            linkableTimeSeriesGroup.AddLink(link);
            linkableTimeSeriesGroup.Prepare();

            IValueSet valueSet = linkableTimeSeriesGroup.GetValues(new TimeStamp(new System.DateTime(2010, 1, 5)), "Link001");

            Assert.AreEqual(0.063, ((IScalarSet)valueSet).GetScalar(0));

            linkableTimeSeriesGroup.Finish();
            linkableTimeSeriesGroup.Dispose();
        }
Ejemplo n.º 8
0
        public static IDictionary <string, IElementSet> CreateRainfallMeasurementsElementSets()
        {
            IDictionary <string, IElementSet> elementSets = new Dictionary <string, IElementSet>();

            String     areaId     = "IsoHyet-1";
            ElementSet elementSet = new ElementSet(areaId, areaId, ElementType.Polygon, "RijksdriehoekCoordinaten");
            Element    element    = new Element(areaId);

            element.AddVertex(new Coordinate(75, 25, 0));
            element.AddVertex(new Coordinate(125, 25, 0));
            element.AddVertex(new Coordinate(125, 125, 0));
            element.AddVertex(new Coordinate(75, 125, 0));
            elementSet.AddElement(element);
            elementSets.Add(areaId, elementSet);

            areaId     = "IsoHyet-2";
            elementSet = new ElementSet(areaId, areaId, ElementType.Polygon, "RijksdriehoekCoordinaten");
            element    = new Element(areaId);
            element.AddVertex(new Coordinate(125, 25, 0));
            element.AddVertex(new Coordinate(175, 25, 0));
            element.AddVertex(new Coordinate(175, 175, 0));
            element.AddVertex(new Coordinate(125, 175, 0));
            elementSet.AddElement(element);
            elementSets.Add(areaId, elementSet);

            return(elementSets);
        }
Ejemplo n.º 9
0
        public override void Initialize(IArgument[] properties)
        {
            for (int i = 0; i < 20; i++)
            {
                string     ID         = (i + 1).ToString();
                Quantity   quantity   = new Quantity(new Unit("Unit", 1.0, 0.0, "Unit"), "Quantity", "Quantity");
                ElementSet elementSet = new ElementSet(ID, ID, ElementType.IDBased,
                                                       new SpatialReference());
                Element element = new Element(ID);
                elementSet.AddElement(element);
                InputExchangeItem exchangeItem = new InputExchangeItem();
                exchangeItem.ElementSet = elementSet;
                exchangeItem.Quantity   = quantity;
                AddInputExchangeItem(exchangeItem);
            }

            for (int i = 0; i < 20; i++)
            {
                string     ID         = (i + 1).ToString();
                Quantity   quantity   = new Quantity(new Unit("Unit", 1.0, 0.0, "Unit"), "Quantity", "Quantity");
                ElementSet elementSet = new ElementSet(ID, ID, ElementType.IDBased,
                                                       new SpatialReference());
                Element element = new Element(ID);
                elementSet.AddElement(element);
                OutputExchangeItem exchangeItem = new OutputExchangeItem();
                exchangeItem.ElementSet = elementSet;
                exchangeItem.Quantity   = quantity;
                AddOutputExchangeItem(exchangeItem);
            }
        }
Ejemplo n.º 10
0
        public void EqualsVertices()
        {
            ElementSet elementSet1 = new ElementSet("ElementSet", "ElementSetID", ElementType.Polygon);

            element1 = new Element("element1");
            element1.AddVertex(new Coordinate(1.1, 2.0, 3.0));
            element1.AddVertex(new Coordinate(2.0, 3.0, 4.0));
            element1.AddVertex(new Coordinate(4.0, 5.0, 6.0));
            elementSet1.AddElement(element1);
            element2 = new Element("element2");
            element2.AddVertex(new Coordinate(6.0, 7.0, 8.0));
            element2.AddVertex(new Coordinate(9.0, 10.0, 11.0));
            element2.AddVertex(new Coordinate(12.0, 13.0, 14.0));
            elementSet1.AddElement(element2);

            Assert.IsFalse(elementSet.Equals(elementSet1));
        }
Ejemplo n.º 11
0
        public void EqualsDescription()
        {
            ElementSet elementSet1 = new ElementSet("Element", "ElementSetID",
                                                    ElementType.XYPolygon, new SpatialReference("ReferenceID"));

            element1 = new Element("element1");
            element1.AddVertex(new Vertex(1.0, 2.0, 3.0));
            element1.AddVertex(new Vertex(2.0, 3.0, 4.0));
            element1.AddVertex(new Vertex(4.0, 5.0, 6.0));
            elementSet1.AddElement(element1);
            element2 = new Element("element2");
            element2.AddVertex(new Vertex(6.0, 7.0, 8.0));
            element2.AddVertex(new Vertex(9.0, 10.0, 11.0));
            element2.AddVertex(new Vertex(12.0, 13.0, 14.0));
            elementSet1.AddElement(element2);

            Assert.IsFalse(elementSet.Equals(elementSet1));
        }
Ejemplo n.º 12
0
 public void Init()
 {
     elementSet = new ElementSet("ElementSet", "ElementSetID",
                                 ElementType.XYPolygon, new SpatialReference("ReferenceID"));
     element1 = new Element("element1");
     element1.AddVertex(new Vertex(1.0, 2.0, 3.0));
     element1.AddVertex(new Vertex(2.0, 3.0, 4.0));
     element1.AddVertex(new Vertex(4.0, 5.0, 6.0));
     int[] index = { 1, 2, 3, 4, 5 };
     element1.AddFace(index);
     elementSet.AddElement(element1);
     element2 = new Element("element2");
     element2.AddVertex(new Vertex(6.0, 7.0, 8.0));
     element2.AddVertex(new Vertex(9.0, 10.0, 11.0));
     element2.AddVertex(new Vertex(12.0, 13.0, 14.0));
     int[] index2 = { 6, 7, 8, 9 };
     element2.AddFace(index2);
     elementSet.AddElement(element2);
 }
Ejemplo n.º 13
0
        public void MyTestInitialize()
        {
            elementSet = new ElementSet("ElementSet", "ElementSetID", ElementType.Polygon);

            element1 = new Element("element1");
            element1.AddVertex(new Coordinate(1.0, 2.0, 3.0));
            element1.AddVertex(new Coordinate(2.0, 3.0, 4.0));
            element1.AddVertex(new Coordinate(4.0, 5.0, 6.0));
            int[] index = { 1, 2, 3, 4, 5 };
            element1.AddFace(index);
            elementSet.AddElement(element1);

            element2 = new Element("element2");
            element2.AddVertex(new Coordinate(6.0, 7.0, 8.0));
            element2.AddVertex(new Coordinate(9.0, 10.0, 11.0));
            element2.AddVertex(new Coordinate(12.0, 13.0, 14.0));
            int[] index2 = { 6, 7, 8, 9 };
            element2.AddFace(index2);
            elementSet.AddElement(element2);
        }
Ejemplo n.º 14
0
        public void EqualsSpatialReference()
        {
            ElementSet elementSet1 = new ElementSet("ElementSet", "ElementSetID", ElementType.Polygon);

            element1 = new Element("element1");
            element1.AddVertex(new Coordinate(1.0, 2.0, 3.0));
            element1.AddVertex(new Coordinate(2.0, 3.0, 4.0));
            element1.AddVertex(new Coordinate(4.0, 5.0, 6.0));
            elementSet1.AddElement(element1);

            element2 = new Element("element2");
            element2.AddVertex(new Coordinate(6.0, 7.0, 8.0));
            element2.AddVertex(new Coordinate(9.0, 10.0, 11.0));
            element2.AddVertex(new Coordinate(12.0, 13.0, 14.0));
            elementSet1.AddElement(element2);

            elementSet1.SpatialReferenceSystemWkt = "PROJCS[\"Mercator Spheric\", GEOGCS[\"WGS84based_GCS\", DATUM[\"WGS84based_Datum\", SPHEROID[\"WGS84based_Sphere\", 6378137, 0], TOWGS84[0, 0, 0, 0, 0, 0, 0]], PRIMEM[\"Greenwich\", 0, AUTHORITY[\"EPSG\", \"8901\"]], UNIT[\"degree\", 0.0174532925199433, AUTHORITY[\"EPSG\", \"9102\"]], AXIS[\"E\", EAST], AXIS[\"N\", NORTH]], PROJECTION[\"Mercator\"], PARAMETER[\"False_Easting\", 0], PARAMETER[\"False_Northing\", 0], PARAMETER[\"Central_Meridian\", 0], PARAMETER[\"Latitude_of_origin\", 0], UNIT[\"metre\", 1, AUTHORITY[\"EPSG\", \"9001\"]], AXIS[\"East\", EAST], AXIS[\"North\", NORTH]]";

            Assert.IsFalse(elementSet.Equals(elementSet1));
        }
Ejemplo n.º 15
0
        public void ExpectedException_1_Vertex_in_PolylineElement()
        {
            //One Vertex in polyline element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.XYPolyLine, new SpatialReference("DummyID"));

            Oatc.OpenMI.Sdk.Backbone.Element e1 = new Oatc.OpenMI.Sdk.Backbone.Element("e1");
            e1.AddVertex(new Vertex(1, 1, 1));

            elementSet.AddElement(e1);

            ElementSetChecker.CheckElementSet(elementSet);
        }
Ejemplo n.º 16
0
        public void ExpectedException_1_Vertex_in_PolylineElement()
        {
            //One Coordinate in polyline element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.PolyLine);

            Oatc.OpenMI.Sdk.Backbone.Element e1 = new Oatc.OpenMI.Sdk.Backbone.Element("e1");
            e1.AddVertex(new Coordinate(1, 1, 1));

            elementSet.AddElement(e1);

            ElementSetChecker.CheckElementSet(elementSet);
        }
Ejemplo n.º 17
0
        private void AddElementset(string elementSetId)
        {
            if (_elementSets.ContainsKey(elementSetId))
            {
                throw new Exception("ElementSet \"" + elementSetId + "\" already exists");
            }

            var elementSet = new ElementSet(elementSetId, elementSetId, ElementType.IdBased, "");

            elementSet.AddElement(new Element(elementSetId));
            _elementSets.Add(elementSetId, elementSet);
        }
Ejemplo n.º 18
0
        public TimeSeriesComponent()
        {
            Id = "TimeSeriesComponent";
              Quantity quantity = new Quantity(new Unit("literprSecond", 0.001, 0, "lprsec"), "flow", "flow");
              ElementSet elementSet = new ElementSet("oo", "Caption", ElementType.IdBased);
              Element element = new Element("ElementID");
              elementSet.AddElement(element);

              OutputItem outputExchangeItem = new OutputItem("oo.Flow", quantity, elementSet);
              outputExchangeItem.Component = this;
              outputItems.Add(outputExchangeItem);
        }
Ejemplo n.º 19
0
        public void ExpectedException_2_Vertices_in_PolygonElement()
        {
            //Two Vertices in polygon element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.Polygon);

            Oatc.OpenMI.Sdk.Backbone.Element e1 = new Oatc.OpenMI.Sdk.Backbone.Element("e1");
            e1.AddVertex(new Coordinate(1, 1, 1));
            e1.AddVertex(new Coordinate(2, 2, 2));

            elementSet.AddElement(e1);

            ElementSetChecker.CheckElementSet(elementSet);
        }
Ejemplo n.º 20
0
        public void ExpectedException_2_Vertices_in_PointElement()
        {
            //Two Vertices in point element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.XYPoint, new SpatialReference("DummyID"));

            Oatc.OpenMI.Sdk.Backbone.Element e1 = new Oatc.OpenMI.Sdk.Backbone.Element("e1");
            e1.AddVertex(new Vertex(1, 1, 1));
            e1.AddVertex(new Vertex(2, 2, 2));           //here the error is introduced on purpose

            elementSet.AddElement(e1);

            ElementSetChecker.CheckElementSet(elementSet);
        }
Ejemplo n.º 21
0
        public void CreateModelsAndInputItemsForQuery()
        {
            _dischargeQuantity  = new Quantity(new Unit(PredefinedUnits.CubicMeterPerSecond), null, "Discharge");
            _waterlevelQuantity = new Quantity(new Unit(PredefinedUnits.Meter), null, "Water Level");

            _idBasedElementSetA = new ElementSet(null, "ElmSet-A", ElementType.IdBased);
            _idBasedElementSetA.AddElement(new Element("elm-1"));

            _queryItem1         = new Input("discharge, to be retrieved from some output item", _dischargeQuantity, _idBasedElementSetA);
            _queryItem1.TimeSet = new TimeSet();

            _queryItem2         = new Input("water level, to be retrieved from some output item", _waterlevelQuantity, _idBasedElementSetA);
            _queryItem2.TimeSet = new TimeSet();
        }
Ejemplo n.º 22
0
        public override IOutputExchangeItem GetOutputExchangeItem(int outputExchangeItemIndex)
        {
            Quantity   quantity   = new Quantity(new Unit("literprSecond", 0.001, 0, "lprsec"), "flow", "flow", global::OpenMI.Standard.ValueType.Scalar, new Dimension());
            ElementSet elementSet = new ElementSet("oo", "ID", ElementType.IDBased, new SpatialReference("no"));
            Element    element    = new Element("ElementID");

            elementSet.AddElement(element);
            OutputExchangeItem outputExchangeItem = new OutputExchangeItem();

            outputExchangeItem.ElementSet = elementSet;
            outputExchangeItem.Quantity   = quantity;

            return(outputExchangeItem);
        }
Ejemplo n.º 23
0
        public Input CreateVolumeInput()
        {
            Quantity volumeQuantity = new Quantity(new Unit(PredefinedUnits.Liter), null, "Volume");

            ElementSet idBasedElementSetA = new ElementSet(null, "ElmSet-A", ElementType.IdBased);

            idBasedElementSetA.AddElement(new Element("elm-1"));

            Input queryItem = new Input("Volume, to be retrieved from some output item", volumeQuantity, idBasedElementSetA);

            queryItem.TimeSet = new TimeSet();

            return(queryItem);
        }
Ejemplo n.º 24
0
        public Input CreateDischargeInput()
        {
            Quantity dischargeQuantity = new Quantity(new Unit(PredefinedUnits.CubicMeterPerSecond), null, "Discharge");

            ElementSet idBasedElementSetA = new ElementSet(null, "ElmSet-A", ElementType.IdBased);

            idBasedElementSetA.AddElement(new Element("elm-1"));

            Input queryItem = new Input("discharge, to be retrieved from some output item", dischargeQuantity, idBasedElementSetA);

            queryItem.TimeSet = new TimeSet();

            return(queryItem);
        }
Ejemplo n.º 25
0
        public override IOutputExchangeItem GetOutputExchangeItem(int outputExchangeItemIndex)
        {
            string     ID         = "1";
            Quantity   quantity   = new Quantity(new Unit("Unit", 1.0, 0.0, "Unit"), "Cost", "Cost");
            ElementSet elementSet = new ElementSet(ID, ID, ElementType.IDBased,
                                                   new SpatialReference());
            Element element = new Element(ID);

            elementSet.AddElement(element);
            OutputExchangeItem exchangeItem = new OutputExchangeItem();

            exchangeItem.ElementSet = elementSet;
            exchangeItem.Quantity   = quantity;
            return(exchangeItem);
        }
Ejemplo n.º 26
0
        public void ExpectedException_WrongOrderingOfPoint_in_PolygonElement()
        {
            //Wrong ordering of vertices in polygon element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.Polygon);

            Oatc.OpenMI.Sdk.Backbone.Element e1 = new Oatc.OpenMI.Sdk.Backbone.Element("e1");
            e1.AddVertex(new Coordinate(0, 0, 0));
            e1.AddVertex(new Coordinate(0, 1, 0));
            e1.AddVertex(new Coordinate(1, 1, 0));
            e1.AddVertex(new Coordinate(1, 0, 0));

            elementSet.AddElement(e1);

            ElementSetChecker.CheckElementSet(elementSet);
        }
Ejemplo n.º 27
0
        public void ExpectedException_WrongOrderingOfPoint_in_PolygonElement()
        {
            //Wrong ordering of vertices in polygon element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.XYPolygon, new SpatialReference("DummyID"));

            Oatc.OpenMI.Sdk.Backbone.Element e1 = new Oatc.OpenMI.Sdk.Backbone.Element("e1");
            e1.AddVertex(new Vertex(0, 0, 0));
            e1.AddVertex(new Vertex(0, 1, 0));
            e1.AddVertex(new Vertex(1, 1, 0));
            e1.AddVertex(new Vertex(1, 0, 0));

            elementSet.AddElement(e1);

            ElementSetChecker.CheckElementSet(elementSet);
        }
        public void ExpectexException_UpdateMappingMatrix_ElementChecker()
        {
            //Two Vertices in point element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.XYPoint, new SpatialReference("DummyID"));
            Element    e1         = new Element("e1");

            e1.AddVertex(new Vertex(1, 1, 1));
            e1.AddVertex(new Vertex(2, 2, 2));           //here the error is introduced on purpose

            elementSet.AddElement(e1);

            ElementMapper elementMapper = new ElementMapper();
            string        method        = (string)elementMapper.GetAvailableMethods(ElementType.XYPolyLine, ElementType.XYPolygon)[0];

            elementMapper.UpdateMappingMatrix(method, elementSet, elementSet);
        }
Ejemplo n.º 29
0
        public void ExpectedException_Crossing_lines_in_PolygonElement()
        {
            //Crossing lines in polygon element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.XYPolygon, new SpatialReference("DummyID"));

            Oatc.OpenMI.Sdk.Backbone.Element e1 = new Oatc.OpenMI.Sdk.Backbone.Element("e1");
            e1.AddVertex(new Vertex(0, 1, 0));
            e1.AddVertex(new Vertex(0, 0, 0));
            e1.AddVertex(new Vertex(1, 0, 0));
            e1.AddVertex(new Vertex(0.9, 1.1, 0));
            e1.AddVertex(new Vertex(1.1, 0.9, 0));

            elementSet.AddElement(e1);

            ElementSetChecker.CheckElementSet(elementSet);
        }
Ejemplo n.º 30
0
        public void ExpectedException_UpdateMappingMatrix_ElementChecker()
        {
            //Two Vertices in point element error
            ElementSet elementSet = new ElementSet("test", "test", ElementType.Point);
            Element    e1         = new Element("e1");

            e1.AddVertex(new Coordinate(1, 1, 1));
            e1.AddVertex(new Coordinate(2, 2, 2)); //here the error is introduced on purpose

            elementSet.AddElement(e1);

            ElementMapper elementMapper = new ElementMapper();
            IIdentifiable method        = SpatialAdaptedOutputFactory.GetAvailableMethods(ElementType.PolyLine, ElementType.Polygon)[0];

            elementMapper.Initialise(method, elementSet, elementSet);
        }