#[non_exhaustive]pub enum BodyKind {
Show 19 variants
Extrusion,
TaperedExtrusion,
Revolution,
TaperedRevolution,
DirectrixSweep,
SweptDisk,
SectionedSpine,
Brep,
Csg,
CsgPrimitive,
HalfSpace,
BoundingBox,
Tessellated,
SurfaceModel,
Face,
GeometricSet,
Curve,
Surface,
Point,
}Expand description
How one representation item models its shape.
Finer than crate::solid::SolidKind, which groups every sweep as
Swept: a rule check that allows extrusions but not directrix sweeps needs
the distinction. The concrete IFC type is reported beside the kind, so a
caller that needs more detail than the kind states can read it.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Extrusion
IfcExtrudedAreaSolid: a profile swept along a straight direction.
TaperedExtrusion
IfcExtrudedAreaSolidTapered: an extrusion lofted to an end profile.
Revolution
IfcRevolvedAreaSolid: a profile swept about an axis.
TaperedRevolution
IfcRevolvedAreaSolidTapered: a revolution lofted to an end profile.
DirectrixSweep
IfcFixedReferenceSweptAreaSolid or IfcSurfaceCurveSweptAreaSolid:
a profile swept along a directrix curve.
SweptDisk
IfcSweptDiskSolid or IfcSweptDiskSolidPolygonal: a circular disk
swept along a curve.
SectionedSpine
IfcSectionedSpine: cross sections interpolated along a spine.
Brep
A faceted or advanced boundary representation, with or without voids.
Csg
IfcCsgSolid, IfcBooleanResult or IfcBooleanClippingResult: a
boolean tree.
CsgPrimitive
A CSG primitive: IfcBlock, IfcSphere, IfcRightCircularCylinder,
IfcRightCircularCone or IfcRectangularPyramid.
HalfSpace
A half space. Infinite; only meaningful as a boolean operand.
BoundingBox
IfcBoundingBox: a proxy extent, not a shape.
Tessellated
IfcTriangulatedFaceSet or IfcPolygonalFaceSet.
SurfaceModel
IfcShellBasedSurfaceModel or IfcFaceBasedSurfaceModel. Never a
solid, even when every shell is closed.
Face
IfcFaceSurface or IfcAdvancedFace: one bounded face on a carrier
surface. Never a solid: a single face encloses nothing.
GeometricSet
IfcGeometricSet or IfcGeometricCurveSet.
Curve
Any IfcCurve.
Surface
Any IfcSurface.
Point
IfcPointOnCurve or IfcPointOnSurface.
Implementations§
Source§impl BodyKind
impl BodyKind
Sourcepub fn classify(type_name: &str) -> Option<Self>
pub fn classify(type_name: &str) -> Option<Self>
Classify a representation item’s IFC type name, case-insensitively.
None for IfcMappedItem (resolved, not classified) and for anything
that is not a representation item family this crate interprets.
Sourcepub fn is_swept_area(self) -> bool
pub fn is_swept_area(self) -> bool
Is this a swept-area family, whose profile crate::SweptSolid
describes?