Example #1
0
 // Gets the display name of an object type.
 public static string GetDisplayName(RXClass classObject)
 {
     using (RXObject rawObject = classObject.Create())
     {
         if (classObject.IsDerivedFrom(RXObject.GetClass(typeof(AecDbObject))))
         {
             AecDbObject dbObject = (AecDbObject)rawObject;
             return(dbObject.DisplayName);
         }
         else if (classObject.IsDerivedFrom(RXObject.GetClass(typeof(AecEntity))))
         {
             AecEntity entity = (AecEntity)rawObject;
             return(entity.DisplayName);
         }
         else if (classObject.IsDerivedFrom(RXObject.GetClass(typeof(DBObject))))
         {
             string dxfName = classObject.DxfName;
             if (dxfName == null)
             {
                 return(classObject.Name);
             }
             else
             {
                 return(dxfName);
             }
         }
     }
     throw new ArgumentException("wrong class type");
 }
Example #2
0
        GetClassesDerivedFrom(RXClass searchClassType, ArrayList derivedClasses, bool allowClassesWithoutDxfName)
        {
            Debug.Assert(derivedClasses != null);

            Dictionary dict = SystemObjects.ClassDictionary;

            if (dict != null)
            {
                IEnumerable enumerable = dict as IEnumerable;
                if (enumerable != null)
                {
                    IEnumerator enumerator = enumerable.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        RXClass rxClass = (RXClass)((DictionaryEntry)enumerator.Current).Value;
                        if (rxClass.IsDerivedFrom(searchClassType))
                        {
                            if (!allowClassesWithoutDxfName && ((rxClass.DxfName == null) || (rxClass.DxfName == string.Empty)))
                            {
                                // skip it
                            }
                            else
                            {
                                if (derivedClasses.Contains(rxClass) == false)
                                {
                                    derivedClasses.Add(rxClass);
                                }
                            }
                        }
                    }
                }
            }
        }
Example #3
0
 public static bool IsAssignableFrom(RXClass rxclass)
 {
     return(rxclass.UnmanagedObject == unmanagedObject ||
            (hasChildren && rxclass.IsDerivedFrom(instance)));
 }