Skip to main content

IfcType

Enum IfcType 

Source
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

Source

pub fn parse(s: &str) -> Self

Parse a type name string into an IfcType

Source

pub fn name(&self) -> &str

Get the type name as a string

Source

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.

Source

pub fn is_subtype_of(&self, parent: IfcType) -> bool

True if this type equals parent or any of its ancestors equals parent.

Source

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.

Source§

impl IfcType

Source

pub fn is_spatial(&self) -> bool

Check if this type is a spatial structure element

Trait Implementations§

Source§

impl Clone for IfcType

Source§

fn clone(&self) -> IfcType

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IfcType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for IfcType

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for IfcType

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for IfcType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromStr for IfcType

Source§

type Err = Infallible

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Hash for IfcType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for IfcType

Source§

fn eq(&self, other: &IfcType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for IfcType

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for IfcType

Source§

impl StructuralPartialEq for IfcType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,