Coverage for bim2sim/utilities/types.py: 100%

37 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-03-12 17:09 +0000

1from enum import Enum, auto 

2 

3 

4class IFCDomain(Enum): 

5 """Enumeration for ifc file domains. """ 

6 arch = auto() 

7 ventilation = auto() 

8 hydraulic = auto() 

9 sanitary = auto() 

10 mixed = auto() 

11 unknown = auto() 

12 

13 

14class LOD(Enum): 

15 """Level of detail in form of an enumeration. The different meaning depends 

16 on the specific simulation settings.""" 

17 ignore = 0 

18 low = 1 

19 medium = 2 

20 full = 3 

21 

22 

23class ZoningCriteria(Enum): 

24 """Criteria for grouping thermal zones within a building. 

25 

26 This enum defines different strategies for combining thermal zones based on 

27 various architectural and functional characteristics. 

28 

29 Attributes: 

30 external: Groups zones based on their contact with the building 

31 exterior. Separates zones with exterior contact from 

32 interior-only zones. 

33 

34 usage: Groups zones based on their functional usage/purpose within the 

35 building. 

36 

37 external_orientation: Groups zones based on both exterior contact and 

38 facade orientation (North, East, South, West). 

39 

40 external_orientation_usage: Combines grouping based on exterior contact 

41 , orientation, and usage. 

42 

43 all_criteria: Most comprehensive grouping that considers: 

44 - Exterior contact 

45 - Facade orientation 

46 - Usage 

47 - Glass percentage 

48 - Physical adjacency between zones 

49 

50 individual_spaces: Every space is converted into a thermal zone. 

51 

52 combined_single_zone: All spaces are converted into a single thermal zone. 

53 """ 

54 

55 external = auto() 

56 usage = auto() 

57 external_orientation = auto() 

58 external_orientation_usage = auto() 

59 all_criteria = auto() 

60 individual_spaces = auto() 

61 combined_single_zone = auto() 

62 

63 

64class AttributeDataSource(Enum): 

65 """Enumerator for data_source of attributes. 

66 

67 This Enumerator defines various sources from which attribute data can be 

68 derived. It categorizes the origin of attributes used in a given 

69 context, allowing for standardized reference and handling of these data 

70 sources in the application. 

71 

72 Following enumerations exist: 

73 ifc_attr: Represents real IFC attributes derived directly from the IFC 

74 objects attributes. 

75 default_ps: Indicates attributes sourced from default property sets. 

76 default_association: Attributes obtained from default associations. 

77 finder: Attributes found through the finder searching mechanism. 

78 patterns: Attributes identified through pattern recognition. 

79 function: Attributes determined through functions of the attribute 

80 evaluation or calculations. 

81 default: Represents the default attribute source when no specific 

82 source is defined. 

83 decision: Attributes derived from answered decisions. 

84 manual_overwrite: Attributes that were manually overwritten during the 

85 process without the definition of a specific data source. 

86 enrichment: Attributes enriched or supplemented with additional 

87 information. 

88 space_boundary: Attributes derived from space boundary definitions. 

89 """ 

90 ifc_attr = auto() 

91 default_ps = auto() 

92 default_association = auto() 

93 finder = auto() 

94 patterns = auto() 

95 function = auto() 

96 default = auto() 

97 decision = auto() 

98 manual_overwrite = auto() 

99 enrichment = auto() 

100 space_boundary = auto() 

101 

102 

103class BoundaryOrientation(Enum): 

104 """ 

105 Enumeration for boundary orientations. 

106 

107 top: Ceilings, roofs (normal points upward) 

108 bottom: Floors, slabs (normal points downward) 

109 vertical: Walls (normal perpendicular to vertical) 

110 """ 

111 top = auto() 

112 bottom = auto() 

113 vertical = auto()