Esempio n. 1
0
        public static void AddObjectToGroup(this IfcGroup gr, IfcObjectDefinition obj)
        {
            IModel model = gr.Model;

            IfcRelAssignsToGroup relation = gr.IsGroupedBy ?? model.Instances.New <IfcRelAssignsToGroup>(rel => rel.RelatingGroup = gr);

            relation.RelatedObjects.Add(obj);
        }
Esempio n. 2
0
        public static IEnumerable <T> GetGroupedObjects <T>(this IfcGroup gr) where T : IfcObjectDefinition
        {
            IfcRelAssignsToGroup relation = gr.IsGroupedBy;

            if (gr.IsGroupedBy != null)
            {
                return(relation.RelatedObjects.OfType <T>());
            }
            return(new List <T>());
        }
Esempio n. 3
0
        public static IEnumerable <IfcObjectDefinition> GetGroupedObjects(this IfcGroup gr)
        {
            IfcRelAssignsToGroup relation = gr.IsGroupedBy;

            if (gr.IsGroupedBy != null)
            {
                return(relation.RelatedObjects);
            }
            return(new List <IfcObjectDefinition>());
        }
Esempio n. 4
0
        public static void AddObjectToGroup(this IfcGroup gr, IfcObjectDefinition obj)
        {
            IModel model = GetModel(gr);

            IfcRelAssignsToGroup relation = gr.IsGroupedBy;

            if (gr.IsGroupedBy == null)
            {
                relation = model.Instances.New <IfcRelAssignsToGroup>(rel => rel.RelatingGroup = gr);
            }
            relation.RelatedObjects.Add(obj);
        }
Esempio n. 5
0
        public static void AddObjectToGroup(this IfcGroup gr, IEnumerable <IfcObjectDefinition> objects)
        {
            IModel model = GetModel(gr);

            IfcRelAssignsToGroup relation = gr.IsGroupedBy;

            if (gr.IsGroupedBy == null)
            {
                relation = model.Instances.New <IfcRelAssignsToGroup>(rel => rel.RelatingGroup = gr);
            }
            foreach (var item in objects)
            {
                relation.RelatedObjects.Add(item);
            }
        }
Esempio n. 6
0
        public static bool RemoveObjectFromGroup(this IfcGroup gr, IfcObjectDefinition obj)
        {
            if (gr == null || obj == null)
            {
                return(false);
            }
            IModel model = GetModel(gr);
            IfcRelAssignsToGroup relation = gr.IsGroupedBy;

            if (gr.IsGroupedBy == null)
            {
                return(false);
            }
            if (!relation.RelatedObjects.Contains(obj))
            {
                return(false);
            }
            relation.RelatedObjects.Remove(obj);
            return(true);
        }