Example #1
0
        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;
        }
Example #2
0
 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;
 }
Example #3
0
 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;
 }
Example #4
0
 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;
 }
Example #5
0
        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;
        }