Expand description
Strict, codec-independent IFC presentation and annotation views.
Appearance stays separate from geometry: this crate exposes colour, style,
texture, layer, styled-item, and annotation semantics over ifc_model::Model
without placing presentation state in the geometry kernel. Reads and writes
resolve attribute slots through the selected ifc_schema::Schema, so IFC2x3,
IFC4, and IFC4X3 layout drift is explicit rather than guessed.
Structs§
- Annotation
- A schema-aware view of
IfcAnnotation. - Annotation
Draft - Draft input for
create_annotation: the writable attributes of a newIfcAnnotation. - Annotation
Fill Area - A bounded fill region made from one outer and optional inner curves.
- Annotation
Fill Area Draft - Draft input for
create_annotation_fill_area: the writable attributes of a newIfcAnnotationFillArea. - Appearance
Declaration - One census entry: an IFC4 ADD2 presentation-appearance schema declaration paired with how this crate supports it.
- Attenuation
- Attenuation over distance, as three coefficients.
- Blob
Texture - Borrowed projection of
IfcBlobTexture: a raster image embedded inline as binary data. - Blob
Texture Draft - Attributes of an
IfcBlobTexture. - Colour
Rgb - Borrowed projection of
IfcColourRgb: a normalized red/green/blue colour. - Colour
RgbDraft - Draft input for
create_colour_rgb: the writable attributes of a newIfcColourRgb. - Curve
Style - Borrowed projection of
IfcCurveStyle. - Curve
Style Draft - Attributes of an
IfcCurveStyle. - Curve
Style Font - Borrowed projection of
IfcCurveStyleFont: a named list of dash/gap patterns applied along a styled curve. - Curve
Style Font Pattern - Borrowed projection of
IfcCurveStyleFontPattern: one visible/invisible segment pair in a dashed curve font. - Fill
Area Style - Borrowed projection of
IfcFillAreaStyle. - Fill
Area Style Hatching - Borrowed projection of
IfcFillAreaStyleHatching: a parallel-line hatch pattern. - Fill
Area Style Tiles - Borrowed projection of
IfcFillAreaStyleTiles: a repeating tile pattern. - Goniometric
Light - The goniometric-only attributes of an
IfcLightSourceGoniometric. - Image
Texture - Borrowed projection of
IfcImageTexture: a raster image referenced by URL rather than embedded inline. - Image
Texture Draft - What to stage for an
IfcImageTexture. - Indexed
Texture Map - Borrowed projection of an indexed texture map (
IfcIndexedTriangleTextureMaporIfcIndexedPolygonalTextureMap): binds a texture to a tessellated face set via per-vertex texture-coordinate indices. - Light
Distribution Data - Borrowed projection of
IfcLightDistributionData: one main-plane angle and the intensities measured across the secondary angles in that plane. - Light
Intensity Distribution - Borrowed projection of
IfcLightIntensityDistribution: a luminaire’s photometric distribution, as a curve type plus its sampled data rows. - Light
Source - Borrowed projection of
IfcLightSource: the colour and intensity every light shares, independent of how it is positioned or aimed. - Light
Source Ambient - Borrowed projection of
IfcLightSourceAmbient. - Light
Source Directional - Borrowed projection of
IfcLightSourceDirectional: parallel rays with an orientation but no position. - Light
Source Draft - The four attributes every
IfcLightSourcecarries. - Light
Source Goniometric - Borrowed projection of
IfcLightSourceGoniometric: a real luminaire described by photometric data rather than a renderer’s approximation. - Light
Source Positional - Borrowed projection of
IfcLightSourcePositional: a point light with a quadratic distance-attenuation law. - Light
Source Spot - Borrowed projection of
IfcLightSourceSpot: a positional light narrowed to a cone and aimed along an orientation. - Pixel
Texture - Borrowed projection of
IfcPixelTexture: an explicit width/height/colour raster. - Pixel
Texture Draft - Attributes of an
IfcPixelTexture. - Planar
Box - Borrowed projection of
IfcPlanarBox: a planar extent plus the placement that positions it. - Planar
Extent - Borrowed projection of
IfcPlanarExtent: a rectangular presentation area. - Point
Light - Where a light sits and how it falls off.
- Presentation
Layer - Borrowed projection of
IfcPresentationLayerAssignment(and itsIfcPresentationLayerWithStylesubtype). - Presentation
Layer Draft - Draft input for
create_presentation_layer_with_style: the writable attributes of a newIfcPresentationLayerWithStyle. - Presentation
Style Assignment - Borrowed projection of the IFC2x3
IfcPresentationStyleAssignmentwrapper entity, which groups a list of presentation styles under one id. - Resolved
Style - The outcome of resolving an item’s effective presentation style through the direct-assignment-over-layer-style cascade.
- Spot
Cone - The cone geometry of a spot light.
- Style
View - Entry point for strict presentation and annotation projections.
- Styled
Item - Borrowed projection of
IfcStyledItem: binds one or more presentation styles to a singleIfcRepresentationItem. - Styled
Item Draft - Draft input for
create_styled_item: the writable attributes of a newIfcStyledItem. - Surface
Style - Borrowed projection of
IfcSurfaceStyle. - Surface
Style Draft - Draft input for
create_surface_style: the writable attributes of a newIfcSurfaceStyle. - Surface
Style Lighting - Borrowed projection of
IfcSurfaceStyleLighting: the four colour coefficients driving IFC’s simplified BRDF-like lighting model. - Surface
Style Refraction - Borrowed projection of
IfcSurfaceStyleRefraction. - Surface
Style Rendering - Borrowed projection of
IfcSurfaceStyleRendering(a subtype ofIfcSurfaceStyleShadingadding rendering-oriented colour selects and the reflectance method). - Surface
Style Rendering Draft - Authored fields for an
IfcSurfaceStyleRendering. - Surface
Style Shading - Borrowed projection of
IfcSurfaceStyleShading(and itsIfcSurfaceStyleRenderingsubtype, whose extra attributes live incrate::SurfaceStyleRendering). - Surface
Style Shading Draft - Draft input for
create_surface_style_shading: the writable attributes of a newIfcSurfaceStyleShading. - Surface
Style With Textures - Borrowed projection of
IfcSurfaceStyleWithTextures. - Surface
Texture - Borrowed projection of
IfcSurfaceTexture, the abstract base attributes shared byIfcBlobTexture,IfcPixelTexture, andIfcImageTexture. - Text
Literal - A schema-aware view of
IfcTextLiteral(including its subtype). - Text
Literal Draft - Draft input for
create_text_literal: the writable attributes of a newIfcTextLiteral. - Text
Literal With Extent - A schema-aware view of
IfcTextLiteralWithExtent. - Text
Literal With Extent Draft - Draft input for
create_text_literal_with_extent: the writable attributes of a newIfcTextLiteralWithExtent. - Text
Model Draft - Attributes of an
IfcTextStyleTextModel. - Text
Style - Borrowed projection of
IfcTextStyle. - Text
Style Font Model - Borrowed projection of
IfcTextStyleFontModel. - Texture
Coordinate - Borrowed projection of an
IfcTextureCoordinate(and its generator/map subtypes): procedural or explicit texture-coordinate assignment for a mapped item. - Texture
Vertex - Borrowed projection of
IfcTextureVertex: a single 2D texture coordinate. - Texture
Vertex List - Borrowed projection of
IfcTextureVertexList: an indexed list of texture coordinates shared across faces viacrate::IndexedTextureMap.
Enums§
- Annotation
Type - The
IfcAnnotationTypeEnumclassifying anIfcAnnotation’s purpose. - Appearance
Kind - The syntactic kind of an IFC4 ADD2 presentation-appearance schema declaration: an entity, a defined/select type, or a global rule function.
- Appearance
Support - How thoroughly this crate exposes a given IFC4 ADD2 presentation-appearance schema declaration.
- BoxAlignment
- Alignment of an
IfcTextLiteralWithExtentinside its planar extent. - Colour
OrFactor - One resolved member of the
IfcColourOrFactorselect. - Curve
Width - The two curve widths
MeasureOfWidthadmits. - External
Style Kind - Which externally defined style is being named.
- Fill
Style Kind - Which
IfcFillStyleSelectmember a fill style is. - Hatch
Line Distance IfcHatchLineDistanceSelect: the spacing between hatch lines.- Light
Source Kind - Which concrete
IfcLightSourcesubtype an entity declares. - Presentation
Style Member - One member of IFC2x3/IFC4’s legacy presentation-style select.
- Size
Value - A resolved
IfcSizeSelectvalue. - Style
Error - A malformed, unresolved, or unsupported presentation contract.
- Style
Source - Which mechanism, if any, supplied a resolved item’s effective styles.
- Surface
Side - The
IfcSurfaceSideenumeration: which face(s) of a surface a style applies to. - Text
Path - Direction in which a text literal is laid out.
Constants§
- APPEARANCE_
DECLARATIONS - The full, test-verified census of IFC4 ADD2 presentation-appearance schema declarations and how this crate supports each one.
- PREDEFINED_
COLOUR_ NAMES - The names
PreDefinedColourNamesadmits, lower-case as the schema states. - PREDEFINED_
CURVE_ FONT_ NAMES - The names
PreDefinedCurveFontNamesadmits.
Functions§
- create_
annotation - Stage a new
IfcAnnotationintx. Fails ifGlobalIddoes not parse as a GUID, ifPredefinedTypeisUSERDEFINEDwith an emptyObjectType, or if any referenced entity does not resolve to its expected IFC type. - create_
annotation_ fill_ area - Stage a new
IfcAnnotationFillAreaintx. Fails ifouter_boundaryor any ofinner_boundariesdoes not resolve to anIfcCurve. - create_
blob_ texture - Stage an
IfcBlobTexture, embedding the raster bytes in the file. - create_
colour_ rgb - Stage a new
IfcColourRgbintx. Fails if any channel is not a finite value in[0, 1]. - create_
colour_ rgb_ list - Stage an
IfcColourRgbList. - create_
curve_ style - Stage an
IfcCurveStyle. - create_
curve_ style_ font - Stage an
IfcCurveStyleFont. - create_
curve_ style_ font_ and_ scaling - Stage an
IfcCurveStyleFontAndScaling. - create_
curve_ style_ font_ pattern - Stage an
IfcCurveStyleFontPattern. - create_
draughting_ predefined_ colour - Stage an
IfcDraughtingPreDefinedColour. - create_
draughting_ predefined_ curve_ font - Stage an
IfcDraughtingPreDefinedCurveFont. - create_
externally_ defined_ style - Stage an externally defined style reference.
- create_
fill_ area_ style - Stage an
IfcFillAreaStyle. - create_
fill_ area_ style_ hatching - Stage an
IfcFillAreaStyleHatching. - create_
fill_ area_ style_ tiles - Stage an
IfcFillAreaStyleTiles. - create_
image_ texture - Stage an
IfcImageTexture. - create_
indexed_ colour_ map - Stage an
IfcIndexedColourMap. - create_
indexed_ polygonal_ texture_ map - Stage an
IfcIndexedPolygonalTextureMap. - create_
indexed_ triangle_ texture_ map - Stage an
IfcIndexedTriangleTextureMap. - create_
light_ distribution_ data - Stage an
IfcLightDistributionData: one row of a photometric table. - create_
light_ intensity_ distribution - Stage an
IfcLightIntensityDistribution: a photometric table. - create_
light_ source_ ambient - Stage an
IfcLightSourceAmbient: light with no position or direction. - create_
light_ source_ directional - Stage an
IfcLightSourceDirectional: parallel rays, no position. - create_
light_ source_ goniometric - Stage an
IfcLightSourceGoniometric. - create_
light_ source_ positional - Stage an
IfcLightSourcePositional: a point light with falloff. - create_
light_ source_ spot - Stage an
IfcLightSourceSpot. - create_
pixel_ texture - Stage an
IfcPixelTexture. - create_
planar_ extent - Pick whichever spelling of an attribute the target schema declares.
- create_
presentation_ layer_ assignment - Stage an
IfcPresentationLayerAssignment. - create_
presentation_ layer_ with_ style - Stage a new
IfcPresentationLayerWithStyleintx. Fails ifnameis empty,assigned_itemsis empty, or any assigned item or layer style does not resolve to its expected type. - create_
styled_ item - Stage a new
IfcStyledItemintx. Fails ifstylesis empty,itemdoes not resolve to anIfcRepresentationItem, or a style does not resolve to its expected type for the target schema version. - create_
surface_ style - Stage a new
IfcSurfaceStyleintx. Fails ifelementsis empty, exceeds five members, contains two members from the same surface-style element category, or any member does not resolve to its expected type. - create_
surface_ style_ lighting - Stage an
IfcSurfaceStyleLighting: the four physical colour terms. - create_
surface_ style_ refraction - Stage an
IfcSurfaceStyleRefraction. - create_
surface_ style_ rendering - Stage an
IfcSurfaceStyleRendering. - create_
surface_ style_ shading - Stage a new
IfcSurfaceStyleShadingintx. Fails ifsurface_colourdoes not resolve to anIfcColourRgb, ortransparencyis not a finite value in[0, 1]. - create_
surface_ style_ with_ textures - Stage an
IfcSurfaceStyleWithTextures. - create_
text_ literal - Stage a new
IfcTextLiteralintx. Fails ifliteralis empty orplacementdoes not resolve to anIfcPlacement. - create_
text_ literal_ with_ extent - Stage a new
IfcTextLiteralWithExtentintx. Fails ifliteralis empty, or ifplacement/extentdo not resolve to their expected types. - create_
text_ style - Stage an
IfcTextStyle. - create_
text_ style_ font_ model - Stage an
IfcTextStyleFontModel. - create_
text_ style_ for_ defined_ font - Stage an
IfcTextStyleForDefinedFont. - create_
text_ style_ text_ model - Stage an
IfcTextStyleTextModel. - create_
texture_ coordinate_ generator - Stage an
IfcTextureCoordinateGenerator: coordinates computed, not listed. - create_
texture_ coordinate_ indices - Stage an
IfcTextureCoordinateIndices. - create_
texture_ coordinate_ indices_ with_ voids - Stage an
IfcTextureCoordinateIndicesWithVoids. - create_
texture_ map - Stage an
IfcTextureMap: explicit texture coordinates on a face. - create_
texture_ vertex - Stage an
IfcTextureVertex: one 2-tuple of parameter values. - create_
texture_ vertex_ list - Stage an
IfcTextureVertexList.
Type Aliases§
- Style
Result - The result type returned by this crate’s projection and authoring operations.