Skip to main content

T8ProductWithGeometry <TEntity>

Read-only view of an IFC product (element) in a building model.

This is the shared interface between the browser (@twinfinity/core) and server/Node.js (@twinfinity/t8-client-model) contexts, allowing business logic to be written once and consumed from both.

Hierarchy

Implements

Index

Constructors

constructor

Properties

publicreadonlyaggregates

aggregates: readonly T8Product<TEntity, T8Unit>[] = ...

Products that are aggregated by this product

publicclassName

className: string

Class name (e.g., 'IfcWall', 'IfcDoor')

publiccomputedPropertySets

computedPropertySets: Record<string, T8PropertySet<T8Unit>> = ...

Computed property sets (e.g., Pset_Twinfinity_Aggregates)

publicreadonlycontains

contains: readonly T8Product<TEntity, T8Unit>[] = ...

Products that are contained within this product (spatial containment)

publicdata

data: Record<string, string | number | boolean>

Custom data values attached to this product

publicoptionaldefinedByType

definedByType?: TEntity

The entity type (class) this product is an instance of

publicdescription

description: undefined | string = undefined

Optional description of the product

facility

facility: undefined | T8Product<TEntity, T8Unit>

The IfcBuilding (or IfcFacility) ancestor of this product.

facilityPart

facilityPart: undefined | T8Product<TEntity, T8Unit>

The IfcBuildingStorey (or IfcFacilityPart) ancestor of this product.

publicglobalId

globalId: string

Global unique identifier (GUID)

publiclocalId

localId: number

Local numerical identifier within the model

publicname

name: undefined | string = undefined

Optional name of the product

parent

parent: undefined | T8Product<TEntity, T8Unit>

Closest parent in the spatial/aggregation hierarchy.

publicpropertySets

propertySets: Record<string, T8PropertySet<T8Unit>> = ...

Property sets (e.g., Pset_WallCommon)

publicquantities

quantities: Record<string, T8QuantitySet<T8Unit>> = ...

Quantity sets (e.g., Qto_WallBaseQuantities)

site

site: undefined | T8Product<TEntity, T8Unit>

The IfcSite ancestor of this product.

publicoptionaltag

tag?: string

Optional tag identifier

Accessors

children

  • get children(): Iterable<T8Product<TEntityType, TUnit>, any, any>
  • All child products regardless of relationship type.


    Returns Iterable<T8Product<TEntityType, TUnit>, any, any>

class

  • Parsed class with category information. Reference equality can be used for comparison.


    Returns ModelProductClass

hasGeometry

  • get hasGeometry(): boolean
  • True if this product has at least one mesh with geometry data.


    Returns boolean

hasStructuredRelationships

  • get hasStructuredRelationships(): boolean
  • True when aggregates and contains carry structured IFC relationship data (IfcRelAggregates / IfcRelContainedInSpatialStructure). When false, only children is populated.


    Returns boolean

meshes

  • get meshes(): readonly T8Mesh[]
  • Geometry meshes belonging to this product.


    Returns readonly T8Mesh[]

polylines

quantitySets

  • IFC quantity sets (e.g. Qto_WallBaseQuantities).


    Returns Record<string, T8QuantitySet<TUnit>>

publictype

  • get type(): undefined | TEntityType
  • The entity type definition this product is an instance of (e.g. an IfcWallType).


    Returns undefined | TEntityType

Methods

publicstaticconnect

publicstaticcreate

  • Type parameters

    • TEntityType
    • TUnit

    Parameters

    Returns T8Product<TEntityType, TUnit>

staticcreateWithMeshes