AECgeeks / infra-repo-issue-test-old1

0 stars 0 forks source link

PredefinedType Consistency issue 129 #5

Open aothms opened 2 years ago

aothms commented 2 years ago
--- tmp/a/IFC.exp   2022-03-20 14:37:21.737354300 +0100
+++ tmp/b/IFC.exp   2022-03-22 21:09:05.253958400 +0100
@@ -1789,20 +1789,28 @@
    ,GRAPH_VIEW
    ,MODEL_VIEW
    ,PLAN_VIEW
    ,REFLECTED_PLAN_VIEW
    ,SECTION_VIEW
    ,SKETCH_VIEW
    ,USERDEFINED
    ,NOTDEFINED);
 END_TYPE;

+TYPE IfcGeotechnicalStratumTypeEnum = ENUMERATION OF
+   (SOLID
+   ,VOID
+   ,WATER
+   ,USERDEFINED
+   ,NOTDEFINED);
+END_TYPE;
+
 TYPE IfcGlobalOrLocalEnum = ENUMERATION OF
    (GLOBAL_COORDS
    ,LOCAL_COORDS);
 END_TYPE;

 TYPE IfcGridTypeEnum = ENUMERATION OF
    (IRREGULAR
    ,RADIAL
    ,RECTANGULAR
    ,TRIANGULAR
@@ -7097,22 +7105,20 @@
  SUBTYPE OF (IfcFurnishingElementType);
    AssemblyPlace : IfcAssemblyPlaceEnum;
    PredefinedType : OPTIONAL IfcFurnitureTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcFurnitureTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcFurnitureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType));
 END_ENTITY;

 ENTITY IfcGeographicElement
- SUPERTYPE OF (ONEOF
-   (IfcVegetation))
  SUBTYPE OF (IfcElement);
    PredefinedType : OPTIONAL IfcGeographicElementTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcGeographicElementTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcGeographicElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
    CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
   ('IFC4X3_DEV.IFCGEOGRAPHICELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
 END_ENTITY;

@@ -7224,25 +7230,26 @@
 END_ENTITY;

 ENTITY IfcGeotechnicalElement
  ABSTRACT SUPERTYPE OF (ONEOF
    (IfcGeotechnicalAssembly
    ,IfcGeotechnicalStratum))
  SUBTYPE OF (IfcElement);
 END_ENTITY;

 ENTITY IfcGeotechnicalStratum
- ABSTRACT SUPERTYPE OF (ONEOF
-   (IfcSolidStratum
-   ,IfcVoidStratum
-   ,IfcWaterStratum))
  SUBTYPE OF (IfcGeotechnicalElement);
+   PredefinedType : OPTIONAL IfcGeotechnicalStratumTypeEnum;
+ WHERE
+   CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
+ (PredefinedType <> IfcGeotechnicalStratumTypeEnum.USERDEFINED) OR
+ ((PredefinedType = IfcGeotechnicalStratumTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
 END_ENTITY;

 ENTITY IfcGradientCurve
  SUBTYPE OF (IfcCompositeCurve);
    BaseCurve : IfcBoundedCurve;
    EndPoint : OPTIONAL IfcPlacement;
  DERIVE
     RelativeElevation : IfcLengthMeasure := IfcGradient(SELF);
 END_ENTITY;

@@ -10524,24 +10531,20 @@
    (IfcCsgSolid
    ,IfcManifoldSolidBrep
    ,IfcSectionedSolid
    ,IfcSweptAreaSolid
    ,IfcSweptDiskSolid))
  SUBTYPE OF (IfcGeometricRepresentationItem);
  DERIVE
     Dim : IfcDimensionCount := 3;
 END_ENTITY;

-ENTITY IfcSolidStratum
- SUBTYPE OF (IfcGeotechnicalStratum);
-END_ENTITY;
-
 ENTITY IfcSpace
  SUBTYPE OF (IfcSpatialStructureElement);
    PredefinedType : OPTIONAL IfcSpaceTypeEnum;
    ElevationWithFlooring : OPTIONAL IfcLengthMeasure;
  INVERSE
    HasCoverings : SET [0:?] OF IfcRelCoversSpaces FOR RelatingSpace;
    BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcSpaceTypeEnum.USERDEFINED) OR
@@ -11971,24 +11974,20 @@
 ENTITY IfcVector
  SUBTYPE OF (IfcGeometricRepresentationItem);
    Orientation : IfcDirection;
    Magnitude : IfcLengthMeasure;
  DERIVE
     Dim : IfcDimensionCount := Orientation.Dim;
  WHERE
    MagGreaterOrEqualZero : Magnitude >= 0.0;
 END_ENTITY;

-ENTITY IfcVegetation
- SUBTYPE OF (IfcGeographicElement);
-END_ENTITY;
-
 ENTITY IfcVehicle
  SUBTYPE OF (IfcTransportationDevice);
    PredefinedType : OPTIONAL IfcVehicleTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcVehicleTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcVehicleTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
    CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
   ('IFC4X3_DEV.IFCVEHICLETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
 END_ENTITY;
@@ -12062,24 +12061,20 @@
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcVirtualElementTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcVirtualElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
 END_ENTITY;

 ENTITY IfcVirtualGridIntersection;
    IntersectingAxes : LIST [2:2] OF UNIQUE IfcGridAxis;
    OffsetDistances : LIST [2:3] OF IfcLengthMeasure;
 END_ENTITY;

-ENTITY IfcVoidStratum
- SUBTYPE OF (IfcGeotechnicalStratum);
-END_ENTITY;
-
 ENTITY IfcVoidingFeature
  SUBTYPE OF (IfcFeatureElementSubtraction);
    PredefinedType : OPTIONAL IfcVoidingFeatureTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcVoidingFeatureTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcVoidingFeatureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
    HasObjectType : NOT EXISTS(PredefinedType) OR (PredefinedType <> IfcVoidingFeatureTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
 END_ENTITY;

@@ -12125,24 +12120,20 @@
 END_ENTITY;

 ENTITY IfcWasteTerminalType
  SUBTYPE OF (IfcFlowTerminalType);
    PredefinedType : IfcWasteTerminalTypeEnum;
  WHERE
    CorrectPredefinedType : (PredefinedType <> IfcWasteTerminalTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcWasteTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType));
 END_ENTITY;

-ENTITY IfcWaterStratum
- SUBTYPE OF (IfcGeotechnicalStratum);
-END_ENTITY;
-
 ENTITY IfcWindow
  SUBTYPE OF (IfcBuiltElement);
    OverallHeight : OPTIONAL IfcPositiveLengthMeasure;
    OverallWidth : OPTIONAL IfcPositiveLengthMeasure;
    PredefinedType : OPTIONAL IfcWindowTypeEnum;
    PartitioningType : OPTIONAL IfcWindowTypePartitioningEnum;
    UserDefinedPartitioningType : OPTIONAL IfcLabel;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcWindowTypeEnum.USERDEFINED) OR
aothms commented 2 years ago
diff -N -w -U10 tmp/a/psd/Pset_PlantCommon.xml tmp/b/psd/Pset_PlantCommon.xml
--- tmp/a/psd/Pset_PlantCommon.xml  2022-03-20 14:38:40.493458100 +0100
+++ tmp/b/psd/Pset_PlantCommon.xml  1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-<?xml version="1.0" ?>
-<PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_OCCURRENCEDRIVEN" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
-  <IfcVersion version="IFC4X3_DEV"/>
-  <Name>Pset_PlantCommon</Name>
-  <Definition>Properties for a plant.</Definition>
-  <Applicability/>
-  <ApplicableClasses>
-    <ClassName>IfcVegetation</ClassName>
-  </ApplicableClasses>
-  <ApplicableTypeValue>IfcVegetation</ApplicableTypeValue>
-  <PropertyDefs>
-    <PropertyDef>
-      <Name>BotanicalName</Name>
-      <Definition>Formal scientific name conforming to the International Code of Nomenclature for algae, fungi, and plants (ICN)</Definition>
-      <PropertyType>
-        <TypePropertySingleValue>
-          <DataType type="IfcLabel"/>
-        </TypePropertySingleValue>
-      </PropertyType>
-    </PropertyDef>
-    <PropertyDef>
-      <Name>LocalName</Name>
-      <Definition>The local name that the plant is known as.</Definition>
-      <PropertyType>
-        <TypePropertySingleValue>
-          <DataType type="IfcLabel"/>
-        </TypePropertySingleValue>
-      </PropertyType>
-    </PropertyDef>
-  </PropertyDefs>
-</PropertySetDef>
diff -N -w -U10 tmp/a/psd/Pset_SolidStratumCapacity.xml tmp/b/psd/Pset_SolidStratumCapacity.xml
--- tmp/a/psd/Pset_SolidStratumCapacity.xml 2022-03-20 14:38:44.661319000 +0100
+++ tmp/b/psd/Pset_SolidStratumCapacity.xml 2022-03-22 21:09:05.092846300 +0100
@@ -1,20 +1,20 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_OCCURRENCEDRIVEN" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_SolidStratumCapacity</Name>
   <Definition>Properties expressing the capacity of a stratum using physical measures. Regional and National conventions should be captured through classification and specific property sets.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcSolidStratum</ClassName>
+    <ClassName>IfcGeotechnicalStratum/SOLID</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcSolidStratum</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcGeotechnicalStratum/SOLID</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>CohesionBehaviour</Name>
       <Definition>Cohesive shear strength of a rock or soil that is independent of interparticle friction.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcPressureMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_SolidStratumComposition.xml tmp/b/psd/Pset_SolidStratumComposition.xml
--- tmp/a/psd/Pset_SolidStratumComposition.xml  2022-03-20 14:38:44.691237000 +0100
+++ tmp/b/psd/Pset_SolidStratumComposition.xml  2022-03-22 21:09:05.131284900 +0100
@@ -1,20 +1,20 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_OCCURRENCEDRIVEN" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_SolidStratumComposition</Name>
   <Definition>Properties expressing the composition of a stratum using volume measures, implementing ISO14688 Part 2 Table 1 Primary fractions and composite fractions. Regional and National conventions should be captured through classification and specific property sets. Zero values may be omitted.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcSolidStratum</ClassName>
+    <ClassName>IfcGeotechnicalStratum/SOLID</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcSolidStratum</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcGeotechnicalStratum/SOLID</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>AirVolume</Name>
       <Definition>Relative volume of air stratum constituents.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcVolumeMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_VegetationCommon.xml tmp/b/psd/Pset_VegetationCommon.xml
--- tmp/a/psd/Pset_VegetationCommon.xml 1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Pset_VegetationCommon.xml 2022-03-22 21:09:05.145247600 +0100
@@ -0,0 +1,31 @@
+<?xml version="1.0" ?>
+<PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_OCCURRENCEDRIVEN" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
+  <IfcVersion version="IFC4X3_DEV"/>
+  <Name>Pset_VegetationCommon</Name>
+  <Definition>Properties for a plant.</Definition>
+  <Applicability/>
+  <ApplicableClasses>
+    <ClassName>IfcGeographicElement/VEGETATION</ClassName>
+  </ApplicableClasses>
+  <ApplicableTypeValue>IfcGeographicElement/VEGETATION</ApplicableTypeValue>
+  <PropertyDefs>
+    <PropertyDef>
+      <Name>BotanicalName</Name>
+      <Definition>Formal scientific name conforming to the International Code of Nomenclature for algae, fungi, and plants (ICN)</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>LocalName</Name>
+      <Definition>The local name that the plant is known as.</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+  </PropertyDefs>
+</PropertySetDef>
diff -N -w -U10 tmp/a/psd/Pset_WaterStratumCommon.xml tmp/b/psd/Pset_WaterStratumCommon.xml
--- tmp/a/psd/Pset_WaterStratumCommon.xml   2022-03-20 14:38:44.715173700 +0100
+++ tmp/b/psd/Pset_WaterStratumCommon.xml   2022-03-22 21:09:05.159210700 +0100
@@ -1,20 +1,20 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_OCCURRENCEDRIVEN" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_WaterStratumCommon</Name>
   <Definition>Properties expressing the composition and any variability in the height of the body of water. Ranges are non-negative describing a spread.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcWaterStratum</ClassName>
+    <ClassName>IfcGeotechnicalStratum/WATER</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcWaterStratum</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcGeotechnicalStratum/WATER</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>AnnualRange</Name>
       <Definition>Indicative (95%-100%) annual range in levels.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcPositiveLengthMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>