From 296bd130798e60455e88833cf0aa00727bfb1f48 Mon Sep 17 00:00:00 2001 From: Tilman Reinhardt Date: Mon, 28 Nov 2022 18:45:12 +0100 Subject: [PATCH] transformation methods --- GsaGH/Parameters/2_Geometry/GsaElement1d.cs | 28 +++++++++++++ .../Parameters/2_Geometry/GsaElement1dGoo.cs | 42 ++++++------------- GsaGH/Parameters/2_Geometry/GsaElement2d.cs | 1 - GsaGH/Parameters/2_Geometry/GsaMember1d.cs | 2 + GsaGH/Parameters/2_Geometry/GsaMember1dGoo.cs | 1 - 5 files changed, 42 insertions(+), 32 deletions(-) diff --git a/GsaGH/Parameters/2_Geometry/GsaElement1d.cs b/GsaGH/Parameters/2_Geometry/GsaElement1d.cs index 6a893a765..cb79a2c46 100644 --- a/GsaGH/Parameters/2_Geometry/GsaElement1d.cs +++ b/GsaGH/Parameters/2_Geometry/GsaElement1d.cs @@ -405,5 +405,33 @@ internal void UpdatePreview() previewPointEnd = this._line.PointAtEnd; } #endregion + + #region transformation methods + public GsaElement1d Transform(Transform xform) + { + GsaElement1d elem = this.Duplicate(true); + elem.Id = 0; + elem.LocalAxes = null; + + LineCurve xLn = elem.Line; + xLn.Transform(xform); + elem.Line = xLn; + + return elem; + } + + public GsaElement1d Morph(SpaceMorph xmorph) + { + GsaElement1d elem = this.Duplicate(true); + elem.Id = 0; + elem.LocalAxes = null; + + LineCurve xLn = this.Line; + xmorph.Morph(xLn); + elem.Line = xLn; + + return elem; + } + #endregion } } diff --git a/GsaGH/Parameters/2_Geometry/GsaElement1dGoo.cs b/GsaGH/Parameters/2_Geometry/GsaElement1dGoo.cs index 2e1a79a56..8f482ab42 100644 --- a/GsaGH/Parameters/2_Geometry/GsaElement1dGoo.cs +++ b/GsaGH/Parameters/2_Geometry/GsaElement1dGoo.cs @@ -1,6 +1,5 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Types; -using GsaAPI; using OasysGH; using Rhino.Geometry; using OasysGH.Parameters; @@ -114,35 +113,6 @@ public override bool CastFrom(object source) } #endregion - #region transformation methods - public override IGH_GeometricGoo Transform(Transform xform) - { - if (Value == null) { return null; } - if (Value.Line == null) { return null; } - - GsaElement1d elem = Value.Duplicate(true); - elem.Id = 0; - LineCurve xLn = elem.Line; - xLn.Transform(xform); - elem.Line = xLn; - - return new GsaElement1dGoo(elem); - } - - public override IGH_GeometricGoo Morph(SpaceMorph xmorph) - { - if (Value == null) { return null; } - if (Value.Line == null) { return null; } - - GsaElement1d elem = Value.Duplicate(true); - LineCurve xLn = Value.Line; - xmorph.Morph(xLn); - elem.Line = xLn; - - return new GsaElement1dGoo(elem); - } - #endregion - #region drawing methods public override void DrawViewportMeshes(GH_PreviewMeshArgs args) { @@ -198,5 +168,17 @@ public override void DrawViewportWires(GH_PreviewWireArgs args) } } #endregion + + #region transformation methods + public override IGH_GeometricGoo Transform(Transform xform) + { + return new GsaElement1dGoo(Value.Transform(xform)); + } + + public override IGH_GeometricGoo Morph(SpaceMorph xmorph) + { + return new GsaElement1dGoo(Value.Morph(xmorph)); + } + #endregion } } diff --git a/GsaGH/Parameters/2_Geometry/GsaElement2d.cs b/GsaGH/Parameters/2_Geometry/GsaElement2d.cs index deee16281..0fd51a16b 100644 --- a/GsaGH/Parameters/2_Geometry/GsaElement2d.cs +++ b/GsaGH/Parameters/2_Geometry/GsaElement2d.cs @@ -8,7 +8,6 @@ using OasysUnits; using OasysUnits.Units; using Rhino.Geometry; -using Grasshopper.Kernel.Types; namespace GsaGH.Parameters { diff --git a/GsaGH/Parameters/2_Geometry/GsaMember1d.cs b/GsaGH/Parameters/2_Geometry/GsaMember1d.cs index badee36e6..ccf0be67e 100644 --- a/GsaGH/Parameters/2_Geometry/GsaMember1d.cs +++ b/GsaGH/Parameters/2_Geometry/GsaMember1d.cs @@ -354,6 +354,7 @@ public GsaMember1d Transform(Transform xform) { GsaMember1d dup = this.Duplicate(true); dup.Id = 0; + dup.LocalAxes = null; List pts = this._topo.ToList(); Point3dList xpts = new Point3dList(pts); @@ -374,6 +375,7 @@ public GsaMember1d Morph(SpaceMorph xmorph) { GsaMember1d dup = this.Duplicate(true); dup.Id = 0; + dup.LocalAxes = null; List pts = this._topo.ToList(); for (int i = 0; i < pts.Count; i++) diff --git a/GsaGH/Parameters/2_Geometry/GsaMember1dGoo.cs b/GsaGH/Parameters/2_Geometry/GsaMember1dGoo.cs index 7e32ea9cf..da9c051a7 100644 --- a/GsaGH/Parameters/2_Geometry/GsaMember1dGoo.cs +++ b/GsaGH/Parameters/2_Geometry/GsaMember1dGoo.cs @@ -149,7 +149,6 @@ public override IGH_GeometricGoo Morph(SpaceMorph xmorph) { return new GsaMember1dGoo(Value.Morph(xmorph)); } - #endregion #region drawing methods