public static GH_LinearDimension GetLinearDimension2() { GetObject obj2; Label_0000: obj2 = new GetObject(); if (m_reference) { obj2.SetCommandPrompt("LinearDimension reference"); obj2.AddOption("Mode", "Reference"); } else { obj2.SetCommandPrompt("LinearDimension to copy"); obj2.AddOption("Mode", "Copy"); } obj2.GeometryFilter = ObjectType.Annotation; GetResult result = obj2.Get(); if (result == GetResult.Option) { m_reference = !m_reference; goto Label_0000; } if (result != GetResult.Object) { return null; } if (!m_reference) { return new GH_LinearDimension((LinearDimension)obj2.Object(0).Geometry()); } GH_LinearDimension dm =new GH_LinearDimension(obj2.Object(0).ObjectId); if ((dm != null) && (!dm.IsGeometryLoaded)) { dm.LoadGeometry(); } return dm; }
public static bool ToGHLinearDimension_Primary(object data, ref GH_LinearDimension target) { if (data == null) { return false; } Guid gUID = data.GetType().GUID; if (gUID == GH_TypeLib2.id_rc_lineardimension) { if (target == null) { target = new GH_LinearDimension((LinearDimension)data); } else { target.Value = (LinearDimension)data; } return true; } if (!(gUID == GH_TypeLib2.id_gh_lineardimension)) { return false; } if (target == null) { target = (GH_LinearDimension)data; } else { target.Value = ((GH_LinearDimension)data).Value; target.ReferenceID = ((GH_LinearDimension)data).ReferenceID; } return true; }
public static bool ToGHLinearDimension(object data, ref GH_LinearDimension target) { if (!ToGHLinearDimension_Primary(RuntimeHelpers.GetObjectValue(data), ref target)) { return ToGHLinearDimension_Secondary(RuntimeHelpers.GetObjectValue(data), ref target); } return true; }
public static bool ToGHLinearDimension_Secondary(object data, ref GH_LinearDimension target) { Guid guid = Guid.Empty; if (data == null) { return false; } if (GH_Convert.ToGUID_Primary(RuntimeHelpers.GetObjectValue(data), ref guid)) { if (target == null) { target = new GH_LinearDimension(guid); } else { target.ReferenceID = guid; } target.ClearCaches(); target.LoadGeometry(); return target.IsValid; } string destination = null; if (GH_Convert.ToString_Primary(RuntimeHelpers.GetObjectValue(data), ref destination)) { RhinoObject obj2 = GH_Convert.FindRhinoObjectByNameAndType(destination, ObjectType.Annotation); if (obj2 != null) { if (target == null) { target = new GH_LinearDimension(); } target.ReferenceID = (Guid)obj2.Id; target.ClearCaches(); target.LoadGeometry(); return target.IsValid; } } LinearDimension rc = null; if (!ToLinearDimension_Secondary(RuntimeHelpers.GetObjectValue(data), ref rc)) { return false; } if (target == null) { target = new GH_LinearDimension(rc); } else { target.Value = rc; target.ReferenceID = Guid.Empty; } return true; }
public static List<GH_LinearDimension> GetLinearDimensions2() { GetObject obj2; Label_0000: obj2 = new GetObject(); if (m_reference) { obj2.SetCommandPrompt("LinearDimension reference"); obj2.AddOption("Mode", "Reference"); } else { obj2.SetCommandPrompt("LinearDimension to copy"); obj2.AddOption("Mode", "Copy"); } obj2.GeometryFilter = ObjectType.Annotation; GetResult multiple = obj2.GetMultiple(1, 0); if (multiple == GetResult.Option) { m_reference = !m_reference; goto Label_0000; } if (multiple != GetResult.Object) { return null; } List<GH_LinearDimension> list2 = new List<GH_LinearDimension>(); for (int i = 0; i < obj2.ObjectCount; i++) { if (m_reference) { GH_LinearDimension dm = new GH_LinearDimension(obj2.Object(i).ObjectId); if ((dm != null) && (!dm.IsGeometryLoaded)) { dm.LoadGeometry(); } list2.Add( dm); } else { list2.Add(new GH_LinearDimension((LinearDimension)obj2.Object(i).Geometry())); } } return list2; }