public override void SolveInstance(IGH_DataAccess DA, out string msg, out GH_RuntimeMessageLevel level) { msg = ""; level = GH_RuntimeMessageLevel.Blank; //var line = new LineCurve(); Curve inCurve = null; var noIndex = 0; var comment = ""; var rfHinge = new RFLineHinge(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var tx = 0.0; var ty = 0.0; var tz = 0.0; var rx = 0.0; var ry = 0.0; var rz = 0.0; var lineNo = 0; var sfcNo = 0; var side = 0; //int newNo = 0; if (DA.GetData(12, ref inRFEM)) { rfHinge = new RFLineHinge((RFLineHinge)inRFEM.Value); if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); rfHinge = new RFLineHinge(rfHinge, myRFLine); } if (DA.GetData(10, ref lineNo)) { rfHinge.LineNo = lineNo; } } else if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); rfHinge = new RFLineHinge(new RFLineHinge(), myRFLine); } else if (DA.GetData(10, ref lineNo)) { rfHinge.LineNo = lineNo; } else { msg = "Insufficient input parameters. Provide either Input Curve or Line Number or existing RFLineHinge Object. "; level = GH_RuntimeMessageLevel.Warning; return; } if (DA.GetData(13, ref mod)) { rfHinge.ToModify = mod; } if (DA.GetData(14, ref del)) { rfHinge.ToDelete = del; } if (DA.GetData(1, ref noIndex)) { rfHinge.No = noIndex; } if (DA.GetData(2, ref sfcNo)) { rfHinge.SfcNo = sfcNo; } if (DA.GetData(9, ref comment)) { rfHinge.Comment = comment; } if (DA.GetData(3, ref tx)) { rfHinge.Tx = tx; } if (DA.GetData(4, ref ty)) { rfHinge.Ty = ty; } if (DA.GetData(5, ref tz)) { rfHinge.Tz = tz; } if (DA.GetData(6, ref rx)) { rfHinge.Rx = rx; } if (DA.GetData(7, ref ry)) { rfHinge.Ry = ry; } if (DA.GetData(8, ref rz)) { rfHinge.Rz = rz; } if (DA.GetData(11, ref side)) { rfHinge.Side = (HingeSideType)side; if (rfHinge.Side == HingeSideType.UnknownSideType) { msg = "Hinge Side Type not supported. "; level = GH_RuntimeMessageLevel.Warning; return; } } DA.SetData(0, rfHinge); }
public override void SolveInstance(IGH_DataAccess DA, out string msg, out GH_RuntimeMessageLevel level) { msg = ""; level = GH_RuntimeMessageLevel.Blank; Curve inCurve = null; var noIndex = 0; var comment = ""; var rfSup = new RFSupportL(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var tx = 0.0; var ty = 0.0; var tz = 0.0; var rx = 0.0; var ry = 0.0; var rz = 0.0; var lineList = ""; var refSys = 0; if (DA.GetData(11, ref inRFEM)) { rfSup = new RFSupportL((RFSupportL)inRFEM.Value); if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); var myRFLines = new List <RFLine>() { myRFLine }; rfSup = new RFSupportL(rfSup, myRFLines); } } else if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); var myRFLines = new List <RFLine>() { myRFLine }; rfSup = new RFSupportL(new LineSupport(), myRFLines); } else if (DA.GetData(9, ref lineList)) { rfSup = new RFSupportL(); rfSup.LineList = lineList; } else { msg = "Insufficient input parameters. Provide either Input Curve or Line List or existing RFSupportL Object. "; level = GH_RuntimeMessageLevel.Warning; return; } if (DA.GetData(12, ref mod)) { rfSup.ToModify = mod; } if (DA.GetData(13, ref del)) { rfSup.ToDelete = del; } if (DA.GetData(1, ref noIndex)) { rfSup.No = noIndex; } if (DA.GetData(8, ref comment)) { rfSup.Comment = comment; } if (DA.GetData(2, ref tx)) { rfSup.Tx = tx; } if (DA.GetData(3, ref ty)) { rfSup.Ty = ty; } if (DA.GetData(4, ref tz)) { rfSup.Tz = tz; } if (DA.GetData(5, ref rx)) { rfSup.Rx = rx; } if (DA.GetData(6, ref ry)) { rfSup.Ry = ry; } if (DA.GetData(7, ref rz)) { rfSup.Rz = rz; } if (DA.GetData(9, ref lineList)) { rfSup.LineList = lineList; } if (DA.GetData(10, ref refSys)) { rfSup.RSType = (ReferenceSystemType)refSys; if (rfSup.RSType == ReferenceSystemType.UnknownReferenceSystemType) { msg = "Reference System Type not supported. "; level = GH_RuntimeMessageLevel.Warning; return; } } DA.SetData(0, rfSup); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object can be used to retrieve data from input parameters and /// to store data in output parameters.</param> protected override void SolveInstance(IGH_DataAccess DA, EvaluationUnit unit) { //var line = new LineCurve(); Curve inCurve = null; var noIndex = 0; var comment = ""; var rfHinge = new RFLineHinge(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var tx = 0.0; var ty = 0.0; var tz = 0.0; var rx = 0.0; var ry = 0.0; var rz = 0.0; var lineNo = 0; var sfcNo = 0; var side = ""; //int newNo = 0; if (DA.GetData(12, ref inRFEM)) { rfHinge = new RFLineHinge((RFLineHinge)inRFEM.Value); } else if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); rfHinge = new RFLineHinge(new RFLineHinge(), myRFLine); } else if (DA.GetData(10, ref lineNo)) { rfHinge.LineNo = lineNo; } else { return; } if (DA.GetData(13, ref mod)) { rfHinge.ToModify = mod; } if (DA.GetData(14, ref del)) { rfHinge.ToDelete = del; } if (DA.GetData(1, ref noIndex)) { rfHinge.No = noIndex; } if (DA.GetData(2, ref sfcNo)) { rfHinge.SfcNo = sfcNo; } if (DA.GetData(9, ref comment)) { rfHinge.Comment = comment; } if (DA.GetData(3, ref tx)) { rfHinge.Tx = tx; } if (DA.GetData(4, ref ty)) { rfHinge.Ty = ty; } if (DA.GetData(5, ref tz)) { rfHinge.Tz = tz; } if (DA.GetData(6, ref rx)) { rfHinge.Rx = rx; } if (DA.GetData(7, ref ry)) { rfHinge.Ry = ry; } if (DA.GetData(8, ref rz)) { rfHinge.Rz = rz; } if (DA.GetData(11, ref side)) { Enum.TryParse(side, out HingeSideType mySide); rfHinge.Side = mySide; } DA.SetData(0, rfHinge); }
public override void SolveInstance(IGH_DataAccess DA, out string msg, out GH_RuntimeMessageLevel level) { msg = ""; level = GH_RuntimeMessageLevel.Blank; //var line = new LineCurve(); Curve inCurve = null; var noIndex = 0; var comment = ""; var rFMember = new RFMember(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var lineNo = 0; var memberType = 0; var taperType = 0; var rotAngle = 0.0; //var intPoints = 4; var sCS = 0; var eCS = 0; var sH = 0; var eH = 0; var ecc = 0; var div = 0; var kcry = 1.0; var kcrz = 1.0; //int newNo = 0; if (DA.GetData(15, ref inRFEM)) { rFMember = new RFMember((RFMember)inRFEM.Value); if (DA.GetData(1, ref sCS)) { rFMember.StartCrossSectionNo = sCS; } if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); rFMember.SetFrames(); } if (DA.GetData(1, ref sCS)) { rFMember.StartCrossSectionNo = sCS; } } else if (DA.GetData(0, ref inCurve) && DA.GetData(1, ref sCS)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); rFMember.BaseLine = myRFLine; rFMember.SetFrames(); rFMember.StartCrossSectionNo = sCS; } else if (DA.GetData(4, ref lineNo) && DA.GetData(1, ref sCS)) { rFMember.LineNo = lineNo; rFMember.BaseLine = null; rFMember.StartCrossSectionNo = sCS; } else { msg = "Insufficient input parameters. Provide either Input Curve and Start Cross Section or existing RFMember Object. "; level = GH_RuntimeMessageLevel.Warning; return; } // Check line length if (rFMember.BaseLine != null && rFMember.BaseLine.ToCurve().GetLength() <= 0.001) { level = GH_RuntimeMessageLevel.Warning; msg = "Line is too short. It may cause import errors."; } if (DA.GetData(16, ref mod)) { rFMember.ToModify = mod; } if (DA.GetData(17, ref del)) { rFMember.ToDelete = del; } if (DA.GetData(2, ref noIndex)) { rFMember.No = noIndex; } if (DA.GetData(3, ref comment)) { rFMember.Comment = comment; } //if (DA.GetData(4, ref lineNo)) //{ // rFMember.LineNo = lineNo; //} if (DA.GetData(5, ref memberType)) { rFMember.Type = (MemberType)memberType; if (rFMember.Type == MemberType.UnknownMemberType) { msg = "Member Type not supported. "; level = GH_RuntimeMessageLevel.Warning; return; } } if (DA.GetData(6, ref rotAngle)) { rFMember.RotationType = RotationType.Angle; rFMember.RotationAngle = rotAngle; } if (DA.GetData(7, ref eCS)) { rFMember.EndCrossSectionNo = eCS; } if (DA.GetData(8, ref sH)) { rFMember.StartHingeNo = sH; } if (DA.GetData(9, ref eH)) { rFMember.EndHingeNo = eH; } if (DA.GetData(10, ref ecc)) { rFMember.EccentricityNo = ecc; } if (DA.GetData(11, ref div)) { rFMember.DivisionNo = div; } if (DA.GetData(12, ref taperType)) { rFMember.TaperShape = (TaperShapeType)taperType; if (rFMember.TaperShape == TaperShapeType.UnknownTaperShape) { msg = "Taper Shape Type not supported. "; level = GH_RuntimeMessageLevel.Warning; return; } } if (DA.GetData(13, ref kcry)) { if (kcry < 0 || kcry > 1000) { msg = "Effective length factor Kcr,y out of range. "; level = GH_RuntimeMessageLevel.Warning; return; } rFMember.Kcry = kcry; } if (DA.GetData(14, ref kcrz)) { if (kcrz < 0 || kcrz > 1000) { msg = "Effective length factor Kcr,z out of range. "; level = GH_RuntimeMessageLevel.Warning; return; } rFMember.Kcrz = kcrz; } DA.SetData(0, rFMember); }
public override void SolveInstance(IGH_DataAccess DA, out string msg, out GH_RuntimeMessageLevel level) { msg = ""; level = GH_RuntimeMessageLevel.Blank; //var line = new LineCurve(); Curve inCurve = null; var noIndex = 0; var comment = ""; var rFLine = new RFLine(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var nodeList = ""; var lineType = 0; var rotAngle = 0.0; //int intPoints = 4; //int newNo = 0; if (DA.GetData(6, ref inRFEM)) { rFLine = new RFLine((RFLine)inRFEM.Value); } else if (DA.GetData(0, ref inCurve)) { Component_RFLine.SetGeometry(inCurve, ref rFLine); } else if (DA.GetData(3, ref nodeList)) { rFLine.NodeList = nodeList; } else { msg = "Insufficient input parameters. Provide either Input Curve, node list or existing RFLine Object. "; level = GH_RuntimeMessageLevel.Warning; return; } // Check line length if (rFLine.ControlPoints != null && rFLine.ControlPoints.Length > 0 && rFLine.ToCurve().GetLength() <= 0.001) { level = GH_RuntimeMessageLevel.Warning; msg = "Line is too short. It may cause import errors."; } if (DA.GetData(7, ref mod)) { rFLine.ToModify = mod; } if (DA.GetData(8, ref del)) { rFLine.ToDelete = del; } if (DA.GetData(1, ref noIndex)) { rFLine.No = noIndex; } if (DA.GetData(2, ref comment)) { rFLine.Comment = comment; } if (DA.GetData(3, ref nodeList)) { rFLine.NodeList = nodeList; } if (DA.GetData(4, ref lineType)) { rFLine.Type = (LineType)lineType; if (rFLine.Type == LineType.UnknownLineType || rFLine.Type == LineType.ParabolaType || rFLine.Type == LineType.TrajectoryType || rFLine.Type == LineType.OnSurfaceType || (nodeList != "" && rFLine.Type == LineType.NurbSplineType)) { msg = "Line Type not supported. "; level = GH_RuntimeMessageLevel.Warning; return; } } if (DA.GetData(5, ref rotAngle)) { rFLine.RotationType = RotationType.Angle; rFLine.RotationAngle = rotAngle; } DA.SetData(0, rFLine); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object can be used to retrieve data from input parameters and /// to store data in output parameters.</param> protected override void SolveInstance(IGH_DataAccess DA, EvaluationUnit unit) { //var line = new LineCurve(); Curve inCurve = null; var noIndex = 0; var comment = ""; var rFMember = new RFMember(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var lineNo = 0; var memberType = ""; var taperType = ""; var rotAngle = 0.0; //var intPoints = 4; var sCS = 0; var eCS = 0; var sH = 0; var eH = 0; var ecc = 0; var div = 0; //int newNo = 0; if (DA.GetData(13, ref inRFEM)) { rFMember = new RFMember((RFMember)inRFEM.Value); if (DA.GetData(1, ref sCS)) { rFMember.StartCrossSectionNo = sCS; } } else if (DA.GetData(0, ref inCurve) && DA.GetData(1, ref sCS)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); rFMember.BaseLine = myRFLine; rFMember.StartCrossSectionNo = sCS; } else { return; } if (DA.GetData(14, ref mod)) { rFMember.ToModify = mod; } if (DA.GetData(15, ref del)) { rFMember.ToDelete = del; } if (DA.GetData(2, ref noIndex)) { rFMember.No = noIndex; } if (DA.GetData(3, ref comment)) { rFMember.Comment = comment; } if (DA.GetData(4, ref lineNo)) { rFMember.LineNo = lineNo; } if (DA.GetData(5, ref memberType)) { Enum.TryParse(memberType, out MemberType myMemberType); rFMember.Type = myMemberType; } if (DA.GetData(6, ref rotAngle)) { rFMember.RotationType = RotationType.Angle; rFMember.RotationAngle = rotAngle; } if (DA.GetData(7, ref eCS)) { rFMember.EndCrossSectionNo = eCS; } if (DA.GetData(8, ref sH)) { rFMember.StartHingeNo = sH; } if (DA.GetData(9, ref eH)) { rFMember.EndHingeNo = eH; } if (DA.GetData(10, ref ecc)) { rFMember.EccentricityNo = ecc; } if (DA.GetData(11, ref div)) { rFMember.DivisionNo = div; } if (DA.GetData(12, ref taperType)) { Enum.TryParse(taperType, out TaperShapeType myTaperType); rFMember.TaperShape = myTaperType; } DA.SetData(0, rFMember); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object can be used to retrieve data from input parameters and /// to store data in output parameters.</param> protected override void SolveInstance(IGH_DataAccess DA, EvaluationUnit unit) { //var line = new LineCurve(); Curve inCurve = null; var noIndex = 0; var comment = ""; var rfSup = new RFSupportL(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var tx = 0.0; var ty = 0.0; var tz = 0.0; var rx = 0.0; var ry = 0.0; var rz = 0.0; var lineList = ""; var refSys = ""; //int newNo = 0; if (DA.GetData(11, ref inRFEM)) { rfSup = new RFSupportL((RFSupportL)inRFEM.Value); } else if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); var myRFLines = new List <RFLine>() { myRFLine }; rfSup = new RFSupportL(new LineSupport(), myRFLines); } else { return; } if (DA.GetData(12, ref mod)) { rfSup.ToModify = mod; } if (DA.GetData(13, ref del)) { rfSup.ToDelete = del; } if (DA.GetData(1, ref noIndex)) { rfSup.No = noIndex; } if (DA.GetData(8, ref comment)) { rfSup.Comment = comment; } if (DA.GetData(2, ref tx)) { rfSup.Tx = tx; } if (DA.GetData(3, ref ty)) { rfSup.Ty = ty; } if (DA.GetData(4, ref tz)) { rfSup.Tz = tz; } if (DA.GetData(5, ref rx)) { rfSup.Rx = rx; } if (DA.GetData(6, ref ry)) { rfSup.Ry = ry; } if (DA.GetData(7, ref rz)) { rfSup.Rz = rz; } if (DA.GetData(9, ref lineList)) { rfSup.LineList = lineList; } if (DA.GetData(10, ref refSys)) { Enum.TryParse(refSys, out ReferenceSystemType myrefSys); rfSup.RSType = myrefSys; } DA.SetData(0, rfSup); }
public override void SolveInstance(IGH_DataAccess DA, out string msg, out GH_RuntimeMessageLevel level) { msg = ""; level = GH_RuntimeMessageLevel.Blank; Curve inCurve = null; var noIndex = 0; var loadCase = 0; var comment = ""; var rfLineLoad = new RFLineLoad(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var lineList = ""; var type = 0; var dir = 0; var dist = 0; var reference = 0; var f1 = 0.0; var f2 = 0.0; var f3 = 0.0; var t1 = 0.0; var t2 = 0.0; var loads = new List <double>(); var distances = new List <double>(); var totallength = true; var reldistances = true; if (DA.GetData(18, ref inRFEM)) { rfLineLoad = new RFLineLoad((RFLineLoad)inRFEM.Value); if (DA.GetData(0, ref inCurve)) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); var myRFLines = new List <RFLine>() { myRFLine }; rfLineLoad = new RFLineLoad(rfLineLoad, myRFLines, rfLineLoad.LoadCase); } if (DA.GetData(1, ref loadCase)) { rfLineLoad.LoadCase = loadCase; } if (DA.GetData(5, ref lineList)) { rfLineLoad.LineList = lineList; } } else if ((DA.GetData(0, ref inCurve)) && (DA.GetData(1, ref loadCase))) { var myRFLine = new RFLine(); Component_RFLine.SetGeometry(inCurve, ref myRFLine); var myRFLines = new List <RFLine>() { myRFLine }; rfLineLoad = new RFLineLoad(new LineLoad(), myRFLines, loadCase); rfLineLoad.LoadType = LoadType.ForceType; rfLineLoad.LoadDirType = LoadDirectionType.LocalZType; rfLineLoad.LoadDistType = LoadDistributionType.UniformType; rfLineLoad.LoadRefType = LineLoadReferenceType.LinesType; rfLineLoad.OverTotalLength = true; rfLineLoad.RelativeDistances = true; } else if (DA.GetData(5, ref lineList) && (DA.GetData(1, ref loadCase))) { rfLineLoad = new RFLineLoad(); rfLineLoad.LoadCase = loadCase; rfLineLoad.LineList = lineList; rfLineLoad.LoadType = LoadType.ForceType; rfLineLoad.LoadDirType = LoadDirectionType.LocalZType; rfLineLoad.LoadDistType = LoadDistributionType.UniformType; rfLineLoad.LoadRefType = LineLoadReferenceType.LinesType; rfLineLoad.OverTotalLength = true; rfLineLoad.RelativeDistances = true; } else { msg = "Insufficient input parameters. Provide either base line and load case or line list and load case or existing RFLineLoad Object. "; level = GH_RuntimeMessageLevel.Warning; return; } if (DA.GetData(19, ref mod)) { rfLineLoad.ToModify = mod; } if (DA.GetData(20, ref del)) { rfLineLoad.ToDelete = del; } if (DA.GetData(3, ref noIndex)) { rfLineLoad.No = noIndex; } if (DA.GetData(4, ref comment)) { rfLineLoad.Comment = comment; } if (DA.GetDataList(10, loads) && DA.GetDataList(11, distances)) { if (loads.Count != distances.Count) { msg = "Null forces will result in an error in RFEM. "; level = GH_RuntimeMessageLevel.Warning; return; } var loadsarray = new double[loads.Count, 2]; for (int i = 0; i < loads.Count; i++) { loadsarray[i, 0] = distances[i] * 100; loadsarray[i, 1] = loads[i]; } rfLineLoad.LoadArray = loadsarray; } if (DA.GetData(2, ref f1)) { rfLineLoad.Magnitude1 = f1; } if (DA.GetData(6, ref f2)) { rfLineLoad.Magnitude2 = f2; } if (DA.GetData(7, ref f3)) { rfLineLoad.Magnitude3 = f3; } // Add warning in case of null forces if ((rfLineLoad.Magnitude1 == 0.0) && (rfLineLoad.Magnitude2 == 0.0) && (rfLineLoad.Magnitude3 == 0.0) && (loads.Count == 0)) { msg = "Null forces will result in an error in RFEM. "; level = GH_RuntimeMessageLevel.Warning; return; } if (DA.GetData(8, ref t1) && DA.GetData(9, ref t2)) { rfLineLoad.DistanceA = t1; rfLineLoad.DistanceB = t2; rfLineLoad.OverTotalLength = false; if ((t1 < 0.0) || (t1 > 1.0) || (t2 < 0.0) || (t2 > 1.0)) { msg = "Invalid interval. "; level = GH_RuntimeMessageLevel.Warning; return; } } if (DA.GetData(13, ref dir)) { rfLineLoad.LoadDirType = (LoadDirectionType)dir; } if (DA.GetData(14, ref dist)) { rfLineLoad.LoadDistType = (LoadDistributionType)dist; if (rfLineLoad.LoadDistType == LoadDistributionType.UnknownLoadDistributionType) { msg = "Load Distribution not supported. "; level = GH_RuntimeMessageLevel.Warning; return; } } if (DA.GetData(12, ref type)) { var myType = (LoadType)type; // Check Load Orientation switch (myType) { case LoadType.ForceType: if (rfLineLoad.LoadDirType == LoadDirectionType.LocalUType || rfLineLoad.LoadDirType == LoadDirectionType.LocalVType || rfLineLoad.LoadDirType == LoadDirectionType.UnknownLoadDirectionType || rfLineLoad.LoadDirType == LoadDirectionType.PerpendicularZType) { msg = "Load Direction Type not supported for this Loading Type. "; level = GH_RuntimeMessageLevel.Warning; return; } break; case LoadType.MomentType: if (rfLineLoad.LoadDirType == LoadDirectionType.LocalUType || rfLineLoad.LoadDirType == LoadDirectionType.LocalVType || rfLineLoad.LoadDirType == LoadDirectionType.ProjectXType || rfLineLoad.LoadDirType == LoadDirectionType.ProjectYType || rfLineLoad.LoadDirType == LoadDirectionType.ProjectZType || rfLineLoad.LoadDirType == LoadDirectionType.UnknownLoadDirectionType || rfLineLoad.LoadDirType == LoadDirectionType.PerpendicularZType) { msg = "Load Direction Type not supported for this Loading Type. "; level = GH_RuntimeMessageLevel.Warning; return; } break; default: { msg = "Load Type not supported. "; level = GH_RuntimeMessageLevel.Warning; return; } } rfLineLoad.LoadType = myType; } if (DA.GetData(15, ref reference)) { rfLineLoad.LoadRefType = (LineLoadReferenceType)reference; } if (DA.GetData(16, ref totallength)) { rfLineLoad.OverTotalLength = totallength; } if (DA.GetData(17, ref reldistances)) { rfLineLoad.RelativeDistances = reldistances; } DA.SetData(0, rfLineLoad); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object can be used to retrieve data from input parameters and /// to store data in output parameters.</param> protected override void SolveInstance(IGH_DataAccess DA, EvaluationUnit unit) { //var line = new LineCurve(); Curve inCurve = null; var noIndex = 0; var comment = ""; var rFLine = new RFLine(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; var nodeList = ""; var lineType = ""; var rotAngle = 0.0; //int intPoints = 4; //int newNo = 0; if (DA.GetData(6, ref inRFEM)) { rFLine = new RFLine((RFLine)inRFEM.Value); } else if (DA.GetData(0, ref inCurve)) { Component_RFLine.SetGeometry(inCurve, ref rFLine); } else { return; } if (DA.GetData(7, ref mod)) { rFLine.ToModify = mod; } if (DA.GetData(8, ref del)) { rFLine.ToDelete = del; } if (DA.GetData(1, ref noIndex)) { rFLine.No = noIndex; } if (DA.GetData(2, ref comment)) { rFLine.Comment = comment; } if (DA.GetData(3, ref nodeList)) { rFLine.NodeList = nodeList; } if (DA.GetData(4, ref lineType)) { Enum.TryParse(lineType, out LineType myLineType); rFLine.Type = myLineType; } if (DA.GetData(5, ref rotAngle)) { rFLine.RotationType = RotationType.Angle; rFLine.RotationAngle = rotAngle; } DA.SetData(0, rFLine); }