pub enum IfcType {
Show 257 variants
IfcRoot,
IfcObjectDefinition,
IfcObject,
IfcProduct,
IfcElement,
IfcBuiltElement,
IfcSpatialElement,
IfcSpatialStructureElement,
IfcExternalSpatialStructureElement,
IfcExternalSpatialElement,
IfcSpatialZone,
IfcCivilElement,
IfcGeographicElement,
IfcAnnotation,
IfcPort,
IfcFeatureElement,
IfcFeatureElementAddition,
IfcFeatureElementSubtraction,
IfcGeotechnicalAssembly,
IfcProject,
IfcSite,
IfcBuilding,
IfcBuildingStorey,
IfcSpace,
IfcWall,
IfcWallStandardCase,
IfcCurtainWall,
IfcSlab,
IfcRoof,
IfcBeam,
IfcColumn,
IfcDoor,
IfcWindow,
IfcStair,
IfcStairFlight,
IfcRamp,
IfcRampFlight,
IfcRailing,
IfcCovering,
IfcPlate,
IfcMember,
IfcFooting,
IfcPile,
IfcBuildingElementProxy,
IfcElementAssembly,
IfcDistributionElement,
IfcDistributionFlowElement,
IfcFlowTerminal,
IfcFlowSegment,
IfcFlowFitting,
IfcFlowController,
IfcFlowMovingDevice,
IfcFlowStorageDevice,
IfcFlowTreatmentDevice,
IfcEnergyConversionDevice,
IfcDistributionControlElement,
IfcCableSegment,
IfcCableCarrierSegment,
IfcCableCarrierFitting,
IfcPipeSegment,
IfcPipeFitting,
IfcSpaceHeater,
IfcAirTerminal,
IfcFurnishingElement,
IfcFurniture,
IfcSystemFurnitureElement,
IfcOpeningElement,
IfcOpeningStandardCase,
IfcVoidingFeature,
IfcProjectionElement,
IfcExtrudedAreaSolid,
IfcExtrudedAreaSolidTapered,
IfcRevolvedAreaSolid,
IfcRevolvedAreaSolidTapered,
IfcSweptDiskSolid,
IfcSweptDiskSolidPolygonal,
IfcSurfaceCurveSweptAreaSolid,
IfcFixedReferenceSweptAreaSolid,
IfcFacetedBrep,
IfcFacetedBrepWithVoids,
IfcAdvancedBrep,
IfcAdvancedBrepWithVoids,
IfcTriangulatedFaceSet,
IfcPolygonalFaceSet,
IfcTessellatedFaceSet,
IfcBooleanResult,
IfcBooleanClippingResult,
IfcMappedItem,
IfcRepresentationMap,
IfcBlock,
IfcRectangularPyramid,
IfcRightCircularCone,
IfcRightCircularCylinder,
IfcSphere,
IfcHalfSpaceSolid,
IfcPolygonalBoundedHalfSpace,
IfcBoxedHalfSpace,
IfcArbitraryClosedProfileDef,
IfcArbitraryProfileDefWithVoids,
IfcRectangleProfileDef,
IfcRectangleHollowProfileDef,
IfcCircleProfileDef,
IfcCircleHollowProfileDef,
IfcEllipseProfileDef,
IfcIShapeProfileDef,
IfcLShapeProfileDef,
IfcTShapeProfileDef,
IfcUShapeProfileDef,
IfcCShapeProfileDef,
IfcZShapeProfileDef,
IfcAsymmetricIShapeProfileDef,
IfcTrapeziumProfileDef,
IfcCompositeProfileDef,
IfcDerivedProfileDef,
IfcCenterLineProfileDef,
IfcPolyline,
IfcCompositeCurve,
IfcCompositeCurveSegment,
IfcTrimmedCurve,
IfcCircle,
IfcEllipse,
IfcLine,
IfcBSplineCurve,
IfcBSplineCurveWithKnots,
IfcRationalBSplineCurveWithKnots,
IfcIndexedPolyCurve,
IfcPlane,
IfcCurveBoundedPlane,
IfcCylindricalSurface,
IfcBSplineSurface,
IfcBSplineSurfaceWithKnots,
IfcRationalBSplineSurfaceWithKnots,
IfcCartesianPoint,
IfcDirection,
IfcVector,
IfcCartesianPointList2D,
IfcCartesianPointList3D,
IfcAxis2Placement2D,
IfcAxis2Placement3D,
IfcLocalPlacement,
IfcCartesianTransformationOperator3D,
IfcCartesianTransformationOperator3DnonUniform,
IfcShapeRepresentation,
IfcProductDefinitionShape,
IfcGeometricRepresentationContext,
IfcGeometricRepresentationSubContext,
IfcClosedShell,
IfcOpenShell,
IfcFace,
IfcFaceBound,
IfcFaceOuterBound,
IfcPolyLoop,
IfcEdgeLoop,
IfcOrientedEdge,
IfcEdgeCurve,
IfcVertexPoint,
IfcConnectedFaceSet,
IfcRelContainedInSpatialStructure,
IfcRelAggregates,
IfcRelDefinesByProperties,
IfcRelDefinesByType,
IfcRelAssociatesMaterial,
IfcRelVoidsElement,
IfcRelFillsElement,
IfcRelConnectsPathElements,
IfcRelSpaceBoundary,
IfcRelAssignsToGroup,
IfcPropertySet,
IfcPropertySingleValue,
IfcPropertyEnumeratedValue,
IfcPropertyBoundedValue,
IfcPropertyListValue,
IfcPropertyTableValue,
IfcComplexProperty,
IfcElementQuantity,
IfcQuantityLength,
IfcQuantityArea,
IfcQuantityVolume,
IfcQuantityCount,
IfcQuantityWeight,
IfcQuantityTime,
IfcMaterial,
IfcMaterialLayer,
IfcMaterialLayerSet,
IfcMaterialLayerSetUsage,
IfcMaterialList,
IfcMaterialConstituentSet,
IfcMaterialConstituent,
IfcMaterialProfile,
IfcMaterialProfileSet,
IfcMaterialProfileSetUsage,
IfcStyledItem,
IfcSurfaceStyle,
IfcSurfaceStyleRendering,
IfcColourRgb,
IfcPresentationLayerAssignment,
IfcLightFixture,
IfcLightFixtureType,
IfcLightSource,
IfcLightSourceAmbient,
IfcLightSourceDirectional,
IfcLightSourceGoniometric,
IfcLightSourcePositional,
IfcLightSourceSpot,
IfcLightIntensityDistribution,
IfcLightDistributionData,
IfcUnitAssignment,
IfcSIUnit,
IfcConversionBasedUnit,
IfcDerivedUnit,
IfcMeasureWithUnit,
IfcWallType,
IfcSlabType,
IfcBeamType,
IfcColumnType,
IfcDoorType,
IfcWindowType,
IfcCoveringType,
IfcRailingType,
IfcStairType,
IfcStairFlightType,
IfcRampType,
IfcRampFlightType,
IfcRoofType,
IfcMemberType,
IfcPlateType,
IfcFootingType,
IfcPileType,
IfcBuildingElementProxyType,
IfcAlignment,
IfcAlignmentCant,
IfcAlignmentHorizontal,
IfcAlignmentVertical,
IfcAlignmentSegment,
IfcRoad,
IfcRoadPart,
IfcBridge,
IfcBridgePart,
IfcRailway,
IfcRailwayPart,
IfcFacility,
IfcFacilityPart,
IfcGeotechnicalElement,
IfcBorehole,
IfcGeomodel,
IfcGeoslice,
IfcSolidStratum,
IfcVoidStratum,
IfcWaterStratum,
IfcEarthworksCut,
IfcEarthworksFill,
IfcEarthworksElement,
IfcPavement,
IfcCourse,
IfcKerb,
IfcDeepFoundation,
Unknown(String),
}Expand description
IFC entity type enumeration
Covers all common IFC entity types. Unknown types are captured with their original string representation.
Variants§
IfcRoot
IfcObjectDefinition
IfcObject
IfcProduct
IfcElement
IfcBuiltElement
IfcSpatialElement
IfcSpatialStructureElement
IfcExternalSpatialStructureElement
IfcExternalSpatialElement
IfcSpatialZone
IfcCivilElement
IfcGeographicElement
IfcAnnotation
IfcPort
IfcFeatureElement
IfcFeatureElementAddition
IfcFeatureElementSubtraction
IfcGeotechnicalAssembly
IfcProject
IfcSite
IfcBuilding
IfcBuildingStorey
IfcSpace
IfcWall
IfcWallStandardCase
IfcCurtainWall
IfcSlab
IfcRoof
IfcBeam
IfcColumn
IfcDoor
IfcWindow
IfcStair
IfcStairFlight
IfcRamp
IfcRampFlight
IfcRailing
IfcCovering
IfcPlate
IfcMember
IfcFooting
IfcPile
IfcBuildingElementProxy
IfcElementAssembly
IfcDistributionElement
IfcDistributionFlowElement
IfcFlowTerminal
IfcFlowSegment
IfcFlowFitting
IfcFlowController
IfcFlowMovingDevice
IfcFlowStorageDevice
IfcFlowTreatmentDevice
IfcEnergyConversionDevice
IfcDistributionControlElement
IfcCableSegment
IfcCableCarrierSegment
IfcCableCarrierFitting
IfcPipeSegment
IfcPipeFitting
IfcSpaceHeater
IfcAirTerminal
IfcFurnishingElement
IfcFurniture
IfcSystemFurnitureElement
IfcOpeningElement
IfcOpeningStandardCase
IfcVoidingFeature
IfcProjectionElement
IfcExtrudedAreaSolid
IfcExtrudedAreaSolidTapered
IfcRevolvedAreaSolid
IfcRevolvedAreaSolidTapered
IfcSweptDiskSolid
IfcSweptDiskSolidPolygonal
IfcSurfaceCurveSweptAreaSolid
IfcFixedReferenceSweptAreaSolid
IfcFacetedBrep
IfcFacetedBrepWithVoids
IfcAdvancedBrep
IfcAdvancedBrepWithVoids
IfcTriangulatedFaceSet
IfcPolygonalFaceSet
IfcTessellatedFaceSet
IfcBooleanResult
IfcBooleanClippingResult
IfcMappedItem
IfcRepresentationMap
IfcBlock
IfcRectangularPyramid
IfcRightCircularCone
IfcRightCircularCylinder
IfcSphere
IfcHalfSpaceSolid
IfcPolygonalBoundedHalfSpace
IfcBoxedHalfSpace
IfcArbitraryClosedProfileDef
IfcArbitraryProfileDefWithVoids
IfcRectangleProfileDef
IfcRectangleHollowProfileDef
IfcCircleProfileDef
IfcCircleHollowProfileDef
IfcEllipseProfileDef
IfcIShapeProfileDef
IfcLShapeProfileDef
IfcTShapeProfileDef
IfcUShapeProfileDef
IfcCShapeProfileDef
IfcZShapeProfileDef
IfcAsymmetricIShapeProfileDef
IfcTrapeziumProfileDef
IfcCompositeProfileDef
IfcDerivedProfileDef
IfcCenterLineProfileDef
IfcPolyline
IfcCompositeCurve
IfcCompositeCurveSegment
IfcTrimmedCurve
IfcCircle
IfcEllipse
IfcLine
IfcBSplineCurve
IfcBSplineCurveWithKnots
IfcRationalBSplineCurveWithKnots
IfcIndexedPolyCurve
IfcPlane
IfcCurveBoundedPlane
IfcCylindricalSurface
IfcBSplineSurface
IfcBSplineSurfaceWithKnots
IfcRationalBSplineSurfaceWithKnots
IfcCartesianPoint
IfcDirection
IfcVector
IfcCartesianPointList2D
IfcCartesianPointList3D
IfcAxis2Placement2D
IfcAxis2Placement3D
IfcLocalPlacement
IfcCartesianTransformationOperator3D
IfcCartesianTransformationOperator3DnonUniform
IfcShapeRepresentation
IfcProductDefinitionShape
IfcGeometricRepresentationContext
IfcGeometricRepresentationSubContext
IfcClosedShell
IfcOpenShell
IfcFace
IfcFaceBound
IfcFaceOuterBound
IfcPolyLoop
IfcEdgeLoop
IfcOrientedEdge
IfcEdgeCurve
IfcVertexPoint
IfcConnectedFaceSet
IfcRelContainedInSpatialStructure
IfcRelAggregates
IfcRelDefinesByProperties
IfcRelDefinesByType
IfcRelAssociatesMaterial
IfcRelVoidsElement
IfcRelFillsElement
IfcRelConnectsPathElements
IfcRelSpaceBoundary
IfcRelAssignsToGroup
IfcPropertySet
IfcPropertySingleValue
IfcPropertyEnumeratedValue
IfcPropertyBoundedValue
IfcPropertyListValue
IfcPropertyTableValue
IfcComplexProperty
IfcElementQuantity
IfcQuantityLength
IfcQuantityArea
IfcQuantityVolume
IfcQuantityCount
IfcQuantityWeight
IfcQuantityTime
IfcMaterial
IfcMaterialLayer
IfcMaterialLayerSet
IfcMaterialLayerSetUsage
IfcMaterialList
IfcMaterialConstituentSet
IfcMaterialConstituent
IfcMaterialProfile
IfcMaterialProfileSet
IfcMaterialProfileSetUsage
IfcStyledItem
IfcSurfaceStyle
IfcSurfaceStyleRendering
IfcColourRgb
IfcPresentationLayerAssignment
IfcLightFixture
IfcLightFixtureType
IfcLightSource
IfcLightSourceAmbient
IfcLightSourceDirectional
IfcLightSourceGoniometric
IfcLightSourcePositional
IfcLightSourceSpot
IfcLightIntensityDistribution
IfcLightDistributionData
IfcUnitAssignment
IfcSIUnit
IfcConversionBasedUnit
IfcDerivedUnit
IfcMeasureWithUnit
IfcWallType
IfcSlabType
IfcBeamType
IfcColumnType
IfcDoorType
IfcWindowType
IfcCoveringType
IfcRailingType
IfcStairType
IfcStairFlightType
IfcRampType
IfcRampFlightType
IfcRoofType
IfcMemberType
IfcPlateType
IfcFootingType
IfcPileType
IfcBuildingElementProxyType
IfcAlignment
IfcAlignmentCant
IfcAlignmentHorizontal
IfcAlignmentVertical
IfcAlignmentSegment
IfcRoad
IfcRoadPart
IfcBridge
IfcBridgePart
IfcRailway
IfcRailwayPart
IfcFacility
IfcFacilityPart
IfcGeotechnicalElement
IfcBorehole
IfcGeomodel
IfcGeoslice
IfcSolidStratum
IfcVoidStratum
IfcWaterStratum
IfcEarthworksCut
IfcEarthworksFill
IfcEarthworksElement
IfcPavement
IfcCourse
IfcKerb
IfcDeepFoundation
Unknown(String)
Unknown type - stores the original type name string
Implementations§
Source§impl IfcType
impl IfcType
Sourcepub fn parent(&self) -> Option<Self>
pub fn parent(&self) -> Option<Self>
IFC inheritance: direct parent in the EXPRESS type hierarchy.
Only the branches needed for geometry-eligibility decisions are
populated — IfcRoot and its IfcObjectDefinition/IfcObject/
IfcProduct/IfcElement descendants. Types unrelated to that
subtree (representation items, profiles, relationships, units, …)
return None; callers should treat that as “not a product”.
This is a hand-maintained subset of upstream @ifc-lite/codegen’s
generated parent() table, ported from upstream PR #596 / #585 but
scoped to the types the bimifc enum actually carries. When a new
IfcType variant is added, give it a parent arm here and the rest
of the system (has_geometry, future is_subtype_of callers) picks it
up without further edits.
Sourcepub fn is_subtype_of(&self, parent: IfcType) -> bool
pub fn is_subtype_of(&self, parent: IfcType) -> bool
True if this type equals parent or any of its ancestors equals parent.
Sourcepub fn has_geometry(&self) -> bool
pub fn has_geometry(&self) -> bool
Check if this type represents a product that can carry geometry.
Inheritance-based: anything under IfcProduct is renderable, except
spatial-container subclasses of IfcSpatialElement (with IfcSpace
and IfcSite kept — their boundary representations are rendered).
Adding a new concrete subtype now only requires wiring up parent().
Ported from upstream ifc-lite PR #596 (schema_helpers::has_geometry_by_name),
scoped to the bimifc IfcType enum.