public void TestDuplicateOffset() { // create new offset GsaOffset offset = new GsaOffset(); offset.X1 = -1.57; offset.X2 = 2.5; offset.Y = -4.2; offset.Z = 10.5; // duplicate original GsaOffset dup = offset.Duplicate(); // make some changes to original offset.X1 = -1000; offset.X2 = 0.0025; offset.Y = 42; offset.Z = 0; Assert.AreEqual(-1.57, dup.X1); Assert.AreEqual(2.5, dup.X2); Assert.AreEqual(-4.2, dup.Y); Assert.AreEqual(10.5, dup.Z); Assert.AreEqual(-1000, offset.X1); Assert.AreEqual(0.0025, offset.X2); Assert.AreEqual(42, offset.Y); Assert.AreEqual(0, offset.Z); }
protected override void SolveInstance(IGH_DataAccess DA) { GsaOffset offset = new GsaOffset(); GsaOffset gsaoffset = new GsaOffset(); if (DA.GetData(0, ref gsaoffset)) { offset = gsaoffset.Duplicate(); } if (offset != null) { //inputs double x1 = 0; if (DA.GetData(1, ref x1)) { offset.X1 = x1; } double x2 = 0; if (DA.GetData(2, ref x2)) { offset.X2 = x2; } double y = 0; if (DA.GetData(3, ref y)) { offset.Y = y; } double z = 0; if (DA.GetData(4, ref z)) { offset.Z = z; } //outputs DA.SetData(0, new GsaOffsetGoo(offset)); DA.SetData(1, offset.X1); DA.SetData(2, offset.X2); DA.SetData(3, offset.Y); DA.SetData(4, offset.Z); } }
protected override void SolveInstance(IGH_DataAccess DA) { double x1 = 0; double x2 = 0; double y = 0; double z = 0; GH_Number ghOffsetX1 = new GH_Number(); if (DA.GetData(0, ref ghOffsetX1)) { GH_Convert.ToDouble(ghOffsetX1, out x1, GH_Conversion.Both); } GH_Number ghOffsetX2 = new GH_Number(); if (DA.GetData(1, ref ghOffsetX2)) { GH_Convert.ToDouble(ghOffsetX2, out x2, GH_Conversion.Both); } GH_Number ghOffsetY = new GH_Number(); if (DA.GetData(2, ref ghOffsetY)) { GH_Convert.ToDouble(ghOffsetY, out y, GH_Conversion.Both); } GH_Number ghOffsetZ = new GH_Number(); if (DA.GetData(3, ref ghOffsetZ)) { GH_Convert.ToDouble(ghOffsetZ, out z, GH_Conversion.Both); } GsaOffset offset = new GsaOffset { X1 = x1, X2 = x2, Y = y, Z = z }; DA.SetData(0, new GsaOffsetGoo(offset.Duplicate())); }