├── .gitignore ├── .yarn ├── install-state.gz └── releases │ └── yarn-4.1.0.cjs ├── .yarnrc.yml ├── README.md ├── babel.config.js ├── build ├── .nojekyll ├── 404.html ├── Tutorials │ ├── Components │ │ ├── Core │ │ │ ├── BCFTopics │ │ │ │ └── index.html │ │ │ ├── BoundingBoxer │ │ │ │ └── index.html │ │ │ ├── Classifier │ │ │ │ └── index.html │ │ │ ├── Clipper │ │ │ │ └── index.html │ │ │ ├── Cullers │ │ │ │ └── index.html │ │ │ ├── Exploder │ │ │ │ └── index.html │ │ │ ├── FragmentsManager │ │ │ │ └── index.html │ │ │ ├── Grids │ │ │ │ └── index.html │ │ │ ├── Hider │ │ │ │ └── index.html │ │ │ ├── IfcFinder │ │ │ │ └── index.html │ │ │ ├── IfcGeometryTiler │ │ │ │ └── index.html │ │ │ ├── IfcIsolator │ │ │ │ └── index.html │ │ │ ├── IfcJsonExporter │ │ │ │ └── index.html │ │ │ ├── IfcLoader │ │ │ │ └── index.html │ │ │ ├── IfcPropertiesManager │ │ │ │ └── index.html │ │ │ ├── IfcPropertiesTiler │ │ │ │ └── index.html │ │ │ ├── IfcRelationsIndexer │ │ │ │ └── index.html │ │ │ ├── MeasurementUtils │ │ │ │ └── index.html │ │ │ ├── MiniMap │ │ │ │ └── index.html │ │ │ ├── OrthoPerspectiveCamera │ │ │ │ └── index.html │ │ │ ├── Raycasters │ │ │ │ └── index.html │ │ │ ├── ShadowedScene │ │ │ │ └── index.html │ │ │ ├── Viewpoints │ │ │ │ └── index.html │ │ │ └── Worlds │ │ │ │ └── index.html │ │ ├── Front │ │ │ ├── AngleMeasurement │ │ │ │ └── index.html │ │ │ ├── AreaMeasurement │ │ │ │ └── index.html │ │ │ ├── Civil3DNavigator │ │ │ │ └── index.html │ │ │ ├── CivilCrossSectionNavigator │ │ │ │ └── index.html │ │ │ ├── CivilElevationNavigator │ │ │ │ └── index.html │ │ │ ├── CivilPlanNavigator │ │ │ │ └── index.html │ │ │ ├── ClipEdges │ │ │ │ └── index.html │ │ │ ├── EdgeMeasurement │ │ │ │ └── index.html │ │ │ ├── FaceMeasurement │ │ │ │ └── index.html │ │ │ ├── Highlighter │ │ │ │ └── index.html │ │ │ ├── IfcStreamer │ │ │ │ └── index.html │ │ │ ├── LengthMeasurement │ │ │ │ └── index.html │ │ │ ├── Marker │ │ │ │ └── index.html │ │ │ ├── Plans │ │ │ │ └── index.html │ │ │ ├── PostproductionRenderer │ │ │ │ └── index.html │ │ │ ├── Sections │ │ │ │ └── index.html │ │ │ ├── ShadowDropper │ │ │ │ └── index.html │ │ │ └── VolumeMeasurement │ │ │ │ └── index.html │ │ └── index.html │ ├── Fragments │ │ ├── Fragments │ │ │ ├── FragmentsModels │ │ │ │ └── index.html │ │ │ ├── IfcImporter │ │ │ │ └── index.html │ │ │ ├── ModelInformation │ │ │ │ └── index.html │ │ │ ├── Raycasting │ │ │ │ └── index.html │ │ │ └── VisibilityOperations │ │ │ │ └── index.html │ │ └── index.html │ └── UserInterface │ │ ├── Core │ │ ├── Component │ │ │ └── index.html │ │ └── Table │ │ │ ├── DataTransform │ │ │ └── index.html │ │ │ ├── ExportingData │ │ │ └── index.html │ │ │ ├── LoadFunction │ │ │ └── index.html │ │ │ ├── Searching │ │ │ └── index.html │ │ │ └── index.html │ │ ├── OBC │ │ ├── ClassificationsTree │ │ │ └── index.html │ │ ├── ElementProperties │ │ │ └── index.html │ │ ├── EntityAttributes │ │ │ └── index.html │ │ ├── ModelsList │ │ │ └── index.html │ │ ├── RelationsTree │ │ │ └── index.html │ │ └── TopicsUI │ │ │ └── index.html │ │ └── index.html ├── api │ ├── @thatopen │ │ ├── components-front │ │ │ ├── classes │ │ │ │ ├── AngleMeasurement │ │ │ │ │ └── index.html │ │ │ │ ├── AreaMeasurement │ │ │ │ │ └── index.html │ │ │ │ ├── Civil3DNavigator │ │ │ │ │ └── index.html │ │ │ │ ├── CivilCrossSectionNavigator │ │ │ │ │ └── index.html │ │ │ │ ├── CivilElevationNavigator │ │ │ │ │ └── index.html │ │ │ │ ├── CivilNavigator │ │ │ │ │ └── index.html │ │ │ │ ├── CivilPlanNavigator │ │ │ │ │ └── index.html │ │ │ │ ├── ClipEdges │ │ │ │ │ └── index.html │ │ │ │ ├── ClippingEdges │ │ │ │ │ └── index.html │ │ │ │ ├── ClippingFills │ │ │ │ │ └── index.html │ │ │ │ ├── EdgeMeasurement │ │ │ │ │ └── index.html │ │ │ │ ├── EdgesPlane │ │ │ │ │ └── index.html │ │ │ │ ├── EdgesStyles │ │ │ │ │ └── index.html │ │ │ │ ├── FaceMeasurement │ │ │ │ │ └── index.html │ │ │ │ ├── GeometryCullerRenderer │ │ │ │ │ └── index.html │ │ │ │ ├── GraphicVertexPicker │ │ │ │ │ └── index.html │ │ │ │ ├── Highlighter │ │ │ │ │ └── index.html │ │ │ │ ├── IfcStreamer │ │ │ │ │ └── index.html │ │ │ │ ├── LengthMeasurement │ │ │ │ │ └── index.html │ │ │ │ ├── Mark │ │ │ │ │ └── index.html │ │ │ │ ├── Marker │ │ │ │ │ └── index.html │ │ │ │ ├── Outliner │ │ │ │ │ └── index.html │ │ │ │ ├── Plans │ │ │ │ │ └── index.html │ │ │ │ ├── Postproduction │ │ │ │ │ └── index.html │ │ │ │ ├── PostproductionRenderer │ │ │ │ │ └── index.html │ │ │ │ ├── RendererWith2D │ │ │ │ │ └── index.html │ │ │ │ ├── Sections │ │ │ │ │ └── index.html │ │ │ │ ├── ShadowDropper │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleDimensionLine │ │ │ │ │ └── index.html │ │ │ │ └── VolumeMeasurement │ │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── interfaces │ │ │ │ ├── AreaSelection │ │ │ │ │ └── index.html │ │ │ │ ├── BvhLineSegmentsGeometry │ │ │ │ │ └── index.html │ │ │ │ ├── ClipStyle │ │ │ │ │ └── index.html │ │ │ │ ├── DimensionData │ │ │ │ │ └── index.html │ │ │ │ ├── Edge │ │ │ │ │ └── index.html │ │ │ │ ├── HighlightEvents │ │ │ │ │ └── index.html │ │ │ │ ├── HighlighterConfig │ │ │ │ │ └── index.html │ │ │ │ ├── IGroupedMarkers │ │ │ │ │ └── index.html │ │ │ │ ├── IMarker │ │ │ │ │ └── index.html │ │ │ │ ├── PlanView │ │ │ │ │ └── index.html │ │ │ │ ├── PostproductionSettings │ │ │ │ │ └── index.html │ │ │ │ ├── Section │ │ │ │ │ └── index.html │ │ │ │ ├── SerializedAreaMeasure │ │ │ │ │ └── index.html │ │ │ │ ├── Shadow │ │ │ │ │ └── index.html │ │ │ │ ├── Shadows │ │ │ │ │ └── index.html │ │ │ │ ├── StreamLoaderSettings │ │ │ │ │ └── index.html │ │ │ │ ├── StreamPropertiesSettings │ │ │ │ │ └── index.html │ │ │ │ └── StreamedInstance │ │ │ │ │ └── index.html │ │ │ └── type-aliases │ │ │ │ ├── CivilMarkerType │ │ │ │ └── index.html │ │ │ │ ├── Edges │ │ │ │ └── index.html │ │ │ │ ├── IndexFragmentMap │ │ │ │ └── index.html │ │ │ │ ├── LineStyles │ │ │ │ └── index.html │ │ │ │ └── StreamedInstances │ │ │ │ └── index.html │ │ ├── components │ │ │ ├── classes │ │ │ │ ├── AsyncEvent │ │ │ │ │ └── index.html │ │ │ │ ├── BCFTopics │ │ │ │ │ └── index.html │ │ │ │ ├── Base │ │ │ │ │ └── index.html │ │ │ │ ├── BaseCamera │ │ │ │ │ └── index.html │ │ │ │ ├── BaseRenderer │ │ │ │ │ └── index.html │ │ │ │ ├── BaseScene │ │ │ │ │ └── index.html │ │ │ │ ├── BaseWorldItem │ │ │ │ │ └── index.html │ │ │ │ ├── BoundingBoxer │ │ │ │ │ └── index.html │ │ │ │ ├── Classifier │ │ │ │ │ └── index.html │ │ │ │ ├── Clipper │ │ │ │ │ └── index.html │ │ │ │ ├── Comment │ │ │ │ │ └── index.html │ │ │ │ ├── Component │ │ │ │ │ └── index.html │ │ │ │ ├── Components │ │ │ │ │ └── index.html │ │ │ │ ├── ConfigManager │ │ │ │ │ └── index.html │ │ │ │ ├── CullerRenderer │ │ │ │ │ └── index.html │ │ │ │ ├── Cullers │ │ │ │ │ └── index.html │ │ │ │ ├── DataMap │ │ │ │ │ └── index.html │ │ │ │ ├── DataSet │ │ │ │ │ └── index.html │ │ │ │ ├── Disposer │ │ │ │ │ └── index.html │ │ │ │ ├── Event │ │ │ │ │ └── index.html │ │ │ │ ├── EventManager │ │ │ │ │ └── index.html │ │ │ │ ├── Exploder │ │ │ │ │ └── index.html │ │ │ │ ├── FirstPersonMode │ │ │ │ │ └── index.html │ │ │ │ ├── FragmentsManager │ │ │ │ │ └── index.html │ │ │ │ ├── Grids │ │ │ │ │ └── index.html │ │ │ │ ├── Hider │ │ │ │ │ └── index.html │ │ │ │ ├── IDSSpecification │ │ │ │ │ └── index.html │ │ │ │ ├── IDSSpecifications │ │ │ │ │ └── index.html │ │ │ │ ├── IfcBasicQuery │ │ │ │ │ └── index.html │ │ │ │ ├── IfcFinder │ │ │ │ │ └── index.html │ │ │ │ ├── IfcFinderQuery │ │ │ │ │ └── index.html │ │ │ │ ├── IfcFragmentSettings │ │ │ │ │ └── index.html │ │ │ │ ├── IfcGeometryTiler │ │ │ │ │ └── index.html │ │ │ │ ├── IfcIsolator │ │ │ │ │ └── index.html │ │ │ │ ├── IfcJsonExporter │ │ │ │ │ └── index.html │ │ │ │ ├── IfcLoader │ │ │ │ │ └── index.html │ │ │ │ ├── IfcPropertiesManager │ │ │ │ │ └── index.html │ │ │ │ ├── IfcPropertiesTiler │ │ │ │ │ └── index.html │ │ │ │ ├── IfcPropertyQuery │ │ │ │ │ └── index.html │ │ │ │ ├── IfcRelationsIndexer │ │ │ │ │ └── index.html │ │ │ │ ├── IfcStreamingSettings │ │ │ │ │ └── index.html │ │ │ │ ├── MeasurementUtils │ │ │ │ │ └── index.html │ │ │ │ ├── MeshCullerRenderer │ │ │ │ │ └── index.html │ │ │ │ ├── MiniMap │ │ │ │ │ └── index.html │ │ │ │ ├── MiniMaps │ │ │ │ │ └── index.html │ │ │ │ ├── Mouse │ │ │ │ │ └── index.html │ │ │ │ ├── OrbitMode │ │ │ │ │ └── index.html │ │ │ │ ├── OrthoPerspectiveCamera │ │ │ │ │ └── index.html │ │ │ │ ├── PlanMode │ │ │ │ │ └── index.html │ │ │ │ ├── ProjectionManager │ │ │ │ │ └── index.html │ │ │ │ ├── PropertiesStreamingSettings │ │ │ │ │ └── index.html │ │ │ │ ├── Raycasters │ │ │ │ │ └── index.html │ │ │ │ ├── ShadowedScene │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleCamera │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleGrid │ │ │ │ │ └── index.html │ │ │ │ ├── SimplePlane │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleRaycaster │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleRenderer │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleScene │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleWorld │ │ │ │ │ └── index.html │ │ │ │ ├── VertexPicker │ │ │ │ │ └── index.html │ │ │ │ ├── Viewpoint │ │ │ │ │ └── index.html │ │ │ │ └── Worlds │ │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── interfaces │ │ │ │ ├── AttributeListener │ │ │ │ │ └── index.html │ │ │ │ ├── BCFTopicsConfig │ │ │ │ │ └── index.html │ │ │ │ ├── BCFViewpoint │ │ │ │ │ └── index.html │ │ │ │ ├── CameraControllable │ │ │ │ │ └── index.html │ │ │ │ ├── ChangeMap │ │ │ │ │ └── index.html │ │ │ │ ├── Classification │ │ │ │ │ └── index.html │ │ │ │ ├── Configurable │ │ │ │ │ └── index.html │ │ │ │ ├── Createable │ │ │ │ │ └── index.html │ │ │ │ ├── Disposable │ │ │ │ │ └── index.html │ │ │ │ ├── EntitiesRelatedEvent │ │ │ │ │ └── index.html │ │ │ │ ├── Eventable │ │ │ │ │ └── index.html │ │ │ │ ├── Hideable │ │ │ │ │ └── index.html │ │ │ │ ├── IDSCheckResult │ │ │ │ │ └── index.html │ │ │ │ ├── IfcCategoryRule │ │ │ │ │ └── index.html │ │ │ │ ├── IfcOperatorRule │ │ │ │ │ └── index.html │ │ │ │ ├── IfcPropertyRule │ │ │ │ │ └── index.html │ │ │ │ ├── MeasureEdge │ │ │ │ │ └── index.html │ │ │ │ ├── MiniMapConfig │ │ │ │ │ └── index.html │ │ │ │ ├── NavigationMode │ │ │ │ │ └── index.html │ │ │ │ ├── Progress │ │ │ │ │ └── index.html │ │ │ │ ├── Resizeable │ │ │ │ │ └── index.html │ │ │ │ ├── ShadowedSceneConfig │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleGridConfig │ │ │ │ │ └── index.html │ │ │ │ ├── SimpleSceneConfig │ │ │ │ │ └── index.html │ │ │ │ ├── StreamedAsset │ │ │ │ │ └── index.html │ │ │ │ ├── StreamedGeometries │ │ │ │ │ └── index.html │ │ │ │ ├── Updateable │ │ │ │ │ └── index.html │ │ │ │ ├── VertexPickerConfig │ │ │ │ │ └── index.html │ │ │ │ └── World │ │ │ │ │ └── index.html │ │ │ ├── type-aliases │ │ │ │ ├── BooleanPropTypes │ │ │ │ │ └── index.html │ │ │ │ ├── CameraProjection │ │ │ │ │ └── index.html │ │ │ │ ├── IfcFinderRule │ │ │ │ │ └── index.html │ │ │ │ ├── IfcRelations │ │ │ │ │ └── index.html │ │ │ │ ├── InverseAttributes │ │ │ │ │ └── index.html │ │ │ │ ├── NavModeID │ │ │ │ │ └── index.html │ │ │ │ ├── NumericPropTypes │ │ │ │ │ └── index.html │ │ │ │ ├── SerializedQuery │ │ │ │ │ └── index.html │ │ │ │ └── StringPropTypes │ │ │ │ │ └── index.html │ │ │ └── variables │ │ │ │ ├── GeometryTypes │ │ │ │ └── index.html │ │ │ │ ├── IfcCategoryMap │ │ │ │ └── index.html │ │ │ │ └── IfcElements │ │ │ │ └── index.html │ │ ├── fragments │ │ │ ├── classes │ │ │ │ ├── FragmentsModel │ │ │ │ │ └── index.html │ │ │ │ ├── FragmentsModels │ │ │ │ │ └── index.html │ │ │ │ └── IfcImporter │ │ │ │ │ └── index.html │ │ │ ├── enumerations │ │ │ │ ├── CurrentLod │ │ │ │ │ └── index.html │ │ │ │ ├── ItemConfigClass │ │ │ │ │ └── index.html │ │ │ │ └── SnappingClass │ │ │ │ │ └── index.html │ │ │ ├── functions │ │ │ │ └── getObject │ │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── interfaces │ │ │ │ ├── Attributes │ │ │ │ │ └── index.html │ │ │ │ ├── ItemAttribute │ │ │ │ │ └── index.html │ │ │ │ ├── ItemData │ │ │ │ │ └── index.html │ │ │ │ ├── ItemsDataConfig │ │ │ │ │ └── index.html │ │ │ │ ├── MappedInformationResult │ │ │ │ │ └── index.html │ │ │ │ ├── MappedResultInput │ │ │ │ │ └── index.html │ │ │ │ ├── MappedSelectionInput │ │ │ │ │ └── index.html │ │ │ │ ├── ModelIdMap │ │ │ │ │ └── index.html │ │ │ │ ├── RaycastData │ │ │ │ │ └── index.html │ │ │ │ ├── RaycastResult │ │ │ │ │ └── index.html │ │ │ │ ├── RectangleRaycastData │ │ │ │ │ └── index.html │ │ │ │ ├── RectangleRaycastResult │ │ │ │ │ └── index.html │ │ │ │ ├── RelsModifyChange │ │ │ │ │ └── index.html │ │ │ │ ├── SpatialTreeItem │ │ │ │ │ └── index.html │ │ │ │ ├── VirtualModelConfig │ │ │ │ │ └── index.html │ │ │ │ └── VirtualPropertiesConfig │ │ │ │ │ └── index.html │ │ │ ├── type-aliases │ │ │ │ ├── AttributeData │ │ │ │ │ └── index.html │ │ │ │ ├── AttrsChange │ │ │ │ │ └── index.html │ │ │ │ ├── BIMMaterial │ │ │ │ │ └── index.html │ │ │ │ ├── BIMMesh │ │ │ │ │ └── index.html │ │ │ │ ├── DataBuffer │ │ │ │ │ └── index.html │ │ │ │ ├── Identifier │ │ │ │ │ └── index.html │ │ │ │ ├── InformationResultType │ │ │ │ │ └── index.html │ │ │ │ ├── ItemInformationType │ │ │ │ │ └── index.html │ │ │ │ ├── ItemSelectionType │ │ │ │ │ └── index.html │ │ │ │ ├── MaterialDefinition │ │ │ │ │ └── index.html │ │ │ │ ├── MeshData │ │ │ │ │ └── index.html │ │ │ │ ├── RelsChange │ │ │ │ │ └── index.html │ │ │ │ ├── ResultInputType │ │ │ │ │ └── index.html │ │ │ │ └── SelectionInputType │ │ │ │ │ └── index.html │ │ │ └── variables │ │ │ │ ├── ifcCategoryMap │ │ │ │ └── index.html │ │ │ │ └── limitOf2Bytes │ │ │ │ └── index.html │ │ ├── ui-obc │ │ │ ├── classes │ │ │ │ ├── Manager │ │ │ │ │ └── index.html │ │ │ │ ├── ViewCube │ │ │ │ │ └── index.html │ │ │ │ ├── World │ │ │ │ │ └── index.html │ │ │ │ └── World2D │ │ │ │ │ └── index.html │ │ │ └── index.html │ │ └── ui │ │ │ ├── classes │ │ │ ├── Button │ │ │ │ └── index.html │ │ │ ├── Checkbox │ │ │ │ └── index.html │ │ │ ├── ColorInput │ │ │ │ └── index.html │ │ │ ├── Component │ │ │ │ └── index.html │ │ │ ├── Dropdown │ │ │ │ └── index.html │ │ │ ├── Grid │ │ │ │ └── index.html │ │ │ ├── Icon │ │ │ │ └── index.html │ │ │ ├── Input │ │ │ │ └── index.html │ │ │ ├── Label │ │ │ │ └── index.html │ │ │ ├── Manager │ │ │ │ └── index.html │ │ │ ├── NumberInput │ │ │ │ └── index.html │ │ │ ├── Option │ │ │ │ └── index.html │ │ │ ├── Panel │ │ │ │ └── index.html │ │ │ ├── PanelSection │ │ │ │ └── index.html │ │ │ ├── Selector │ │ │ │ └── index.html │ │ │ ├── Tab │ │ │ │ └── index.html │ │ │ ├── Table │ │ │ │ └── index.html │ │ │ ├── Tabs │ │ │ │ └── index.html │ │ │ ├── TextInput │ │ │ │ └── index.html │ │ │ ├── Toolbar │ │ │ │ └── index.html │ │ │ ├── ToolbarGroup │ │ │ │ └── index.html │ │ │ ├── ToolbarSection │ │ │ │ └── index.html │ │ │ └── Viewport │ │ │ │ └── index.html │ │ │ ├── functions │ │ │ └── getElementValue │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── interfaces │ │ │ ├── CellCreatedEventDetail │ │ │ │ └── index.html │ │ │ ├── ColumnData │ │ │ │ └── index.html │ │ │ ├── EntryQuery │ │ │ │ └── index.html │ │ │ ├── HasName │ │ │ │ └── index.html │ │ │ ├── HasValue │ │ │ │ └── index.html │ │ │ ├── ManagerConfig │ │ │ │ └── index.html │ │ │ ├── QueryGroup │ │ │ │ └── index.html │ │ │ ├── RowCreatedEventDetail │ │ │ │ └── index.html │ │ │ ├── RowDeselectedEventDetail │ │ │ │ └── index.html │ │ │ ├── RowSelectedEventDetail │ │ │ │ └── index.html │ │ │ ├── TableGroupData │ │ │ │ └── index.html │ │ │ └── TableGroupTemplate │ │ │ │ └── index.html │ │ │ └── type-aliases │ │ │ ├── ConditionFunctions │ │ │ └── index.html │ │ │ ├── GridLayoutsDefinition │ │ │ └── index.html │ │ │ ├── Query │ │ │ └── index.html │ │ │ ├── QueryCondition │ │ │ └── index.html │ │ │ ├── QueryOperators │ │ │ └── index.html │ │ │ ├── StatefullComponent │ │ │ └── index.html │ │ │ ├── StatelessComponent │ │ │ └── index.html │ │ │ ├── TableDataTransform │ │ │ └── index.html │ │ │ ├── TableRowData │ │ │ └── index.html │ │ │ └── TableRowTemplate │ │ │ └── index.html │ └── index.html ├── assets │ ├── css │ │ └── styles.0229516a.css │ └── js │ │ ├── 0129a812.93f6774c.js │ │ ├── 01976200.1db551a7.js │ │ ├── 021484e5.c31b6b28.js │ │ ├── 035e0bbb.8abd1532.js │ │ ├── 05c8767d.ee0050ab.js │ │ ├── 066d9ce6.6d8d905c.js │ │ ├── 06ebe74e.37036b10.js │ │ ├── 07285760.e5d0330c.js │ │ ├── 0a5f9fea.b7d1982c.js │ │ ├── 0bd070de.7c502491.js │ │ ├── 0cd43766.68084fa4.js │ │ ├── 0dcd76a4.23a7b153.js │ │ ├── 0e167b3b.2f566926.js │ │ ├── 0e384e19.fdff952f.js │ │ ├── 111e5424.590e3ae3.js │ │ ├── 11609d9c.23b57a0e.js │ │ ├── 1312e991.8d485a33.js │ │ ├── 1322ea3a.c1018501.js │ │ ├── 140c5f61.0fa4a014.js │ │ ├── 154fa21f.dacefd5a.js │ │ ├── 15db49d8.1877628e.js │ │ ├── 17896441.99e2d694.js │ │ ├── 18259d44.dc72d3fc.js │ │ ├── 18300867.a114cff4.js │ │ ├── 1862aa2c.a4114f63.js │ │ ├── 18642b58.3e69d28c.js │ │ ├── 1a06c70c.1ac8e733.js │ │ ├── 1a4e3797.3c7d7d9c.js │ │ ├── 1a4e3797.3c7d7d9c.js.LICENSE.txt │ │ ├── 1af0e2a8.eb18dfc9.js │ │ ├── 1bab50c0.5be5c4b8.js │ │ ├── 1d610e8d.fb3a7cb2.js │ │ ├── 1df93b7f.606ac772.js │ │ ├── 1ebc048b.8e52c4e5.js │ │ ├── 1f287bd8.4999ef79.js │ │ ├── 1f35a145.b13005d5.js │ │ ├── 1faa3b26.b0b294e3.js │ │ ├── 2052912a.d263281b.js │ │ ├── 20a8d056.41e9f1c8.js │ │ ├── 21bca064.52a3613b.js │ │ ├── 2237.88fe48de.js │ │ ├── 22dd74f7.56bfb191.js │ │ ├── 2317552d.32218452.js │ │ ├── 23d21976.2381f608.js │ │ ├── 277d3d1f.936e75ac.js │ │ ├── 289e56e5.0c450686.js │ │ ├── 28eadf98.764a1195.js │ │ ├── 29cf8c50.d3e35037.js │ │ ├── 2a9a2072.8d302604.js │ │ ├── 2aba4d5d.752c5609.js │ │ ├── 2b98c8b8.fe7d7186.js │ │ ├── 2cccc130.42fe1812.js │ │ ├── 2e55cd48.4b6f7433.js │ │ ├── 2f3b9650.4e954ff4.js │ │ ├── 308c405f.b8d8fc95.js │ │ ├── 3167543d.773691ac.js │ │ ├── 3378f535.5e6f9001.js │ │ ├── 352a7ccd.0734bfcc.js │ │ ├── 35bc646f.0507d3cd.js │ │ ├── 365a7573.833b0a1a.js │ │ ├── 375bbe41.055de79d.js │ │ ├── 37729f53.6dd74718.js │ │ ├── 37f92c4b.b974dfdb.js │ │ ├── 38b25c42.8de0b658.js │ │ ├── 3984db2b.94856cb4.js │ │ ├── 3b27faa0.94134e24.js │ │ ├── 3dc8cfe6.1ed407b7.js │ │ ├── 3eac639e.d4f2b88e.js │ │ ├── 3f68d459.33616dd8.js │ │ ├── 3faecb4d.bc1988d7.js │ │ ├── 403d615e.d5838475.js │ │ ├── 41337f10.8f81c550.js │ │ ├── 413ac913.1205bc0a.js │ │ ├── 416.3593518a.js │ │ ├── 419c3a53.d37eee81.js │ │ ├── 41e4f119.65c5e60a.js │ │ ├── 42025824.7038c8ac.js │ │ ├── 43cf7f3d.ebb242c1.js │ │ ├── 43d9c4c9.39510817.js │ │ ├── 4619d7dd.10e1f4ad.js │ │ ├── 463f6372.3cac186c.js │ │ ├── 466db7b6.ac08fbfb.js │ │ ├── 4877309e.85b05d80.js │ │ ├── 49f9cca7.ef5dff86.js │ │ ├── 4ae5e07e.310fc5c8.js │ │ ├── 4b44f7a2.a092aa02.js │ │ ├── 4c4c2199.c055e75a.js │ │ ├── 4cd236f7.af9f5f5a.js │ │ ├── 4d54d076.e12f4f00.js │ │ ├── 4f731321.df55df45.js │ │ ├── 5094df0e.0d12512e.js │ │ ├── 52c77013.e22f6e5a.js │ │ ├── 52f1ec2b.d890ad4e.js │ │ ├── 53326157.bc8be96b.js │ │ ├── 5363cd25.b4343eaa.js │ │ ├── 5427f572.eac6fbb4.js │ │ ├── 54374d27.7eaa89d7.js │ │ ├── 5559f2bc.068fe6b4.js │ │ ├── 5585de45.16c94cb8.js │ │ ├── 5813db83.333bc32c.js │ │ ├── 58e51885.382fd46f.js │ │ ├── 5a161d45.08e62104.js │ │ ├── 5a37a46b.16459fa5.js │ │ ├── 5b0fd4cf.b3dafbbd.js │ │ ├── 5b323c0d.b06f9604.js │ │ ├── 5c3ba3b5.faaabbdc.js │ │ ├── 5c500910.0de04738.js │ │ ├── 5c7b714e.e47d5b29.js │ │ ├── 5c9472e2.313f8d1b.js │ │ ├── 5e8c322a.8d4cda4c.js │ │ ├── 5e95c892.9eec3c95.js │ │ ├── 6010802d.eb2704df.js │ │ ├── 605f2b91.6cd67e79.js │ │ ├── 60f3e948.dbce35d1.js │ │ ├── 6180ab48.9adacabd.js │ │ ├── 619060c0.d5b2240e.js │ │ ├── 61edb951.b7e68963.js │ │ ├── 62293fe9.1bfa12a9.js │ │ ├── 6376bb01.8275383b.js │ │ ├── 6442a73b.13b96bcf.js │ │ ├── 65b6eeb2.8285d42f.js │ │ ├── 65c4cb23.6ae88bd6.js │ │ ├── 665fbaa3.b133f5a5.js │ │ ├── 66863a1d.20c0218d.js │ │ ├── 6753a5bd.b1e11a32.js │ │ ├── 6b3aa0b1.36600639.js │ │ ├── 6b589d5b.f6314182.js │ │ ├── 6ccd6ae8.5530f15c.js │ │ ├── 6e9c3009.ce06c5f6.js │ │ ├── 6f005a44.54c14c4c.js │ │ ├── 6f3f8a76.4a22a3f4.js │ │ ├── 6fb69558.c81cc1f5.js │ │ ├── 703f0851.fa7e366e.js │ │ ├── 72d46929.a6ac26ca.js │ │ ├── 73c1b274.5a5ed4a5.js │ │ ├── 748d53f0.53671c44.js │ │ ├── 753c9c51.b0ebc43c.js │ │ ├── 75c9f5a7.58558b60.js │ │ ├── 7600ec35.09415f5f.js │ │ ├── 7669d240.1be784a6.js │ │ ├── 7780d7d8.47cee99e.js │ │ ├── 7899e7db.57be1b3c.js │ │ ├── 79535aa6.21bb68ff.js │ │ ├── 79ddb75d.3b142e81.js │ │ ├── 7a0e30bf.c553513d.js │ │ ├── 7b0627ae.a4eb5731.js │ │ ├── 7b9547e5.2e7f57d7.js │ │ ├── 7bbb74f9.02a9ac41.js │ │ ├── 7c213f25.872bc1b8.js │ │ ├── 7cc95c1b.64f1c38e.js │ │ ├── 7d516a78.98193a72.js │ │ ├── 7d9ad963.3ae78fb1.js │ │ ├── 7deff3d6.b4839bd9.js │ │ ├── 7f9f1956.35d35912.js │ │ ├── 8068fabe.7aeefe7d.js │ │ ├── 8075b353.8cd58b05.js │ │ ├── 80bb5c14.c71a81fa.js │ │ ├── 812ff96c.9bc5f69b.js │ │ ├── 81a7c521.ac0b7f7c.js │ │ ├── 82142225.302c1f17.js │ │ ├── 82c425bb.91df1804.js │ │ ├── 8378e28d.5cd2f3f6.js │ │ ├── 8394e073.da617950.js │ │ ├── 8414dade.8bab508c.js │ │ ├── 844cf797.133e5621.js │ │ ├── 8532e885.6493ecf4.js │ │ ├── 86328980.0a9babae.js │ │ ├── 8649d254.34fddd09.js │ │ ├── 86756d51.20d6e91b.js │ │ ├── 873c742c.2b0524f6.js │ │ ├── 87654e65.763b4e52.js │ │ ├── 87eb9d9a.626fb1df.js │ │ ├── 8831e6a1.aaba9e19.js │ │ ├── 88d6994e.c7bd592a.js │ │ ├── 8913.99f9651f.js │ │ ├── 891ff3cc.f396ae6b.js │ │ ├── 89744073.5b8df572.js │ │ ├── 8a5feacb.632a8452.js │ │ ├── 8acd95ef.9dcd6dfd.js │ │ ├── 8b5cf146.19aeea0d.js │ │ ├── 8d17812b.5160b3ce.js │ │ ├── 8d3c89f1.8675ab94.js │ │ ├── 91048590.869d9575.js │ │ ├── 91847d5b.8f86fa27.js │ │ ├── 91e2b7e8.6b60367b.js │ │ ├── 920c7aa2.33e62682.js │ │ ├── 929d4cd2.fdaaf864.js │ │ ├── 93387336.90895492.js │ │ ├── 933e260b.4db4a131.js │ │ ├── 93d93575.596a5371.js │ │ ├── 9462.623abda5.js │ │ ├── 9629a8e7.1125e8f4.js │ │ ├── 964fd942.4ea9d831.js │ │ ├── 974d60c2.a61d9ac6.js │ │ ├── 97ffe74a.58864b38.js │ │ ├── 980edba3.1a721475.js │ │ ├── 981448f8.124f24e1.js │ │ ├── 9a1d8bf7.3dbc3da1.js │ │ ├── 9a679a6d.41258a16.js │ │ ├── 9a9290c7.89b5f49d.js │ │ ├── 9ac8f8d2.f4c80007.js │ │ ├── 9b33109d.545627a3.js │ │ ├── 9c72e710.c556330d.js │ │ ├── 9cc8bf47.5c0ccc8d.js │ │ ├── 9d575eb0.9666f779.js │ │ ├── 9d7eea47.ffcec119.js │ │ ├── 9df86faa.2f3ef1d1.js │ │ ├── 9ecb64fb.22181212.js │ │ ├── 9eeabc4e.37e6f97f.js │ │ ├── 9f1bf482.66272c3c.js │ │ ├── 9fb24410.060d9b94.js │ │ ├── a004cb4f.f80629ca.js │ │ ├── a19215ee.3f70b35d.js │ │ ├── a198b8fb.6c0278c0.js │ │ ├── a2e958f8.19d428f6.js │ │ ├── a3f6485e.8f566ffe.js │ │ ├── a599bc11.d50c6f8f.js │ │ ├── a7456010.d2757558.js │ │ ├── a7bd4aaa.1b204ae1.js │ │ ├── a7f5133b.79676ebd.js │ │ ├── a86c020f.7efd78e4.js │ │ ├── a94703ab.01cb728e.js │ │ ├── a97be2f4.0970ef93.js │ │ ├── aabc5d6d.088e662d.js │ │ ├── aaf02d6d.00923564.js │ │ ├── ab5353a3.08746222.js │ │ ├── ab991a90.e4e04ea2.js │ │ ├── aba21aa0.02f5ef4f.js │ │ ├── ac8bbf91.3ee013ab.js │ │ ├── aeb76930.bc7b8d3f.js │ │ ├── af33d720.350869fa.js │ │ ├── af41a79f.6c7c5e9a.js │ │ ├── af9da348.dcd94afc.js │ │ ├── b147a7a4.7b598a85.js │ │ ├── b3a8b157.6acd538b.js │ │ ├── b4a4c403.65ad682c.js │ │ ├── b566c30c.2876217e.js │ │ ├── b644f464.c9fa2c4b.js │ │ ├── b647a403.1c94611b.js │ │ ├── b6ed21d5.0d192713.js │ │ ├── b7a247ba.1801fba1.js │ │ ├── b901c018.a73bf81a.js │ │ ├── ba2d65a5.ab2558f5.js │ │ ├── bb084856.08bc3eb0.js │ │ ├── bb31c526.5ef6d343.js │ │ ├── bbbd24fa.00e3427b.js │ │ ├── bbca7ecd.b41551e7.js │ │ ├── bbe9aba3.bed8b380.js │ │ ├── bc725c21.37e97599.js │ │ ├── bcf1c6aa.af174a32.js │ │ ├── bd3873d8.966e8198.js │ │ ├── bfb74b8f.06a18156.js │ │ ├── c03ff2b0.62be73c7.js │ │ ├── c0c84d70.394a97d5.js │ │ ├── c141421f.21cce4e3.js │ │ ├── c1b3b982.a0f83a44.js │ │ ├── c2ed691f.3b732b63.js │ │ ├── c3fa778d.3cb4a6c6.js │ │ ├── c59a7f4a.bbd13a78.js │ │ ├── c5eca5d6.41f6f270.js │ │ ├── c62bb28c.55c2bced.js │ │ ├── c694b8d2.4fd45f78.js │ │ ├── c6b2dae7.40b303c1.js │ │ ├── c7d13209.66734858.js │ │ ├── c841d004.9200ebdb.js │ │ ├── c8eb6001.07e11664.js │ │ ├── ca57013d.b45dff71.js │ │ ├── cab0aaf7.9863d51b.js │ │ ├── cb1bbd23.b302e3de.js │ │ ├── cbfd7658.504667c3.js │ │ ├── cc2135d3.c2d83832.js │ │ ├── cccf32cd.93bcd8b4.js │ │ ├── cd2a2db6.b40809fc.js │ │ ├── cd4c7385.9e13c1c0.js │ │ ├── cdf177fd.ae8075f6.js │ │ ├── cf2b6f49.813d8957.js │ │ ├── cf9aea31.60bc139c.js │ │ ├── d0337ccc.0a6c78d7.js │ │ ├── d2f9f8f0.4f372252.js │ │ ├── d30a5746.390d3d17.js │ │ ├── d4de7b83.755c67ec.js │ │ ├── d664507b.0d689ef1.js │ │ ├── d7622d88.df1513d7.js │ │ ├── d7881993.8bfe0378.js │ │ ├── d98048c4.e740a4a3.js │ │ ├── da19a474.44f2a4ef.js │ │ ├── db332ac7.cf3e132e.js │ │ ├── db5b3467.cc9e0af7.js │ │ ├── dbc536f0.1af7e5a4.js │ │ ├── dc2a58ea.1844d440.js │ │ ├── dc5ba380.0b54cee4.js │ │ ├── dd39d547.d853790c.js │ │ ├── ddf030d9.e183116e.js │ │ ├── de5a1b2f.094ebadb.js │ │ ├── df1f6170.c350ed6a.js │ │ ├── df322933.3093e305.js │ │ ├── e0ad7ff3.6acacf4c.js │ │ ├── e126ec1c.17993ca9.js │ │ ├── e1742e01.71ede0f2.js │ │ ├── e1d72daf.e55b72ef.js │ │ ├── e24f28d7.56f3015c.js │ │ ├── e2bafd46.41d8c18f.js │ │ ├── e34c19ea.ba28abe3.js │ │ ├── e3702cd4.4548a356.js │ │ ├── e4469bde.9923359d.js │ │ ├── e4477f93.caf86c03.js │ │ ├── e4857e4d.98717514.js │ │ ├── e4f9526a.5c1e9722.js │ │ ├── e7902667.6f7c0c76.js │ │ ├── e8059868.99735bde.js │ │ ├── e81d001f.7e9500bc.js │ │ ├── ec1e15a5.efbee87b.js │ │ ├── ec23e004.4998b5ed.js │ │ ├── ef4d88ec.2c75476a.js │ │ ├── f02943fa.4c4da81d.js │ │ ├── f0d87bf4.8e2bd99f.js │ │ ├── f2099014.00a7c28d.js │ │ ├── f249f794.4b49b8be.js │ │ ├── f2554377.408c9d60.js │ │ ├── f27de35f.9b414ffa.js │ │ ├── f45379a9.0b230e7f.js │ │ ├── f70643aa.5c5645a4.js │ │ ├── f75f81bf.88f7eebf.js │ │ ├── fa3a76b7.91d3ef14.js │ │ ├── fb334a9e.480659db.js │ │ ├── fb3ecf5a.81f5032d.js │ │ ├── fb43906d.1b444b35.js │ │ ├── fba9713b.dee90461.js │ │ ├── fbf5076e.b71ebb86.js │ │ ├── fc883a52.5d37d1c0.js │ │ ├── fcb3671e.c9d2d57b.js │ │ ├── fcb6e505.54f5638f.js │ │ ├── fe233e95.ef240c40.js │ │ ├── fec1cb9d.96c20c22.js │ │ ├── ff77d064.72fce43a.js │ │ ├── main.a10ed41d.js │ │ ├── main.a10ed41d.js.LICENSE.txt │ │ └── runtime~main.2de0ec47.js ├── components │ ├── clean-components-guide │ │ └── index.html │ ├── creating-components │ │ └── index.html │ ├── getting-started │ │ └── index.html │ └── tutorial-paths │ │ └── index.html ├── contributing │ └── index.html ├── img │ ├── favicon.ico │ ├── logo-green.svg │ └── logo-purple.svg ├── index.html ├── intro │ └── index.html ├── opensearch.xml ├── search │ └── index.html └── sitemap.xml ├── docs ├── Tutorials │ ├── Components │ │ ├── Core │ │ │ ├── BCFTopics.mdx │ │ │ ├── BoundingBoxer.mdx │ │ │ ├── Classifier.mdx │ │ │ ├── Clipper.mdx │ │ │ ├── Cullers.mdx │ │ │ ├── Exploder.mdx │ │ │ ├── FragmentsManager.mdx │ │ │ ├── Grids.mdx │ │ │ ├── Hider.mdx │ │ │ ├── IfcFinder.mdx │ │ │ ├── IfcGeometryTiler.mdx │ │ │ ├── IfcIsolator.mdx │ │ │ ├── IfcJsonExporter.mdx │ │ │ ├── IfcLoader.mdx │ │ │ ├── IfcPropertiesManager.mdx │ │ │ ├── IfcPropertiesTiler.mdx │ │ │ ├── IfcRelationsIndexer.mdx │ │ │ ├── MeasurementUtils.mdx │ │ │ ├── MiniMap.mdx │ │ │ ├── OrthoPerspectiveCamera.mdx │ │ │ ├── Raycasters.mdx │ │ │ ├── ShadowedScene.mdx │ │ │ ├── Viewpoints.mdx │ │ │ └── Worlds.mdx │ │ ├── Front │ │ │ ├── AngleMeasurement.mdx │ │ │ ├── AreaMeasurement.mdx │ │ │ ├── Civil3DNavigator.mdx │ │ │ ├── CivilCrossSectionNavigator.mdx │ │ │ ├── CivilElevationNavigator.mdx │ │ │ ├── CivilPlanNavigator.mdx │ │ │ ├── ClipEdges.mdx │ │ │ ├── EdgeMeasurement.mdx │ │ │ ├── FaceMeasurement.mdx │ │ │ ├── Highlighter.mdx │ │ │ ├── IfcStreamer.mdx │ │ │ ├── LengthMeasurement.mdx │ │ │ ├── Marker.mdx │ │ │ ├── Plans.mdx │ │ │ ├── PostproductionRenderer.mdx │ │ │ ├── Sections.mdx │ │ │ ├── ShadowDropper.mdx │ │ │ └── VolumeMeasurement.mdx │ │ └── index.md │ ├── Fragments │ │ ├── Fragments │ │ │ ├── FragmentsModels.mdx │ │ │ ├── IfcImporter.mdx │ │ │ ├── ModelInformation.mdx │ │ │ ├── Raycasting.mdx │ │ │ └── VisibilityOperations.mdx │ │ └── index.md │ ├── UserInterface │ │ ├── Core │ │ │ ├── Component.mdx │ │ │ └── Table │ │ │ │ ├── DataTransform.mdx │ │ │ │ ├── ExportingData.mdx │ │ │ │ ├── LoadFunction.mdx │ │ │ │ ├── Searching.mdx │ │ │ │ └── Table.mdx │ │ ├── OBC │ │ │ ├── ClassificationsTree.mdx │ │ │ ├── ElementProperties.mdx │ │ │ ├── EntityAttributes.mdx │ │ │ ├── ModelsList.mdx │ │ │ ├── RelationsTree.mdx │ │ │ └── TopicsUI.mdx │ │ └── index.md │ └── _category_.yml ├── api │ ├── @thatopen │ │ ├── components-front │ │ │ ├── classes │ │ │ │ ├── AngleMeasurement.md │ │ │ │ ├── AreaMeasurement.md │ │ │ │ ├── Civil3DNavigator.md │ │ │ │ ├── CivilCrossSectionNavigator.md │ │ │ │ ├── CivilElevationNavigator.md │ │ │ │ ├── CivilNavigator.md │ │ │ │ ├── CivilPlanNavigator.md │ │ │ │ ├── ClipEdges.md │ │ │ │ ├── ClippingEdges.md │ │ │ │ ├── ClippingFills.md │ │ │ │ ├── EdgeMeasurement.md │ │ │ │ ├── EdgesPlane.md │ │ │ │ ├── EdgesStyles.md │ │ │ │ ├── FaceMeasurement.md │ │ │ │ ├── GeometryCullerRenderer.md │ │ │ │ ├── GraphicVertexPicker.md │ │ │ │ ├── Highlighter.md │ │ │ │ ├── IfcStreamer.md │ │ │ │ ├── LengthMeasurement.md │ │ │ │ ├── Mark.md │ │ │ │ ├── Marker.md │ │ │ │ ├── Outliner.md │ │ │ │ ├── Plans.md │ │ │ │ ├── Postproduction.md │ │ │ │ ├── PostproductionRenderer.md │ │ │ │ ├── RendererWith2D.md │ │ │ │ ├── Sections.md │ │ │ │ ├── ShadowDropper.md │ │ │ │ ├── SimpleDimensionLine.md │ │ │ │ └── VolumeMeasurement.md │ │ │ ├── index.md │ │ │ ├── interfaces │ │ │ │ ├── AreaSelection.md │ │ │ │ ├── BvhLineSegmentsGeometry.md │ │ │ │ ├── ClipStyle.md │ │ │ │ ├── DimensionData.md │ │ │ │ ├── Edge.md │ │ │ │ ├── HighlightEvents.md │ │ │ │ ├── HighlighterConfig.md │ │ │ │ ├── IGroupedMarkers.md │ │ │ │ ├── IMarker.md │ │ │ │ ├── PlanView.md │ │ │ │ ├── PostproductionSettings.md │ │ │ │ ├── Section.md │ │ │ │ ├── SerializedAreaMeasure.md │ │ │ │ ├── Shadow.md │ │ │ │ ├── Shadows.md │ │ │ │ ├── StreamLoaderSettings.md │ │ │ │ ├── StreamPropertiesSettings.md │ │ │ │ └── StreamedInstance.md │ │ │ └── type-aliases │ │ │ │ ├── CivilMarkerType.md │ │ │ │ ├── Edges.md │ │ │ │ ├── IndexFragmentMap.md │ │ │ │ ├── LineStyles.md │ │ │ │ └── StreamedInstances.md │ │ ├── components │ │ │ ├── classes │ │ │ │ ├── AsyncEvent.md │ │ │ │ ├── BCFTopics.md │ │ │ │ ├── Base.md │ │ │ │ ├── BaseCamera.md │ │ │ │ ├── BaseRenderer.md │ │ │ │ ├── BaseScene.md │ │ │ │ ├── BaseWorldItem.md │ │ │ │ ├── BoundingBoxer.md │ │ │ │ ├── Classifier.md │ │ │ │ ├── Clipper.md │ │ │ │ ├── Comment.md │ │ │ │ ├── Component.md │ │ │ │ ├── Components.md │ │ │ │ ├── ConfigManager.md │ │ │ │ ├── CullerRenderer.md │ │ │ │ ├── Cullers.md │ │ │ │ ├── DataMap.md │ │ │ │ ├── DataSet.md │ │ │ │ ├── Disposer.md │ │ │ │ ├── Event.md │ │ │ │ ├── EventManager.md │ │ │ │ ├── Exploder.md │ │ │ │ ├── FirstPersonMode.md │ │ │ │ ├── FragmentsManager.md │ │ │ │ ├── Grids.md │ │ │ │ ├── Hider.md │ │ │ │ ├── IDSSpecification.md │ │ │ │ ├── IDSSpecifications.md │ │ │ │ ├── IfcBasicQuery.md │ │ │ │ ├── IfcFinder.md │ │ │ │ ├── IfcFinderQuery.md │ │ │ │ ├── IfcFragmentSettings.md │ │ │ │ ├── IfcGeometryTiler.md │ │ │ │ ├── IfcIsolator.md │ │ │ │ ├── IfcJsonExporter.md │ │ │ │ ├── IfcLoader.md │ │ │ │ ├── IfcPropertiesManager.md │ │ │ │ ├── IfcPropertiesTiler.md │ │ │ │ ├── IfcPropertyQuery.md │ │ │ │ ├── IfcRelationsIndexer.md │ │ │ │ ├── IfcStreamingSettings.md │ │ │ │ ├── MeasurementUtils.md │ │ │ │ ├── MeshCullerRenderer.md │ │ │ │ ├── MiniMap.md │ │ │ │ ├── MiniMaps.md │ │ │ │ ├── Mouse.md │ │ │ │ ├── OrbitMode.md │ │ │ │ ├── OrthoPerspectiveCamera.md │ │ │ │ ├── PlanMode.md │ │ │ │ ├── ProjectionManager.md │ │ │ │ ├── PropertiesStreamingSettings.md │ │ │ │ ├── Raycasters.md │ │ │ │ ├── ShadowedScene.md │ │ │ │ ├── SimpleCamera.md │ │ │ │ ├── SimpleGrid.md │ │ │ │ ├── SimplePlane.md │ │ │ │ ├── SimpleRaycaster.md │ │ │ │ ├── SimpleRenderer.md │ │ │ │ ├── SimpleScene.md │ │ │ │ ├── SimpleWorld.md │ │ │ │ ├── VertexPicker.md │ │ │ │ ├── Viewpoint.md │ │ │ │ └── Worlds.md │ │ │ ├── index.md │ │ │ ├── interfaces │ │ │ │ ├── AttributeListener.md │ │ │ │ ├── BCFTopicsConfig.md │ │ │ │ ├── BCFViewpoint.md │ │ │ │ ├── CameraControllable.md │ │ │ │ ├── ChangeMap.md │ │ │ │ ├── Classification.md │ │ │ │ ├── Configurable.md │ │ │ │ ├── Createable.md │ │ │ │ ├── Disposable.md │ │ │ │ ├── EntitiesRelatedEvent.md │ │ │ │ ├── Eventable.md │ │ │ │ ├── Hideable.md │ │ │ │ ├── IDSCheckResult.md │ │ │ │ ├── IfcCategoryRule.md │ │ │ │ ├── IfcOperatorRule.md │ │ │ │ ├── IfcPropertyRule.md │ │ │ │ ├── MeasureEdge.md │ │ │ │ ├── MiniMapConfig.md │ │ │ │ ├── NavigationMode.md │ │ │ │ ├── Progress.md │ │ │ │ ├── Resizeable.md │ │ │ │ ├── ShadowedSceneConfig.md │ │ │ │ ├── SimpleGridConfig.md │ │ │ │ ├── SimpleSceneConfig.md │ │ │ │ ├── StreamedAsset.md │ │ │ │ ├── StreamedGeometries.md │ │ │ │ ├── Updateable.md │ │ │ │ ├── VertexPickerConfig.md │ │ │ │ └── World.md │ │ │ ├── type-aliases │ │ │ │ ├── BooleanPropTypes.md │ │ │ │ ├── CameraProjection.md │ │ │ │ ├── IfcFinderRule.md │ │ │ │ ├── IfcRelations.md │ │ │ │ ├── InverseAttributes.md │ │ │ │ ├── NavModeID.md │ │ │ │ ├── NumericPropTypes.md │ │ │ │ ├── SerializedQuery.md │ │ │ │ └── StringPropTypes.md │ │ │ └── variables │ │ │ │ ├── GeometryTypes.md │ │ │ │ ├── IfcCategoryMap.md │ │ │ │ └── IfcElements.md │ │ ├── fragments │ │ │ ├── classes │ │ │ │ ├── FragmentsModel.md │ │ │ │ ├── FragmentsModels.md │ │ │ │ └── IfcImporter.md │ │ │ ├── enumerations │ │ │ │ ├── CurrentLod.md │ │ │ │ ├── ItemConfigClass.md │ │ │ │ └── SnappingClass.md │ │ │ ├── functions │ │ │ │ └── getObject.md │ │ │ ├── index.md │ │ │ ├── interfaces │ │ │ │ ├── Attributes.md │ │ │ │ ├── ItemAttribute.md │ │ │ │ ├── ItemData.md │ │ │ │ ├── ItemsDataConfig.md │ │ │ │ ├── MappedInformationResult.md │ │ │ │ ├── MappedResultInput.md │ │ │ │ ├── MappedSelectionInput.md │ │ │ │ ├── ModelIdMap.md │ │ │ │ ├── RaycastData.md │ │ │ │ ├── RaycastResult.md │ │ │ │ ├── RectangleRaycastData.md │ │ │ │ ├── RectangleRaycastResult.md │ │ │ │ ├── RelsModifyChange.md │ │ │ │ ├── SpatialTreeItem.md │ │ │ │ ├── VirtualModelConfig.md │ │ │ │ └── VirtualPropertiesConfig.md │ │ │ ├── type-aliases │ │ │ │ ├── AttributeData.md │ │ │ │ ├── AttrsChange.md │ │ │ │ ├── BIMMaterial.md │ │ │ │ ├── BIMMesh.md │ │ │ │ ├── DataBuffer.md │ │ │ │ ├── Identifier.md │ │ │ │ ├── InformationResultType.md │ │ │ │ ├── ItemInformationType.md │ │ │ │ ├── ItemSelectionType.md │ │ │ │ ├── MaterialDefinition.md │ │ │ │ ├── MeshData.md │ │ │ │ ├── RelsChange.md │ │ │ │ ├── ResultInputType.md │ │ │ │ └── SelectionInputType.md │ │ │ └── variables │ │ │ │ ├── ifcCategoryMap.md │ │ │ │ └── limitOf2Bytes.md │ │ ├── ui-obc │ │ │ ├── classes │ │ │ │ ├── Manager.md │ │ │ │ ├── ViewCube.md │ │ │ │ ├── World.md │ │ │ │ └── World2D.md │ │ │ └── index.md │ │ └── ui │ │ │ ├── classes │ │ │ ├── Button.md │ │ │ ├── Checkbox.md │ │ │ ├── ColorInput.md │ │ │ ├── Component.md │ │ │ ├── Dropdown.md │ │ │ ├── Grid.md │ │ │ ├── Icon.md │ │ │ ├── Input.md │ │ │ ├── Label.md │ │ │ ├── Manager.md │ │ │ ├── NumberInput.md │ │ │ ├── Option.md │ │ │ ├── Panel.md │ │ │ ├── PanelSection.md │ │ │ ├── Selector.md │ │ │ ├── Tab.md │ │ │ ├── Table.md │ │ │ ├── Tabs.md │ │ │ ├── TextInput.md │ │ │ ├── Toolbar.md │ │ │ ├── ToolbarGroup.md │ │ │ ├── ToolbarSection.md │ │ │ └── Viewport.md │ │ │ ├── functions │ │ │ └── getElementValue.md │ │ │ ├── index.md │ │ │ ├── interfaces │ │ │ ├── CellCreatedEventDetail.md │ │ │ ├── ColumnData.md │ │ │ ├── EntryQuery.md │ │ │ ├── HasName.md │ │ │ ├── HasValue.md │ │ │ ├── ManagerConfig.md │ │ │ ├── QueryGroup.md │ │ │ ├── RowCreatedEventDetail.md │ │ │ ├── RowDeselectedEventDetail.md │ │ │ ├── RowSelectedEventDetail.md │ │ │ ├── TableGroupData.md │ │ │ └── TableGroupTemplate.md │ │ │ └── type-aliases │ │ │ ├── ConditionFunctions.md │ │ │ ├── GridLayoutsDefinition.md │ │ │ ├── Query.md │ │ │ ├── QueryCondition.md │ │ │ ├── QueryOperators.md │ │ │ ├── StatefullComponent.md │ │ │ ├── StatelessComponent.md │ │ │ ├── TableDataTransform.md │ │ │ ├── TableRowData.md │ │ │ └── TableRowTemplate.md │ ├── index.md │ └── typedoc-sidebar.cjs ├── components │ ├── _category_.yml │ ├── clean-components-guide.md │ ├── creating-components.md │ ├── getting-started.md │ └── tutorial-paths.md ├── contributing.md └── intro.md ├── docusaurus.config.ts ├── package.json ├── sidebars.ts ├── src ├── css │ └── custom.css ├── docs-generator │ ├── cleaner.mjs │ ├── copy-utils.mjs │ ├── repo-copier.mjs │ ├── tsconfig.json │ └── tutorial-generator.mjs └── pages │ └── index.tsx ├── static ├── .nojekyll └── img │ ├── favicon.ico │ ├── logo-green.svg │ └── logo-purple.svg ├── tsconfig.json ├── typedoc-plugin.mjs └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | /temp 4 | /.idea 5 | 6 | # Generated files 7 | .docusaurus 8 | .cache-loader 9 | 10 | # Misc 11 | .DS_Store 12 | .env.local 13 | .env.development.local 14 | .env.test.local 15 | .env.production.local 16 | 17 | npm-debug.log* 18 | yarn-debug.log* 19 | yarn-error.log* 20 | 21 | # Yarn 22 | .yarn/.cache 23 | .yarn/unplugged 24 | .yarn/build-state.yml 25 | .yarn/install-state.gz 26 | .pnp.* 27 | 28 | build.log -------------------------------------------------------------------------------- /.yarn/install-state.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThatOpen/engine_docs/6615b9980f739a64b91fc51819673e176b7ab4fb/.yarn/install-state.gz -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | enableImmutableInstalls: false 2 | 3 | enableTransparentWorkspaces: false 4 | 5 | nodeLinker: node-modules 6 | 7 | yarnPath: .yarn/releases/yarn-4.1.0.cjs 8 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /build/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThatOpen/engine_docs/6615b9980f739a64b91fc51819673e176b7ab4fb/build/.nojekyll -------------------------------------------------------------------------------- /build/assets/js/0e167b3b.2f566926.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8675],{2357:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>m});var o=n(4848),r=n(8453);const a={},i="StreamedGeometries",s={id:"api/@thatopen/components/interfaces/StreamedGeometries",title:"StreamedGeometries",description:"A dictionary of geometries streamed from a server. Each geometry is identified by a unique number (id), and contains information about its bounding box, whether it has holes, and an optional file path for the geometry data.",source:"@site/docs/api/@thatopen/components/interfaces/StreamedGeometries.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/StreamedGeometries",permalink:"/api/@thatopen/components/interfaces/StreamedGeometries",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"StreamedAsset",permalink:"/api/@thatopen/components/interfaces/StreamedAsset"},next:{title:"Updateable",permalink:"/api/@thatopen/components/interfaces/Updateable"}},c={},m=[];function d(e){const t={h1:"h1",p:"p",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"streamedgeometries",children:"StreamedGeometries"}),"\n",(0,o.jsx)(t.p,{children:"A dictionary of geometries streamed from a server. Each geometry is identified by a unique number (id), and contains information about its bounding box, whether it has holes, and an optional file path for the geometry data."})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>s});var o=n(6540);const r={},a=o.createContext(r);function i(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/111e5424.590e3ae3.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[4478],{4491:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var o=t(4848),a=t(8453);const s={},i="IndexFragmentMap",r={id:"api/@thatopen/components-front/type-aliases/IndexFragmentMap",title:"IndexFragmentMap",description:"IndexFragmentMap: Map\\",source:"@site/docs/api/@thatopen/components-front/type-aliases/IndexFragmentMap.md",sourceDirName:"api/@thatopen/components-front/type-aliases",slug:"/api/@thatopen/components-front/type-aliases/IndexFragmentMap",permalink:"/api/@thatopen/components-front/type-aliases/IndexFragmentMap",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Edges",permalink:"/api/@thatopen/components-front/type-aliases/Edges"},next:{title:"LineStyles",permalink:"/api/@thatopen/components-front/type-aliases/LineStyles"}},p={},c=[];function l(e){const n={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"indexfragmentmap",children:"IndexFragmentMap"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"IndexFragmentMap"}),": ",(0,o.jsx)(n.code,{children:"Map"}),"<",(0,o.jsx)(n.code,{children:"number"}),", ",(0,o.jsx)(n.code,{children:"FRAGS.FragmentIdMap"}),">"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"A map used to map the triangles of the clipping fill with the original fragment item. It's used to be able to trace to which elements a specific triangle of the clipping fill's face belongs (e.g. for highlighting an item when selecting one of its clipping fills)."})]})}function d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>r});var o=t(6540);const a={},s=o.createContext(a);function i(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/1312e991.8d485a33.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8470],{9763:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=a(4848),r=a(8453);const s={},i="BIMMaterial",o={id:"api/@thatopen/fragments/type-aliases/BIMMaterial",title:"BIMMaterial",description:"BIMMaterial: LodMaterial \\| THREE.MeshLambertMaterial",source:"@site/docs/api/@thatopen/fragments/type-aliases/BIMMaterial.md",sourceDirName:"api/@thatopen/fragments/type-aliases",slug:"/api/@thatopen/fragments/type-aliases/BIMMaterial",permalink:"/api/@thatopen/fragments/type-aliases/BIMMaterial",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"AttrsChange",permalink:"/api/@thatopen/fragments/type-aliases/AttrsChange"},next:{title:"BIMMesh",permalink:"/api/@thatopen/fragments/type-aliases/BIMMesh"}},l={},c=[];function p(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"bimmaterial",children:"BIMMaterial"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"BIMMaterial"}),": ",(0,n.jsx)(t.code,{children:"LodMaterial"})," | ",(0,n.jsx)(t.code,{children:"THREE.MeshLambertMaterial"})]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Union type representing all possible material types."})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>o});var n=a(6540);const r={},s=n.createContext(r);function i(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/1a06c70c.1ac8e733.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[4226],{7047:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>f,frontMatter:()=>s,metadata:()=>o,toc:()=>p});var i=n(4848),r=n(8453);const s={},a="Identifier",o={id:"api/@thatopen/fragments/type-aliases/Identifier",title:"Identifier",description:"Identifier: string \\| number",source:"@site/docs/api/@thatopen/fragments/type-aliases/Identifier.md",sourceDirName:"api/@thatopen/fragments/type-aliases",slug:"/api/@thatopen/fragments/type-aliases/Identifier",permalink:"/api/@thatopen/fragments/type-aliases/Identifier",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"DataBuffer",permalink:"/api/@thatopen/fragments/type-aliases/DataBuffer"},next:{title:"InformationResultType\\",permalink:"/api/@thatopen/fragments/type-aliases/InformationResultType"}},c={},p=[];function d(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"identifier",children:"Identifier"}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Identifier"}),": ",(0,i.jsx)(t.code,{children:"string"})," | ",(0,i.jsx)(t.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Type representing a unique identifier for a model item. This can be either a string or a number."})]})}function f(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>o});var i=n(6540);const r={},s=i.createContext(r);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/1a4e3797.3c7d7d9c.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! algoliasearch-lite.umd.js | 4.23.3 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ 2 | -------------------------------------------------------------------------------- /build/assets/js/1df93b7f.606ac772.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[4583],{6866:(e,n,s)=>{s.r(n),s.d(n,{default:()=>u});s(6540);var r=s(6347),t=s(4848);function u(){return(0,t.jsx)(r.rd,{to:"/intro"})}}}]); -------------------------------------------------------------------------------- /build/assets/js/1f35a145.b13005d5.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[2309],{9802:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>m,frontMatter:()=>r,metadata:()=>i,toc:()=>a});var o=n(4848),s=n(8453);const r={},c="GeometryTypes",i={id:"api/@thatopen/components/variables/GeometryTypes",title:"GeometryTypes",description:"const GeometryTypes: Set\\",source:"@site/docs/api/@thatopen/components/variables/GeometryTypes.md",sourceDirName:"api/@thatopen/components/variables",slug:"/api/@thatopen/components/variables/GeometryTypes",permalink:"/api/@thatopen/components/variables/GeometryTypes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"StringPropTypes",permalink:"/api/@thatopen/components/type-aliases/StringPropTypes"},next:{title:"IfcCategoryMap",permalink:"/api/@thatopen/components/variables/IfcCategoryMap"}},p={},a=[];function l(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"geometrytypes",children:"GeometryTypes"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"const"})," ",(0,o.jsx)(t.strong,{children:"GeometryTypes"}),": ",(0,o.jsx)(t.code,{children:"Set"}),"<",(0,o.jsx)(t.code,{children:"number"}),">"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"A Set of unique numbers representing different types of IFC geometries."})]})}function m(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var o=n(6540);const s={},r=o.createContext(s);function c(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/21bca064.52a3613b.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[2048],{3313:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>p,toc:()=>i});var t=n(4848),s=n(8453);const a={},r="BooleanPropTypes",p={id:"api/@thatopen/components/type-aliases/BooleanPropTypes",title:"BooleanPropTypes",description:'BooleanPropTypes: "IfcBoolean" \\| "IfcLogical"',source:"@site/docs/api/@thatopen/components/type-aliases/BooleanPropTypes.md",sourceDirName:"api/@thatopen/components/type-aliases",slug:"/api/@thatopen/components/type-aliases/BooleanPropTypes",permalink:"/api/@thatopen/components/type-aliases/BooleanPropTypes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"World",permalink:"/api/@thatopen/components/interfaces/World"},next:{title:"CameraProjection",permalink:"/api/@thatopen/components/type-aliases/CameraProjection"}},c={},i=[];function l(e){const o={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"booleanproptypes",children:"BooleanPropTypes"}),"\n",(0,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"BooleanPropTypes"}),": ",(0,t.jsx)(o.code,{children:'"IfcBoolean"'})," | ",(0,t.jsx)(o.code,{children:'"IfcLogical"'})]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Types for boolean properties in IFC schema."})]})}function d(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8453:(e,o,n)=>{n.d(o,{R:()=>r,x:()=>p});var t=n(6540);const s={},a=t.createContext(s);function r(e){const o=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function p(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(a.Provider,{value:o},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/2237.88fe48de.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[2237],{3363:(e,t,n)=>{n.d(t,{A:()=>a});n(6540);var i=n(4164),o=n(1312),s=n(1107),r=n(4848);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,i.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},2237:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});n(6540);var i=n(1312),o=n(9024),s=n(9201),r=n(3363),a=n(4848);function d(){const e=(0,i.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.be,{title:e}),(0,a.jsx)(s.A,{children:(0,a.jsx)(r.A,{})})]})}}}]); -------------------------------------------------------------------------------- /build/assets/js/23d21976.2381f608.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[5541],{7644:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var s=n(4848),a=n(8453);const o={},r="RelsChange",i={id:"api/@thatopen/fragments/type-aliases/RelsChange",title:"RelsChange",description:"RelsChange: RelsModifyChange",source:"@site/docs/api/@thatopen/fragments/type-aliases/RelsChange.md",sourceDirName:"api/@thatopen/fragments/type-aliases",slug:"/api/@thatopen/fragments/type-aliases/RelsChange",permalink:"/api/@thatopen/fragments/type-aliases/RelsChange",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"MeshData",permalink:"/api/@thatopen/fragments/type-aliases/MeshData"},next:{title:"ResultInputType\\",permalink:"/api/@thatopen/fragments/type-aliases/ResultInputType"}},l={},p=[];function c(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"relschange",children:"RelsChange"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"RelsChange"}),": ",(0,s.jsx)(t.a,{href:"/api/@thatopen/fragments/interfaces/RelsModifyChange",children:(0,s.jsx)(t.code,{children:"RelsModifyChange"})})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Union type representing all possible relation change types."})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var s=n(6540);const a={},o=s.createContext(a);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/2cccc130.42fe1812.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[1513],{4165:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>s,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>p});var o=n(4848),r=n(8453);const a={},s="CameraProjection",c={id:"api/@thatopen/components/type-aliases/CameraProjection",title:"CameraProjection",description:'CameraProjection: "Perspective" \\| "Orthographic"',source:"@site/docs/api/@thatopen/components/type-aliases/CameraProjection.md",sourceDirName:"api/@thatopen/components/type-aliases",slug:"/api/@thatopen/components/type-aliases/CameraProjection",permalink:"/api/@thatopen/components/type-aliases/CameraProjection",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"BooleanPropTypes",permalink:"/api/@thatopen/components/type-aliases/BooleanPropTypes"},next:{title:"IfcFinderRule",permalink:"/api/@thatopen/components/type-aliases/IfcFinderRule"}},i={},p=[];function l(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"cameraprojection",children:"CameraProjection"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"CameraProjection"}),": ",(0,o.jsx)(t.code,{children:'"Perspective"'})," | ",(0,o.jsx)(t.code,{children:'"Orthographic"'})]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The projection system of the camera."})]})}function m(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var o=n(6540);const r={},a=o.createContext(r);function s(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/3b27faa0.94134e24.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[4201],{983:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var i=n(4848),s=n(8453);const o={},r="limitOf2Bytes",a={id:"api/@thatopen/fragments/variables/limitOf2Bytes",title:"limitOf2Bytes",description:"const limitOf2Bytes: 65536 = 0x10000",source:"@site/docs/api/@thatopen/fragments/variables/limitOf2Bytes.md",sourceDirName:"api/@thatopen/fragments/variables",slug:"/api/@thatopen/fragments/variables/limitOf2Bytes",permalink:"/api/@thatopen/fragments/variables/limitOf2Bytes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ifcCategoryMap",permalink:"/api/@thatopen/fragments/variables/ifcCategoryMap"},next:{title:"@thatopen/ui",permalink:"/api/@thatopen/ui/"}},c={},l=[];function p(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"limitof2bytes",children:"limitOf2Bytes"}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"const"})," ",(0,i.jsx)(t.strong,{children:"limitOf2Bytes"}),": ",(0,i.jsx)(t.code,{children:"65536"})," = ",(0,i.jsx)(t.code,{children:"0x10000"})]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"The maximum value for a 2-byte unsigned integer."})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var i=n(6540);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/3dc8cfe6.1ed407b7.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8289],{4551:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var o=t(4848),i=t(8453);const s={},a="ShadowedSceneConfig",c={id:"api/@thatopen/components/interfaces/ShadowedSceneConfig",title:"ShadowedSceneConfig",description:"Configuration interface for the ShadowedScene. Defines properties for directional and ambient lights, as well as shadows.",source:"@site/docs/api/@thatopen/components/interfaces/ShadowedSceneConfig.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/ShadowedSceneConfig",permalink:"/api/@thatopen/components/interfaces/ShadowedSceneConfig",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Resizeable",permalink:"/api/@thatopen/components/interfaces/Resizeable"},next:{title:"SimpleGridConfig",permalink:"/api/@thatopen/components/interfaces/SimpleGridConfig"}},r={},d=[{value:"Extends",id:"extends",level:2}];function p(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"shadowedsceneconfig",children:"ShadowedSceneConfig"}),"\n",(0,o.jsxs)(n.p,{children:["Configuration interface for the ",(0,o.jsx)(n.a,{href:"/api/@thatopen/components/classes/ShadowedScene",children:"ShadowedScene"}),". Defines properties for directional and ambient lights, as well as shadows."]}),"\n",(0,o.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/api/@thatopen/components/interfaces/SimpleSceneConfig",children:(0,o.jsx)(n.code,{children:"SimpleSceneConfig"})})}),"\n"]})]})}function l(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>c});var o=t(6540);const i={},s=o.createContext(i);function a(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/416.3593518a.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[416],{416:(e,s,n)=>{n.r(s)}}]); -------------------------------------------------------------------------------- /build/assets/js/466db7b6.ac08fbfb.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8130],{7734:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var r=n(4848),i=n(8453);const a={},o="EntryQuery",s={id:"api/@thatopen/ui/interfaces/EntryQuery",title:"EntryQuery",description:"Represents a single query condition.",source:"@site/docs/api/@thatopen/ui/interfaces/EntryQuery.md",sourceDirName:"api/@thatopen/ui/interfaces",slug:"/api/@thatopen/ui/interfaces/EntryQuery",permalink:"/api/@thatopen/ui/interfaces/EntryQuery",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ColumnData\\",permalink:"/api/@thatopen/ui/interfaces/ColumnData"},next:{title:"HasName",permalink:"/api/@thatopen/ui/interfaces/HasName"}},c={},u=[];function p(e){const t={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"entryquery",children:"EntryQuery"}),"\n",(0,r.jsx)(t.p,{children:"Represents a single query condition."})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>s});var r=n(6540);const i={},a=r.createContext(i);function o(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/52f1ec2b.d890ad4e.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[3193],{2535:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>p});var s=n(4848),a=n(8453);const r={},o="BIMMesh",i={id:"api/@thatopen/fragments/type-aliases/BIMMesh",title:"BIMMesh",description:"BIMMesh: THREE.Mesh \\| LODMesh",source:"@site/docs/api/@thatopen/fragments/type-aliases/BIMMesh.md",sourceDirName:"api/@thatopen/fragments/type-aliases",slug:"/api/@thatopen/fragments/type-aliases/BIMMesh",permalink:"/api/@thatopen/fragments/type-aliases/BIMMesh",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"BIMMaterial",permalink:"/api/@thatopen/fragments/type-aliases/BIMMaterial"},next:{title:"DataBuffer",permalink:"/api/@thatopen/fragments/type-aliases/DataBuffer"}},c={},p=[];function l(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"bimmesh",children:"BIMMesh"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"BIMMesh"}),": ",(0,s.jsx)(t.code,{children:"THREE.Mesh"})," | ",(0,s.jsx)(t.code,{children:"LODMesh"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Union type representing all possible mesh types."})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>i});var s=n(6540);const a={},r=s.createContext(a);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/5363cd25.b4343eaa.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[312],{8305:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>l,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var r=n(4848),i=n(8453);const o={},s="Query",a={id:"api/@thatopen/ui/type-aliases/Query",title:"Query",description:"Query: (EntryQuery \\| QueryGroup)[]",source:"@site/docs/api/@thatopen/ui/type-aliases/Query.md",sourceDirName:"api/@thatopen/ui/type-aliases",slug:"/api/@thatopen/ui/type-aliases/Query",permalink:"/api/@thatopen/ui/type-aliases/Query",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"GridLayoutsDefinition\\",permalink:"/api/@thatopen/ui/type-aliases/GridLayoutsDefinition"},next:{title:"QueryCondition",permalink:"/api/@thatopen/ui/type-aliases/QueryCondition"}},u={},c=[];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"query",children:"Query"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Query"}),": (",(0,r.jsx)(t.a,{href:"/api/@thatopen/ui/interfaces/EntryQuery",children:(0,r.jsx)(t.code,{children:"EntryQuery"})})," | ",(0,r.jsx)(t.a,{href:"/api/@thatopen/ui/interfaces/QueryGroup",children:(0,r.jsx)(t.code,{children:"QueryGroup"})}),")[]"]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"Represents a query, which can be a single query or a group of queries."})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var r=n(6540);const i={},o=r.createContext(i);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/5b323c0d.b06f9604.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7787],{2643:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var a=n(4848),s=n(8453);const i={},r="HasName",o={id:"api/@thatopen/ui/interfaces/HasName",title:"HasName",description:"Represents an object that has a name and an optional label.",source:"@site/docs/api/@thatopen/ui/interfaces/HasName.md",sourceDirName:"api/@thatopen/ui/interfaces",slug:"/api/@thatopen/ui/interfaces/HasName",permalink:"/api/@thatopen/ui/interfaces/HasName",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"EntryQuery",permalink:"/api/@thatopen/ui/interfaces/EntryQuery"},next:{title:"HasValue",permalink:"/api/@thatopen/ui/interfaces/HasValue"}},c={},p=[];function u(e){const t={h1:"h1",p:"p",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"hasname",children:"HasName"}),"\n",(0,a.jsx)(t.p,{children:"Represents an object that has a name and an optional label."})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var a=n(6540);const s={},i=a.createContext(s);function r(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/5c9472e2.313f8d1b.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[230],{7854:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>p,toc:()=>a});var o=n(4848),s=n(8453);const r={},i="StringPropTypes",p={id:"api/@thatopen/components/type-aliases/StringPropTypes",title:"StringPropTypes",description:'StringPropTypes: "IfcText" \\| "IfcLabel" \\| "IfcIdentifier"',source:"@site/docs/api/@thatopen/components/type-aliases/StringPropTypes.md",sourceDirName:"api/@thatopen/components/type-aliases",slug:"/api/@thatopen/components/type-aliases/StringPropTypes",permalink:"/api/@thatopen/components/type-aliases/StringPropTypes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"SerializedQuery",permalink:"/api/@thatopen/components/type-aliases/SerializedQuery"},next:{title:"GeometryTypes",permalink:"/api/@thatopen/components/variables/GeometryTypes"}},c={},a=[];function l(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"stringproptypes",children:"StringPropTypes"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"StringPropTypes"}),": ",(0,o.jsx)(t.code,{children:'"IfcText"'})," | ",(0,o.jsx)(t.code,{children:'"IfcLabel"'})," | ",(0,o.jsx)(t.code,{children:'"IfcIdentifier"'})]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Types for string properties in IFC schema."})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>p});var o=n(6540);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/5e95c892.9eec3c95.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[9647],{7121:(e,s,n)=>{n.r(s),n.d(s,{default:()=>i});n(6540);var r=n(4164),c=n(9024),u=n(7559),a=n(2831),d=n(9201),t=n(4848);function i(e){return(0,t.jsx)(c.e3,{className:(0,r.A)(u.G.wrapper.docsPages),children:(0,t.jsx)(d.A,{children:(0,a.v)(e.route.routes)})})}}}]); -------------------------------------------------------------------------------- /build/assets/js/6180ab48.9adacabd.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[4741],{9510:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=t(4848),a=t(8453);const r={},s="Eventable",i={id:"api/@thatopen/components/interfaces/Eventable",title:"Eventable",description:"Whether it has events or not.",source:"@site/docs/api/@thatopen/components/interfaces/Eventable.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/Eventable",permalink:"/api/@thatopen/components/interfaces/Eventable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"EntitiesRelatedEvent",permalink:"/api/@thatopen/components/interfaces/EntitiesRelatedEvent"},next:{title:"Hideable",permalink:"/api/@thatopen/components/interfaces/Hideable"}},c={},l=[{value:"Properties",id:"properties",level:2},{value:"eventManager",id:"eventmanager",level:3}];function p(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"eventable",children:"Eventable"}),"\n",(0,o.jsx)(n.p,{children:"Whether it has events or not."}),"\n",(0,o.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,o.jsx)(n.h3,{id:"eventmanager",children:"eventManager"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"eventManager"}),": ",(0,o.jsx)(n.a,{href:"/api/@thatopen/components/classes/EventManager",children:(0,o.jsx)(n.code,{children:"EventManager"})})]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"The object in charge of managing all the events."})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>i});var o=t(6540);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/665fbaa3.b133f5a5.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[1893],{2906:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>a});var r=t(4848),o=t(8453);const s={},c="GeometryCullerRenderer",i={id:"api/@thatopen/components-front/classes/GeometryCullerRenderer",title:"GeometryCullerRenderer",description:"A renderer to determine a geometry visibility on screen",source:"@site/docs/api/@thatopen/components-front/classes/GeometryCullerRenderer.md",sourceDirName:"api/@thatopen/components-front/classes",slug:"/api/@thatopen/components-front/classes/GeometryCullerRenderer",permalink:"/api/@thatopen/components-front/classes/GeometryCullerRenderer",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"FaceMeasurement",permalink:"/api/@thatopen/components-front/classes/FaceMeasurement"},next:{title:"GraphicVertexPicker",permalink:"/api/@thatopen/components-front/classes/GraphicVertexPicker"}},l={},a=[{value:"Extends",id:"extends",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"geometrycullerrenderer",children:"GeometryCullerRenderer"}),"\n",(0,r.jsx)(n.p,{children:"A renderer to determine a geometry visibility on screen"}),"\n",(0,r.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"CullerRenderer"})}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>i});var r=t(6540);const o={},s=r.createContext(o);function c(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/6f3f8a76.4a22a3f4.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[2910],{5844:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>i,toc:()=>u});var r=n(4848),o=n(8453);const s={},a="QueryOperators",i={id:"api/@thatopen/ui/type-aliases/QueryOperators",title:"QueryOperators",description:'QueryOperators: "&" \\| "\\|"',source:"@site/docs/api/@thatopen/ui/type-aliases/QueryOperators.md",sourceDirName:"api/@thatopen/ui/type-aliases",slug:"/api/@thatopen/ui/type-aliases/QueryOperators",permalink:"/api/@thatopen/ui/type-aliases/QueryOperators",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"QueryCondition",permalink:"/api/@thatopen/ui/type-aliases/QueryCondition"},next:{title:"StatefullComponent()\\",permalink:"/api/@thatopen/ui/type-aliases/StatefullComponent"}},p={},u=[];function c(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"queryoperators",children:"QueryOperators"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"QueryOperators"}),": ",(0,r.jsx)(t.code,{children:'"&"'}),' | "|"']}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"Represents an operator used in query building."})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var r=n(6540);const o={},s=r.createContext(o);function a(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/7deff3d6.b4839bd9.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8560],{6266:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>r,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var s=n(4848),a=n(8453);const o={},r="StreamedInstances",c={id:"api/@thatopen/components-front/type-aliases/StreamedInstances",title:"StreamedInstances",description:"StreamedInstances: Map\\",source:"@site/docs/api/@thatopen/components-front/type-aliases/StreamedInstances.md",sourceDirName:"api/@thatopen/components-front/type-aliases",slug:"/api/@thatopen/components-front/type-aliases/StreamedInstances",permalink:"/api/@thatopen/components-front/type-aliases/StreamedInstances",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"LineStyles",permalink:"/api/@thatopen/components-front/type-aliases/LineStyles"},next:{title:"@thatopen/fragments",permalink:"/api/@thatopen/fragments/"}},i={},p=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"streamedinstances",children:"StreamedInstances"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"StreamedInstances"}),": ",(0,s.jsx)(t.code,{children:"Map"}),"<",(0,s.jsx)(t.code,{children:"number"}),", ",(0,s.jsx)(t.a,{href:"/api/@thatopen/components-front/interfaces/StreamedInstance",children:(0,s.jsx)(t.code,{children:"StreamedInstance"})}),"[]>"]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"A map of streamed instances, grouped by their unique identifier."})]})}function l(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var s=n(6540);const a={},o=s.createContext(a);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/7f9f1956.35d35912.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[1034],{5692:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var o=t(4848),r=t(8453);const a={},s="CameraControllable",i={id:"api/@thatopen/components/interfaces/CameraControllable",title:"CameraControllable",description:"Whether a camera uses the Camera Controls library.",source:"@site/docs/api/@thatopen/components/interfaces/CameraControllable.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/CameraControllable",permalink:"/api/@thatopen/components/interfaces/CameraControllable",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"BCFViewpoint",permalink:"/api/@thatopen/components/interfaces/BCFViewpoint"},next:{title:"ChangeMap",permalink:"/api/@thatopen/components/interfaces/ChangeMap"}},c={},l=[{value:"Properties",id:"properties",level:2},{value:"controls",id:"controls",level:3}];function p(e){const n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"cameracontrollable",children:"CameraControllable"}),"\n",(0,o.jsx)(n.p,{children:"Whether a camera uses the Camera Controls library."}),"\n",(0,o.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,o.jsx)(n.h3,{id:"controls",children:"controls"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"controls"}),": ",(0,o.jsx)(n.code,{children:"CameraControls"})]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"An instance of CameraControls that provides camera control functionalities.\r\nThis instance is used to manipulate the camera."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>i});var o=t(6540);const r={},a=o.createContext(r);function s(e){const n=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(a.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/8378e28d.5cd2f3f6.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[9860],{6493:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=n(4848),o=n(8453);const s={},r="ItemSelectionType",a={id:"api/@thatopen/fragments/type-aliases/ItemSelectionType",title:"ItemSelectionType",description:'ItemSelectionType: "withCondition" \\| "ofCategory" \\| "withGeometry" \\| "children" \\| "withVisiblity" \\| "highlighted"',source:"@site/docs/api/@thatopen/fragments/type-aliases/ItemSelectionType.md",sourceDirName:"api/@thatopen/fragments/type-aliases",slug:"/api/@thatopen/fragments/type-aliases/ItemSelectionType",permalink:"/api/@thatopen/fragments/type-aliases/ItemSelectionType",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ItemInformationType",permalink:"/api/@thatopen/fragments/type-aliases/ItemInformationType"},next:{title:"MaterialDefinition",permalink:"/api/@thatopen/fragments/type-aliases/MaterialDefinition"}},c={},l=[];function p(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"itemselectiontype",children:"ItemSelectionType"}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"ItemSelectionType"}),": ",(0,i.jsx)(t.code,{children:'"withCondition"'})," | ",(0,i.jsx)(t.code,{children:'"ofCategory"'})," | ",(0,i.jsx)(t.code,{children:'"withGeometry"'})," | ",(0,i.jsx)(t.code,{children:'"children"'})," | ",(0,i.jsx)(t.code,{children:'"withVisiblity"'})," | ",(0,i.jsx)(t.code,{children:'"highlighted"'})]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Union type representing all possible item selection types."})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var i=n(6540);const o={},s=i.createContext(o);function r(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/8394e073.da617950.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8410],{1735:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var o=t(4848),s=t(8453);const i={},r="World",l={id:"api/@thatopen/ui-obc/classes/World",title:"World",description:"A world for BIM Apps.",source:"@site/docs/api/@thatopen/ui-obc/classes/World.md",sourceDirName:"api/@thatopen/ui-obc/classes",slug:"/api/@thatopen/ui-obc/classes/World",permalink:"/api/@thatopen/ui-obc/classes/World",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ViewCube",permalink:"/api/@thatopen/ui-obc/classes/ViewCube"},next:{title:"World2D",permalink:"/api/@thatopen/ui-obc/classes/World2D"}},c={},d=[{value:"Element",id:"element",level:2},{value:"Extends",id:"extends",level:2}];function a(e){const n={code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"world",children:"World"}),"\n",(0,o.jsx)(n.p,{children:"A world for BIM Apps."}),"\n",(0,o.jsx)(n.h2,{id:"element",children:"Element"}),"\n",(0,o.jsx)(n.p,{children:"bim-world"}),"\n",(0,o.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"LitElement"})}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var o=t(6540);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/86756d51.20d6e91b.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[4669],{3813:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>h,toc:()=>c});var i=n(4848),o=n(8453);const s={},r="HighlightEvents",h={id:"api/@thatopen/components-front/interfaces/HighlightEvents",title:"HighlightEvents",description:"Interface defining the events that the Highlighter class can trigger. Each highlighter has its own set of events, identified by the highlighter name.",source:"@site/docs/api/@thatopen/components-front/interfaces/HighlightEvents.md",sourceDirName:"api/@thatopen/components-front/interfaces",slug:"/api/@thatopen/components-front/interfaces/HighlightEvents",permalink:"/api/@thatopen/components-front/interfaces/HighlightEvents",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Edge",permalink:"/api/@thatopen/components-front/interfaces/Edge"},next:{title:"HighlighterConfig",permalink:"/api/@thatopen/components-front/interfaces/HighlighterConfig"}},a={},c=[];function g(t){const e={h1:"h1",p:"p",...(0,o.R)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{id:"highlightevents",children:"HighlightEvents"}),"\n",(0,i.jsx)(e.p,{children:"Interface defining the events that the Highlighter class can trigger. Each highlighter has its own set of events, identified by the highlighter name."})]})}function p(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(g,{...t})}):g(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>h});var i=n(6540);const o={},s=i.createContext(o);function r(t){const e=i.useContext(s);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function h(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:r(t.components),i.createElement(s.Provider,{value:e},t.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/873c742c.2b0524f6.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[3182],{6606:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(4848),o=n(8453);const i={},a="MappedSelectionInput",s={id:"api/@thatopen/fragments/interfaces/MappedSelectionInput",title:"MappedSelectionInput",description:"Interface representing the input for a selection query in a Fragments model.",source:"@site/docs/api/@thatopen/fragments/interfaces/MappedSelectionInput.md",sourceDirName:"api/@thatopen/fragments/interfaces",slug:"/api/@thatopen/fragments/interfaces/MappedSelectionInput",permalink:"/api/@thatopen/fragments/interfaces/MappedSelectionInput",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"MappedResultInput",permalink:"/api/@thatopen/fragments/interfaces/MappedResultInput"},next:{title:"ModelIdMap",permalink:"/api/@thatopen/fragments/interfaces/ModelIdMap"}},p={},c=[{value:"Properties",id:"properties",level:2},{value:"ofCategory",id:"ofcategory",level:3}];function l(e){const t={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"mappedselectioninput",children:"MappedSelectionInput"}),"\n",(0,r.jsx)(t.p,{children:"Interface representing the input for a selection query in a Fragments model."}),"\n",(0,r.jsx)(t.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(t.h3,{id:"ofcategory",children:"ofCategory"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"ofCategory"}),": ",(0,r.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"The category of the item to select."})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>s});var r=n(6540);const o={},i=r.createContext(o);function a(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/8913.99f9651f.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8913],{8913:(e,s,n)=>{n.r(s)}}]); -------------------------------------------------------------------------------- /build/assets/js/91e2b7e8.6b60367b.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7942],{7920:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>i,metadata:()=>o,toc:()=>m});var a=n(4848),r=n(8453);const i={},s="ItemData",o={id:"api/@thatopen/fragments/interfaces/ItemData",title:"ItemData",description:"Interface representing the data of an item in a Fragments model.",source:"@site/docs/api/@thatopen/fragments/interfaces/ItemData.md",sourceDirName:"api/@thatopen/fragments/interfaces",slug:"/api/@thatopen/fragments/interfaces/ItemData",permalink:"/api/@thatopen/fragments/interfaces/ItemData",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ItemAttribute",permalink:"/api/@thatopen/fragments/interfaces/ItemAttribute"},next:{title:"ItemsDataConfig",permalink:"/api/@thatopen/fragments/interfaces/ItemsDataConfig"}},c={},m=[];function p(t){const e={h1:"h1",p:"p",...(0,r.R)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.h1,{id:"itemdata",children:"ItemData"}),"\n",(0,a.jsx)(e.p,{children:"Interface representing the data of an item in a Fragments model."})]})}function f(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(p,{...t})}):p(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>o});var a=n(6540);const r={},i=a.createContext(r);function s(t){const e=a.useContext(i);return a.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:s(t.components),a.createElement(i.Provider,{value:e},t.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/981448f8.124f24e1.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[1225],{7524:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>p,default:()=>l,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var o=n(4848),s=n(8453);const r={},p="NumericPropTypes",c={id:"api/@thatopen/components/type-aliases/NumericPropTypes",title:"NumericPropTypes",description:'NumericPropTypes: "IfcInteger" \\| "IfcReal"',source:"@site/docs/api/@thatopen/components/type-aliases/NumericPropTypes.md",sourceDirName:"api/@thatopen/components/type-aliases",slug:"/api/@thatopen/components/type-aliases/NumericPropTypes",permalink:"/api/@thatopen/components/type-aliases/NumericPropTypes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"NavModeID",permalink:"/api/@thatopen/components/type-aliases/NavModeID"},next:{title:"SerializedQuery",permalink:"/api/@thatopen/components/type-aliases/SerializedQuery"}},i={},a=[];function u(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"numericproptypes",children:"NumericPropTypes"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"NumericPropTypes"}),": ",(0,o.jsx)(t.code,{children:'"IfcInteger"'})," | ",(0,o.jsx)(t.code,{children:'"IfcReal"'})]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Types for numeric properties in IFC schema."})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>p,x:()=>c});var o=n(6540);const s={},r=o.createContext(s);function p(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:p(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/9a1d8bf7.3dbc3da1.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7921],{3758:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var a=n(4848),o=n(8453);const r={},s="ModelIdMap",i={id:"api/@thatopen/fragments/interfaces/ModelIdMap",title:"ModelIdMap",description:"Interface representing a map of model IDs to their corresponding local IDs.",source:"@site/docs/api/@thatopen/fragments/interfaces/ModelIdMap.md",sourceDirName:"api/@thatopen/fragments/interfaces",slug:"/api/@thatopen/fragments/interfaces/ModelIdMap",permalink:"/api/@thatopen/fragments/interfaces/ModelIdMap",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"MappedSelectionInput",permalink:"/api/@thatopen/fragments/interfaces/MappedSelectionInput"},next:{title:"RaycastData",permalink:"/api/@thatopen/fragments/interfaces/RaycastData"}},p={},c=[];function d(e){const t={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"modelidmap",children:"ModelIdMap"}),"\n",(0,a.jsx)(t.p,{children:"Interface representing a map of model IDs to their corresponding local IDs."})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>i});var a=n(6540);const o={},r=a.createContext(o);function s(e){const t=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/9eeabc4e.37e6f97f.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7307],{4914:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>p});var s=n(4848),a=n(8453);const r={},o="AttrsChange",i={id:"api/@thatopen/fragments/type-aliases/AttrsChange",title:"AttrsChange",description:"AttrsChange: AttrsDeleteChange \\| AttrsModifyChange \\| AttrsAddChange",source:"@site/docs/api/@thatopen/fragments/type-aliases/AttrsChange.md",sourceDirName:"api/@thatopen/fragments/type-aliases",slug:"/api/@thatopen/fragments/type-aliases/AttrsChange",permalink:"/api/@thatopen/fragments/type-aliases/AttrsChange",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"AttributeData",permalink:"/api/@thatopen/fragments/type-aliases/AttributeData"},next:{title:"BIMMaterial",permalink:"/api/@thatopen/fragments/type-aliases/BIMMaterial"}},c={},p=[];function l(t){const e={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,a.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{id:"attrschange",children:"AttrsChange"}),"\n",(0,s.jsxs)(e.blockquote,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"AttrsChange"}),": ",(0,s.jsx)(e.code,{children:"AttrsDeleteChange"})," | ",(0,s.jsx)(e.code,{children:"AttrsModifyChange"})," | ",(0,s.jsx)(e.code,{children:"AttrsAddChange"})]}),"\n"]}),"\n",(0,s.jsx)(e.p,{children:"Union type representing all possible attribute change types."})]})}function h(t={}){const{wrapper:e}={...(0,a.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>o,x:()=>i});var s=n(6540);const a={},r=s.createContext(a);function o(t){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:o(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/a19215ee.3f70b35d.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[5576],{9724:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>p});var o=n(4848),s=n(8453);const r={},a="NavModeID",i={id:"api/@thatopen/components/type-aliases/NavModeID",title:"NavModeID",description:'NavModeID: "Orbit" \\| "FirstPerson" \\| "Plan"',source:"@site/docs/api/@thatopen/components/type-aliases/NavModeID.md",sourceDirName:"api/@thatopen/components/type-aliases",slug:"/api/@thatopen/components/type-aliases/NavModeID",permalink:"/api/@thatopen/components/type-aliases/NavModeID",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"InverseAttributes",permalink:"/api/@thatopen/components/type-aliases/InverseAttributes"},next:{title:"NumericPropTypes",permalink:"/api/@thatopen/components/type-aliases/NumericPropTypes"}},c={},p=[];function d(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"navmodeid",children:"NavModeID"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"NavModeID"}),": ",(0,o.jsx)(t.code,{children:'"Orbit"'})," | ",(0,o.jsx)(t.code,{children:'"FirstPerson"'})," | ",(0,o.jsx)(t.code,{children:'"Plan"'})]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The extensible list of supported navigation modes."})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var o=n(6540);const s={},r=o.createContext(s);function a(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/a2e958f8.19d428f6.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[5101],{6048:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>r,default:()=>f,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var o=t(4848),i=t(8453);const s={},r="BCFViewpoint",a={id:"api/@thatopen/components/interfaces/BCFViewpoint",title:"BCFViewpoint",description:"Represents a viewpoint in a BCF file.",source:"@site/docs/api/@thatopen/components/interfaces/BCFViewpoint.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/BCFViewpoint",permalink:"/api/@thatopen/components/interfaces/BCFViewpoint",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"BCFTopicsConfig",permalink:"/api/@thatopen/components/interfaces/BCFTopicsConfig"},next:{title:"CameraControllable",permalink:"/api/@thatopen/components/interfaces/CameraControllable"}},p={},c=[];function l(e){const n={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"bcfviewpoint",children:"BCFViewpoint"}),"\n",(0,o.jsx)(n.p,{children:"Represents a viewpoint in a BCF file."})]})}function f(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var o=t(6540);const i={},s=o.createContext(i);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/a7456010.d2757558.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[1235],{8552:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); -------------------------------------------------------------------------------- /build/assets/js/a7bd4aaa.1b204ae1.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7098],{4532:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(6540);var r=s(9024),o=s(2967),t=s(2252),i=s(2831),c=s(1463),u=s(4848);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.A,{version:e.version,tag:(0,o.tU)(e.pluginId,e.version)}),(0,u.jsx)(r.be,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:e,route:s}=n;return(0,u.jsx)(r.e3,{className:e.className,children:(0,u.jsx)(t.n,{version:e,children:(0,i.v)(s.routes)})})}function d(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(l,{...n})]})}}}]); -------------------------------------------------------------------------------- /build/assets/js/aba21aa0.02f5ef4f.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[5742],{7093:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); -------------------------------------------------------------------------------- /build/assets/js/bbe9aba3.bed8b380.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7484],{3339:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>r,default:()=>l,frontMatter:()=>c,metadata:()=>a,toc:()=>p});var s=n(4848),o=n(8453);const c={},r="IDSCheckResult",a={id:"api/@thatopen/components/interfaces/IDSCheckResult",title:"IDSCheckResult",description:"Represents the result of a check performed by an IDSFacet test.",source:"@site/docs/api/@thatopen/components/interfaces/IDSCheckResult.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/IDSCheckResult",permalink:"/api/@thatopen/components/interfaces/IDSCheckResult",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Hideable",permalink:"/api/@thatopen/components/interfaces/Hideable"},next:{title:"IfcCategoryRule",permalink:"/api/@thatopen/components/interfaces/IfcCategoryRule"}},i={},p=[];function u(e){const t={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"idscheckresult",children:"IDSCheckResult"}),"\n",(0,s.jsx)(t.p,{children:"Represents the result of a check performed by an IDSFacet test."})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var s=n(6540);const o={},c=s.createContext(o);function r(e){const t=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(c.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/c0c84d70.394a97d5.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[2406],{3871:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>c,toc:()=>u});var i=e(4848),o=e(8453);const s={},a="ConditionFunctions",c={id:"api/@thatopen/ui/type-aliases/ConditionFunctions",title:"ConditionFunctions",description:"ConditionFunctions Function }",source:"@site/docs/api/@thatopen/ui/type-aliases/ConditionFunctions.md",sourceDirName:"api/@thatopen/ui/type-aliases",slug:"/api/@thatopen/ui/type-aliases/ConditionFunctions",permalink:"/api/@thatopen/ui/type-aliases/ConditionFunctions",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"TableGroupTemplate\\",permalink:"/api/@thatopen/ui/interfaces/TableGroupTemplate"},next:{title:"GridLayoutsDefinition\\",permalink:"/api/@thatopen/ui/type-aliases/GridLayoutsDefinition"}},r={},u=[];function p(n){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,o.R)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"conditionfunctions",children:"ConditionFunctions"}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"ConditionFunctions"}),": ",(0,i.jsx)(t.code,{children:"{ [queryCondition in QueryCondition]: Function }"})]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Represents a map of condition functions, where the key is a QueryCondition and the value is a function that evaluates the condition."})]})}function d(n={}){const{wrapper:t}={...(0,o.R)(),...n.components};return t?(0,i.jsx)(t,{...n,children:(0,i.jsx)(p,{...n})}):p(n)}},8453:(n,t,e)=>{e.d(t,{R:()=>a,x:()=>c});var i=e(6540);const o={},s=i.createContext(o);function a(n){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof n?n(t):{...t,...n}}),[t,n])}function c(n){let t;return t=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:a(n.components),i.createElement(s.Provider,{value:t},n.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/c141421f.21cce4e3.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[957],{936:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); -------------------------------------------------------------------------------- /build/assets/js/cab0aaf7.9863d51b.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7278],{7076:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>p});var r=n(4848),o=n(8453);const s={},i="CivilMarkerType",a={id:"api/@thatopen/components-front/type-aliases/CivilMarkerType",title:"CivilMarkerType",description:'CivilMarkerType: "hover" \\| "select"',source:"@site/docs/api/@thatopen/components-front/type-aliases/CivilMarkerType.md",sourceDirName:"api/@thatopen/components-front/type-aliases",slug:"/api/@thatopen/components-front/type-aliases/CivilMarkerType",permalink:"/api/@thatopen/components-front/type-aliases/CivilMarkerType",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"StreamedInstance",permalink:"/api/@thatopen/components-front/interfaces/StreamedInstance"},next:{title:"Edges",permalink:"/api/@thatopen/components-front/type-aliases/Edges"}},c={},p=[];function l(e){const t={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"civilmarkertype",children:"CivilMarkerType"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"CivilMarkerType"}),": ",(0,r.jsx)(t.code,{children:'"hover"'})," | ",(0,r.jsx)(t.code,{children:'"select"'})]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"Represents the type of markers used in the CivilMarkerType class."})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var r=n(6540);const o={},s=r.createContext(o);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/cb1bbd23.b302e3de.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[5142],{5224:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=t(4848),i=t(8453);const r={},s="QueryCondition",c={id:"api/@thatopen/ui/type-aliases/QueryCondition",title:"QueryCondition",description:'QueryCondition: "=" \\| ">" \\| ">=" \\| "<" \\| "<=" \\| "?" \\| "/" \\| "#"',source:"@site/docs/api/@thatopen/ui/type-aliases/QueryCondition.md",sourceDirName:"api/@thatopen/ui/type-aliases",slug:"/api/@thatopen/ui/type-aliases/QueryCondition",permalink:"/api/@thatopen/ui/type-aliases/QueryCondition",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Query",permalink:"/api/@thatopen/ui/type-aliases/Query"},next:{title:"QueryOperators",permalink:"/api/@thatopen/ui/type-aliases/QueryOperators"}},a={},d=[];function u(e){const n={blockquote:"blockquote",code:"code",h1:"h1",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"querycondition",children:"QueryCondition"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"QueryCondition"}),": ",(0,o.jsx)(n.code,{children:'"="'})," | ",(0,o.jsx)(n.code,{children:'">"'})," | ",(0,o.jsx)(n.code,{children:'">="'})," | ",(0,o.jsx)(n.code,{children:'"<"'})," | ",(0,o.jsx)(n.code,{children:'"<="'})," | ",(0,o.jsx)(n.code,{children:'"?"'})," | ",(0,o.jsx)(n.code,{children:'"/"'})," | ",(0,o.jsx)(n.code,{children:'"#"'})]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Represents a condition used in query building."})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var o=t(6540);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/cccf32cd.93bcd8b4.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[9940],{928:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var a=t(4848),i=t(8453);const s={},o="Classification",c={id:"api/@thatopen/components/interfaces/Classification",title:"Classification",description:"Interface representing a classification system. The classification is organized by system and class name, and each class contains a map of fragment IDs with extra information.",source:"@site/docs/api/@thatopen/components/interfaces/Classification.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/Classification",permalink:"/api/@thatopen/components/interfaces/Classification",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ChangeMap",permalink:"/api/@thatopen/components/interfaces/ChangeMap"},next:{title:"Configurable\\",permalink:"/api/@thatopen/components/interfaces/Configurable"}},r={},l=[{value:"Indexable",id:"indexable",level:2}];function p(e){const n={code:"code",h1:"h1",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"classification",children:"Classification"}),"\n",(0,a.jsx)(n.p,{children:"Interface representing a classification system. The classification is organized by system and class name, and each class contains a map of fragment IDs with extra information."}),"\n",(0,a.jsx)(n.h2,{id:"indexable",children:"Indexable"}),"\n",(0,a.jsxs)(n.p,{children:["[",(0,a.jsx)(n.code,{children:"system"}),": ",(0,a.jsx)(n.code,{children:"string"}),"]: ",(0,a.jsx)(n.code,{children:"object"})]})]})}function d(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var a=t(6540);const i={},s=a.createContext(i);function o(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/d7881993.8bfe0378.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[2842],{6330:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var s=n(4848),r=n(8453);const a={},i="AttributeListener",o={id:"api/@thatopen/components/interfaces/AttributeListener",title:"AttributeListener",description:"Interface representing a map of attribute listeners. The keys are model UUIDs, and the values are objects with express IDs as keys, and objects with attribute names as keys, and Event objects as values.",source:"@site/docs/api/@thatopen/components/interfaces/AttributeListener.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/AttributeListener",permalink:"/api/@thatopen/components/interfaces/AttributeListener",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Worlds",permalink:"/api/@thatopen/components/classes/Worlds"},next:{title:"BCFTopicsConfig",permalink:"/api/@thatopen/components/interfaces/BCFTopicsConfig"}},c={},p=[];function u(e){const t={h1:"h1",p:"p",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"attributelistener",children:"AttributeListener"}),"\n",(0,s.jsx)(t.p,{children:"Interface representing a map of attribute listeners. The keys are model UUIDs, and the values are objects with express IDs as keys, and objects with attribute names as keys, and Event objects as values."})]})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>o});var s=n(6540);const r={},a=s.createContext(r);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/e4477f93.caf86c03.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[624],{1930:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var s=n(4848),o=n(8453);const a={},r="StatelessComponent()",i={id:"api/@thatopen/ui/type-aliases/StatelessComponent",title:"StatelessComponent()",description:"StatelessComponent: () => TemplateResult",source:"@site/docs/api/@thatopen/ui/type-aliases/StatelessComponent.md",sourceDirName:"api/@thatopen/ui/type-aliases",slug:"/api/@thatopen/ui/type-aliases/StatelessComponent",permalink:"/api/@thatopen/ui/type-aliases/StatelessComponent",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"StatefullComponent()\\",permalink:"/api/@thatopen/ui/type-aliases/StatefullComponent"},next:{title:"TableDataTransform\\",permalink:"/api/@thatopen/ui/type-aliases/TableDataTransform"}},l={},p=[{value:"Returns",id:"returns",level:2}];function c(e){const t={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"statelesscomponent",children:"StatelessComponent()"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"StatelessComponent"}),": () => ",(0,s.jsx)(t.code,{children:"TemplateResult"})]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Represents a function that returns a TemplateResult for a stateless component."}),"\n",(0,s.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"TemplateResult"})})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var s=n(6540);const o={},a=s.createContext(o);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/e8059868.99735bde.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[8184],{1829:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>h});var o=n(4848),s=n(8453);const a={},r="Shadows",i={id:"api/@thatopen/components-front/interfaces/Shadows",title:"Shadows",description:"Represents a collection of shadows, where each shadow is identified by a unique ID. The keys of the object are the IDs, and the values are the corresponding Shadow objects.",source:"@site/docs/api/@thatopen/components-front/interfaces/Shadows.md",sourceDirName:"api/@thatopen/components-front/interfaces",slug:"/api/@thatopen/components-front/interfaces/Shadows",permalink:"/api/@thatopen/components-front/interfaces/Shadows",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Shadow",permalink:"/api/@thatopen/components-front/interfaces/Shadow"},next:{title:"StreamLoaderSettings",permalink:"/api/@thatopen/components-front/interfaces/StreamLoaderSettings"}},c={},h=[];function d(e){const t={a:"a",h1:"h1",p:"p",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"shadows",children:"Shadows"}),"\n",(0,o.jsxs)(t.p,{children:["Represents a collection of shadows, where each shadow is identified by a unique ID. The keys of the object are the IDs, and the values are the corresponding ",(0,o.jsx)(t.a,{href:"/api/@thatopen/components-front/interfaces/Shadow",children:"Shadow"})," objects."]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var o=n(6540);const s={},a=o.createContext(s);function r(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/ec1e15a5.efbee87b.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[6625],{3135:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var a=n(4848),s=n(8453);const i={},r="HasValue",o={id:"api/@thatopen/ui/interfaces/HasValue",title:"HasValue",description:"Represents an object that has a value and an event for value changes.",source:"@site/docs/api/@thatopen/ui/interfaces/HasValue.md",sourceDirName:"api/@thatopen/ui/interfaces",slug:"/api/@thatopen/ui/interfaces/HasValue",permalink:"/api/@thatopen/ui/interfaces/HasValue",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"HasName",permalink:"/api/@thatopen/ui/interfaces/HasName"},next:{title:"ManagerConfig",permalink:"/api/@thatopen/ui/interfaces/ManagerConfig"}},c={},u=[];function p(e){const t={h1:"h1",p:"p",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"hasvalue",children:"HasValue"}),"\n",(0,a.jsx)(t.p,{children:"Represents an object that has a value and an event for value changes."})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var a=n(6540);const s={},i=a.createContext(s);function r(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/ef4d88ec.2c75476a.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[246],{8949:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>f,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var r=n(4848),o=n(8453);const i={},a="QueryGroup",s={id:"api/@thatopen/ui/interfaces/QueryGroup",title:"QueryGroup",description:"Represents a group of queries with an operator.",source:"@site/docs/api/@thatopen/ui/interfaces/QueryGroup.md",sourceDirName:"api/@thatopen/ui/interfaces",slug:"/api/@thatopen/ui/interfaces/QueryGroup",permalink:"/api/@thatopen/ui/interfaces/QueryGroup",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ManagerConfig",permalink:"/api/@thatopen/ui/interfaces/ManagerConfig"},next:{title:"RowCreatedEventDetail\\",permalink:"/api/@thatopen/ui/interfaces/RowCreatedEventDetail"}},u={},p=[];function c(e){const t={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"querygroup",children:"QueryGroup"}),"\n",(0,r.jsx)(t.p,{children:"Represents a group of queries with an operator."})]})}function f(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>s});var r=n(6540);const o={},i=r.createContext(o);function a(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/fb3ecf5a.81f5032d.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[2678],{5786:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>c,metadata:()=>r,toc:()=>p});var i=t(4848),o=t(8453);const c={},s="SimpleSceneConfig",r={id:"api/@thatopen/components/interfaces/SimpleSceneConfig",title:"SimpleSceneConfig",description:"Configuration interface for the SimpleScene.",source:"@site/docs/api/@thatopen/components/interfaces/SimpleSceneConfig.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/SimpleSceneConfig",permalink:"/api/@thatopen/components/interfaces/SimpleSceneConfig",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"SimpleGridConfig",permalink:"/api/@thatopen/components/interfaces/SimpleGridConfig"},next:{title:"StreamedAsset",permalink:"/api/@thatopen/components/interfaces/StreamedAsset"}},a={},p=[{value:"Extended by",id:"extended-by",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"simplesceneconfig",children:"SimpleSceneConfig"}),"\n",(0,i.jsxs)(n.p,{children:["Configuration interface for the ",(0,i.jsx)(n.a,{href:"/api/@thatopen/components/classes/SimpleScene",children:"SimpleScene"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/api/@thatopen/components/interfaces/ShadowedSceneConfig",children:(0,i.jsx)(n.code,{children:"ShadowedSceneConfig"})})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>r});var i=t(6540);const o={},c=i.createContext(o);function s(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/fbf5076e.b71ebb86.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkengine_docs=self.webpackChunkengine_docs||[]).push([[7468],{2664:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var a=t(4848),o=t(8453);const s={},r="ChangeMap",i={id:"api/@thatopen/components/interfaces/ChangeMap",title:"ChangeMap",description:"Interface representing a map of changed entities in a model. The keys are model UUIDs, and the values are sets of express IDs of changed entities.",source:"@site/docs/api/@thatopen/components/interfaces/ChangeMap.md",sourceDirName:"api/@thatopen/components/interfaces",slug:"/api/@thatopen/components/interfaces/ChangeMap",permalink:"/api/@thatopen/components/interfaces/ChangeMap",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"CameraControllable",permalink:"/api/@thatopen/components/interfaces/CameraControllable"},next:{title:"Classification",permalink:"/api/@thatopen/components/interfaces/Classification"}},c={},p=[];function l(e){const n={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"changemap",children:"ChangeMap"}),"\n",(0,a.jsx)(n.p,{children:"Interface representing a map of changed entities in a model. The keys are model UUIDs, and the values are sets of express IDs of changed entities."})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>i});var a=t(6540);const o={},s=a.createContext(o);function r(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); -------------------------------------------------------------------------------- /build/assets/js/main.a10ed41d.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress 2 | * @license MIT */ 3 | 4 | /*! Bundled license information: 5 | 6 | prismjs/prism.js: 7 | (** 8 | * Prism: Lightweight, robust, elegant syntax highlighting 9 | * 10 | * @license MIT 11 | * @author Lea Verou 12 | * @namespace 13 | * @public 14 | *) 15 | */ 16 | 17 | /** 18 | * @license React 19 | * react-dom.production.min.js 20 | * 21 | * Copyright (c) Facebook, Inc. and its affiliates. 22 | * 23 | * This source code is licensed under the MIT license found in the 24 | * LICENSE file in the root directory of this source tree. 25 | */ 26 | 27 | /** 28 | * @license React 29 | * react-jsx-runtime.production.min.js 30 | * 31 | * Copyright (c) Facebook, Inc. and its affiliates. 32 | * 33 | * This source code is licensed under the MIT license found in the 34 | * LICENSE file in the root directory of this source tree. 35 | */ 36 | 37 | /** 38 | * @license React 39 | * react.production.min.js 40 | * 41 | * Copyright (c) Facebook, Inc. and its affiliates. 42 | * 43 | * This source code is licensed under the MIT license found in the 44 | * LICENSE file in the root directory of this source tree. 45 | */ 46 | 47 | /** 48 | * @license React 49 | * scheduler.production.min.js 50 | * 51 | * Copyright (c) Facebook, Inc. and its affiliates. 52 | * 53 | * This source code is licensed under the MIT license found in the 54 | * LICENSE file in the root directory of this source tree. 55 | */ 56 | 57 | /** @license React v16.13.1 58 | * react-is.production.min.js 59 | * 60 | * Copyright (c) Facebook, Inc. and its affiliates. 61 | * 62 | * This source code is licensed under the MIT license found in the 63 | * LICENSE file in the root directory of this source tree. 64 | */ 65 | -------------------------------------------------------------------------------- /build/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThatOpen/engine_docs/6615b9980f739a64b91fc51819673e176b7ab4fb/build/img/favicon.ico -------------------------------------------------------------------------------- /build/opensearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | That Open docs 5 | Search That Open docs 6 | UTF-8 7 | https://docs.thatopen.com/img/favicon.ico 8 | 9 | 10 | https://docs.thatopen.com/ 11 | -------------------------------------------------------------------------------- /docs/Tutorials/_category_.yml: -------------------------------------------------------------------------------- 1 | label: "👩🏻‍🏫 Tutorials" 2 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/classes/EdgesPlane.md: -------------------------------------------------------------------------------- 1 | # EdgesPlane 2 | 3 | A more advanced version of Clipper planes that also includes edges and fills. 4 | 5 | ## Extends 6 | 7 | - `SimplePlane` 8 | 9 | ## Properties 10 | 11 | ### edgesMaxUpdateRate 12 | 13 | > **edgesMaxUpdateRate**: `number` = `50` 14 | 15 | The max rate in milliseconds at which edges can be regenerated. 16 | To disable this behaviour set this to 0. 17 | 18 | ## Accessors 19 | 20 | ### enabled 21 | 22 | > `get` **enabled**(): `boolean` 23 | 24 | Getter for the enabled state of the plane. 25 | 26 | > `set` **enabled**(`state`): `void` 27 | 28 | Setter for the enabled state of the plane. 29 | Also sets the enabled state in the renderer. 30 | 31 | #### Parameters 32 | 33 | | Parameter | Type | Description | 34 | | :------ | :------ | :------ | 35 | | `state` | `boolean` | The new enabled state. | 36 | 37 | #### Returns 38 | 39 | `boolean` 40 | 41 | The current enabled state. 42 | 43 | *** 44 | 45 | ### visible 46 | 47 | > `get` **visible**(): `boolean` 48 | 49 | Getter for the visibility state of the plane. 50 | 51 | > `set` **visible**(`state`): `void` 52 | 53 | Setter for the visibility state of the plane. 54 | Also toggles the visibility of the controls. 55 | 56 | #### Parameters 57 | 58 | | Parameter | Type | Description | 59 | | :------ | :------ | :------ | 60 | | `state` | `boolean` | The new visibility state. | 61 | 62 | #### Returns 63 | 64 | `boolean` 65 | 66 | The current visibility state. 67 | 68 | ## Methods 69 | 70 | ### dispose() 71 | 72 | > **dispose**(): `void` 73 | 74 | Disposes of the EdgesPlane and its associated ClippingEdges. 75 | This method should be called when the EdgesPlane is no longer needed to free up resources. 76 | After calling this method, the EdgesPlane and its ClippingEdges should not be used anymore. 77 | 78 | #### Returns 79 | 80 | `void` 81 | 82 | #### Overrides 83 | 84 | `OBC.SimplePlane.dispose` 85 | 86 | *** 87 | 88 | ### updateFill() 89 | 90 | > **updateFill**(): `void` 91 | 92 | Updates the fill of the edges. 93 | This method sets the `fillNeedsUpdate` flag to true, triggers the `update` method of the `edges`, 94 | and sets the visibility of the `edges` to the current value of `_visible`. 95 | 96 | #### Returns 97 | 98 | `void` 99 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/classes/GeometryCullerRenderer.md: -------------------------------------------------------------------------------- 1 | # GeometryCullerRenderer 2 | 3 | A renderer to determine a geometry visibility on screen 4 | 5 | ## Extends 6 | 7 | - `CullerRenderer` 8 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/classes/GraphicVertexPicker.md: -------------------------------------------------------------------------------- 1 | # GraphicVertexPicker 2 | 3 | A class that extends OBC.VertexPicker to provide a graphical marker for picking vertices in a 3D scene. 4 | 5 | ## Extends 6 | 7 | - `VertexPicker` 8 | 9 | ## Implements 10 | 11 | - `Disposable` 12 | 13 | ## Properties 14 | 15 | ### marker 16 | 17 | > **marker**: `null` \| [`Mark`](Mark.md) = `null` 18 | 19 | The marker used to indicate the picked vertex. 20 | 21 | *** 22 | 23 | ### onDisposed 24 | 25 | > `readonly` **onDisposed**: `Event`\<`unknown`\> 26 | 27 | OBC.Disposable.onDisposed 28 | 29 | #### Implementation of 30 | 31 | `OBC.Disposable.onDisposed` 32 | 33 | #### Overrides 34 | 35 | `OBC.VertexPicker.onDisposed` 36 | 37 | ## Methods 38 | 39 | ### dispose() 40 | 41 | > **dispose**(): `void` 42 | 43 | OBC.Disposable.onDisposed 44 | 45 | #### Returns 46 | 47 | `void` 48 | 49 | #### Implementation of 50 | 51 | `OBC.Disposable.dispose` 52 | 53 | #### Overrides 54 | 55 | `OBC.VertexPicker.dispose` 56 | 57 | *** 58 | 59 | ### get() 60 | 61 | > **get**(`world`): `null` \| `Vector3` 62 | 63 | Retrieves the picked vertex from the world and updates the marker's position. 64 | If no vertex is picked, the marker is hidden. 65 | 66 | #### Parameters 67 | 68 | | Parameter | Type | Description | 69 | | :------ | :------ | :------ | 70 | | `world` | `World` | The world in which to pick the vertex. | 71 | 72 | #### Returns 73 | 74 | `null` \| `Vector3` 75 | 76 | The picked vertex, or null if no vertex was picked. 77 | 78 | #### Overrides 79 | 80 | `OBC.VertexPicker.get` 81 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/classes/Mark.md: -------------------------------------------------------------------------------- 1 | # Mark 2 | 3 | Represents a marker in the 3D world. 4 | 5 | ## Implements 6 | 7 | - `Hideable` 8 | - `Disposable` 9 | 10 | ## Properties 11 | 12 | ### onDisposed 13 | 14 | > `readonly` **onDisposed**: `Event`\<`unknown`\> 15 | 16 | OBC.Disposable.onDisposed 17 | 18 | #### Implementation of 19 | 20 | `OBC.Disposable.onDisposed` 21 | 22 | *** 23 | 24 | ### three 25 | 26 | > **three**: `CSS2DObject` 27 | 28 | The CSS object representing the marker. 29 | 30 | *** 31 | 32 | ### world 33 | 34 | > **world**: `World` 35 | 36 | The world in which the marker exists. 37 | 38 | ## Accessors 39 | 40 | ### visible 41 | 42 | > `get` **visible**(): `boolean` 43 | 44 | OBC.Hideable.visible 45 | 46 | > `set` **visible**(`value`): `void` 47 | 48 | OBC.Hideable.visible 49 | 50 | #### Parameters 51 | 52 | | Parameter | Type | 53 | | :------ | :------ | 54 | | `value` | `boolean` | 55 | 56 | #### Returns 57 | 58 | `boolean` 59 | 60 | ## Methods 61 | 62 | ### dispose() 63 | 64 | > **dispose**(): `void` 65 | 66 | OBC.Disposable.dispose 67 | 68 | #### Returns 69 | 70 | `void` 71 | 72 | #### Implementation of 73 | 74 | `OBC.Disposable.dispose` 75 | 76 | *** 77 | 78 | ### toggleVisibility() 79 | 80 | > **toggleVisibility**(): `void` 81 | 82 | Toggles the visibility of the marker. 83 | 84 | This method changes the `visible` property of the marker to its opposite value. 85 | If the marker is currently visible, it will be hidden, and vice versa. 86 | 87 | #### Returns 88 | 89 | `void` 90 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/classes/PostproductionRenderer.md: -------------------------------------------------------------------------------- 1 | # PostproductionRenderer 2 | 3 | A class that extends RendererWith2D and adds post-processing capabilities. 📕 [Tutorial](https://docs.thatopen.com/Tutorials/Components/Front/PostproductionRenderer). 📘 [API](https://docs.thatopen.com/api/@thatopen/components-front/classes/PostproductionRenderer). 4 | 5 | ## Extends 6 | 7 | - [`RendererWith2D`](RendererWith2D.md) 8 | 9 | ## Properties 10 | 11 | ### three2D 12 | 13 | > **three2D**: `CSS2DRenderer` 14 | 15 | This renderer is used to render 2D objects (CSS2DObjects) in a 3D scene. 16 | 17 | #### Inherited from 18 | 19 | [`RendererWith2D`](RendererWith2D.md) . [`three2D`](RendererWith2D.md#three2d) 20 | 21 | ## Accessors 22 | 23 | ### postproduction 24 | 25 | > `get` **postproduction**(): [`Postproduction`](Postproduction.md) 26 | 27 | Getter for the postproduction instance. 28 | Throws an error if the postproduction instance is not yet initialized. 29 | 30 | #### Returns 31 | 32 | [`Postproduction`](Postproduction.md) 33 | 34 | The initialized Postproduction instance. 35 | 36 | ## Methods 37 | 38 | ### dispose() 39 | 40 | > **dispose**(): `void` 41 | 42 | OBC.Disposable.dispose. 43 | 44 | #### Returns 45 | 46 | `void` 47 | 48 | #### Overrides 49 | 50 | `RendererWith2D.dispose` 51 | 52 | *** 53 | 54 | ### update() 55 | 56 | > **update**(): `void` 57 | 58 | Updateable.update 59 | 60 | #### Returns 61 | 62 | `void` 63 | 64 | #### Overrides 65 | 66 | `RendererWith2D.update` 67 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/classes/RendererWith2D.md: -------------------------------------------------------------------------------- 1 | # RendererWith2D 2 | 3 | A basic renderer capable of rendering 3D and 2D objects ([Objec3Ds](https://threejs.org/docs/#api/en/core/Object3D) and [CSS2DObjects](https://threejs.org/docs/#examples/en/renderers/CSS2DRenderer) respectively). 4 | 5 | ## Extends 6 | 7 | - `SimpleRenderer` 8 | 9 | ## Extended by 10 | 11 | - [`PostproductionRenderer`](PostproductionRenderer.md) 12 | 13 | ## Properties 14 | 15 | ### three2D 16 | 17 | > **three2D**: `CSS2DRenderer` 18 | 19 | This renderer is used to render 2D objects (CSS2DObjects) in a 3D scene. 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/AreaSelection.md: -------------------------------------------------------------------------------- 1 | # AreaSelection 2 | 3 | Represents a selection made by the user, containing area, perimeter, mesh, and label. 4 | 5 | ## Properties 6 | 7 | ### area 8 | 9 | > **area**: `number` 10 | 11 | The calculated area of the selection. 12 | 13 | *** 14 | 15 | ### label 16 | 17 | > **label**: [`Mark`](../classes/Mark.md) 18 | 19 | The label associated with the selection. 20 | 21 | *** 22 | 23 | ### mesh 24 | 25 | > **mesh**: `Mesh`\<`BufferGeometry`\<`NormalBufferAttributes`\>, `Material` \| `Material`[], `Object3DEventMap`\> 26 | 27 | The 3D mesh representing the selection. 28 | 29 | *** 30 | 31 | ### perimeter 32 | 33 | > **perimeter**: `number` 34 | 35 | The calculated perimeter of the selection. 36 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/BvhLineSegmentsGeometry.md: -------------------------------------------------------------------------------- 1 | # BvhLineSegmentsGeometry 2 | 3 | A line segments geometry whose [BVH](https://github.com/gkjohnson/three-mesh-bvh) has been computed. 4 | 5 | ## Extends 6 | 7 | - `LineSegmentsGeometry` 8 | 9 | ## Properties 10 | 11 | ### boundsTree 12 | 13 | > **boundsTree**: `any` 14 | 15 | The computed BVH. 16 | 17 | *** 18 | 19 | ### disposeBoundsTree() 20 | 21 | > **disposeBoundsTree**: () => `void` 22 | 23 | Disposes the data of the computed BVH. 24 | 25 | #### Returns 26 | 27 | `void` 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/ClipStyle.md: -------------------------------------------------------------------------------- 1 | # ClipStyle 2 | 3 | A style defines the appearance of the lines of the [ClippingEdges](../classes/ClippingEdges.md) for a set of meshes. 4 | 5 | ## Properties 6 | 7 | ### fillMaterial? 8 | 9 | > `optional` **fillMaterial**: `Material` 10 | 11 | The material that defines the appearance of the fill of the 12 | [ClippingEdges](../classes/ClippingEdges.md). 13 | 14 | *** 15 | 16 | ### fragments 17 | 18 | > **fragments**: `FragmentIdMap` 19 | 20 | The IDs of the fragment items that are clipped by this style. 21 | 22 | *** 23 | 24 | ### lineMaterial 25 | 26 | > **lineMaterial**: `LineBasicMaterial` 27 | 28 | The material that defines the appearance of the lines of the 29 | [ClippingEdges](../classes/ClippingEdges.md). 30 | 31 | *** 32 | 33 | ### meshes 34 | 35 | > **meshes**: `Set`\<`Mesh`\<`BufferGeometry`\<`NormalBufferAttributes`\>, `Material` \| `Material`[], `Object3DEventMap`\> \| `InstancedMesh`\<`BufferGeometry`\<`NormalBufferAttributes`\>, `Material` \| `Material`[]\>\> 36 | 37 | The meshes where the style will be applied. 38 | 39 | *** 40 | 41 | ### name 42 | 43 | > **name**: `string` 44 | 45 | The name of the style. 46 | 47 | *** 48 | 49 | ### outlineMaterial? 50 | 51 | > `optional` **outlineMaterial**: `MeshBasicMaterial` 52 | 53 | The material that defines the appearance of the outline of the 54 | [ClippingEdges](../classes/ClippingEdges.md). This requires to use the [PostproductionRenderer](../classes/PostproductionRenderer.md) 55 | and [fillMaterial](ClipStyle.md#fillmaterial). 56 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/DimensionData.md: -------------------------------------------------------------------------------- 1 | # DimensionData 2 | 3 | Interface representing the data required to create a dimension line. 4 | 5 | ## Properties 6 | 7 | ### end 8 | 9 | > **end**: `Vector3` 10 | 11 | The ending point of the dimension line in 3D space. 12 | 13 | *** 14 | 15 | ### endpointElement 16 | 17 | > **endpointElement**: `HTMLElement` 18 | 19 | The HTML element to be used as the endpoint marker for the dimension line. 20 | 21 | *** 22 | 23 | ### lineMaterial 24 | 25 | > **lineMaterial**: `Material` 26 | 27 | The material to be used for the line of the dimension. 28 | 29 | *** 30 | 31 | ### start 32 | 33 | > **start**: `Vector3` 34 | 35 | The starting point of the dimension line in 3D space. 36 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/Edge.md: -------------------------------------------------------------------------------- 1 | # Edge 2 | 3 | The lines that are drawn when the clipping plane cuts the geometry specified by the [ClipStyle](ClipStyle.md). 4 | 5 | ## Properties 6 | 7 | ### fill? 8 | 9 | > `optional` **fill**: [`ClippingFills`](../classes/ClippingFills.md) 10 | 11 | The fill of the section. 12 | 13 | *** 14 | 15 | ### mesh 16 | 17 | > **mesh**: `LineSegments`\<`BufferGeometry`\<`NormalBufferAttributes`\>, `Material` \| `Material`[]\> 18 | 19 | The visible clipping lines in the scene. 20 | 21 | *** 22 | 23 | ### name 24 | 25 | > **name**: `string` 26 | 27 | The name of the style to which this Edges belong. 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/HighlightEvents.md: -------------------------------------------------------------------------------- 1 | # HighlightEvents 2 | 3 | Interface defining the events that the Highlighter class can trigger. Each highlighter has its own set of events, identified by the highlighter name. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/HighlighterConfig.md: -------------------------------------------------------------------------------- 1 | # HighlighterConfig 2 | 3 | Interface defining the configuration options for the Highlighter class. 4 | 5 | ## Properties 6 | 7 | ### autoHighlightOnClick 8 | 9 | > **autoHighlightOnClick**: `boolean` 10 | 11 | Whether to automatically highlight fragments on click. 12 | 13 | *** 14 | 15 | ### hoverColor 16 | 17 | > **hoverColor**: `null` \| `Color` 18 | 19 | Color used for hover. 20 | 21 | *** 22 | 23 | ### hoverEnabled 24 | 25 | > **hoverEnabled**: `boolean` 26 | 27 | Toggles the hover functionality. 28 | 29 | *** 30 | 31 | ### hoverName 32 | 33 | > **hoverName**: `string` 34 | 35 | Name of the hover event. 36 | 37 | *** 38 | 39 | ### selectEnabled 40 | 41 | > **selectEnabled**: `boolean` 42 | 43 | Toggles the select functionality. 44 | 45 | *** 46 | 47 | ### selectName 48 | 49 | > **selectName**: `string` 50 | 51 | Name of the selection event. 52 | 53 | *** 54 | 55 | ### selectionColor 56 | 57 | > **selectionColor**: `null` \| `Color` 58 | 59 | Color used for selection. 60 | 61 | *** 62 | 63 | ### world 64 | 65 | > **world**: `null` \| `World` 66 | 67 | The world in which the highlighter operates. 68 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/IGroupedMarkers.md: -------------------------------------------------------------------------------- 1 | # IGroupedMarkers 2 | 3 | Interface representing a group of markers. 4 | 5 | ## Properties 6 | 7 | ### key 8 | 9 | > **key**: `string` 10 | 11 | Unique identifier for the group of markers. 12 | 13 | *** 14 | 15 | ### label 16 | 17 | > **label**: [`Mark`](../classes/Mark.md) 18 | 19 | Label of the group of markers. 20 | 21 | *** 22 | 23 | ### markerKeys 24 | 25 | > **markerKeys**: `string`[] 26 | 27 | Array of keys of markers that belong to this group. 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/IMarker.md: -------------------------------------------------------------------------------- 1 | # IMarker 2 | 3 | Interface representing a marker object. 4 | 5 | ## Properties 6 | 7 | ### key 8 | 9 | > **key**: `string` 10 | 11 | Unique identifier for the marker. 12 | 13 | *** 14 | 15 | ### label 16 | 17 | > **label**: [`Mark`](../classes/Mark.md) 18 | 19 | Label of the marker. 20 | 21 | *** 22 | 23 | ### merged 24 | 25 | > **merged**: `boolean` 26 | 27 | Indicates whether the marker is merged with other markers. 28 | 29 | *** 30 | 31 | ### static 32 | 33 | > **static**: `boolean` 34 | 35 | Indicates whether the marker is static and should not be clustered. 36 | 37 | *** 38 | 39 | ### type? 40 | 41 | > `optional` **type**: `string` 42 | 43 | Optional type of the marker. 44 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/PlanView.md: -------------------------------------------------------------------------------- 1 | # PlanView 2 | 3 | The data that describes a plan view. 4 | 5 | ## Extends 6 | 7 | - [`Section`](Section.md) 8 | 9 | ## Properties 10 | 11 | ### cached 12 | 13 | > **cached**: `object` 14 | 15 | The cached camera data of the view when the user exited it. 16 | 17 | #### position 18 | 19 | > **position**: `Vector3` 20 | 21 | #### size 22 | 23 | > **size**: `number` 24 | 25 | #### target 26 | 27 | > **target**: `Vector3` 28 | 29 | #### zoom 30 | 31 | > **zoom**: `number` 32 | 33 | #### Inherited from 34 | 35 | [`Section`](Section.md) . [`cached`](Section.md#cached) 36 | 37 | *** 38 | 39 | ### id 40 | 41 | > **id**: `string` 42 | 43 | The unique identifier for this Section plan (e.g. "0w984V0GL6yR4z75YWgVfX"). 44 | 45 | #### Inherited from 46 | 47 | [`Section`](Section.md) . [`id`](Section.md#id) 48 | 49 | *** 50 | 51 | ### name 52 | 53 | > **name**: `string` 54 | 55 | The human-readable name of this floor plan (e.g. "First floor"). 56 | 57 | #### Inherited from 58 | 59 | [`Section`](Section.md) . [`name`](Section.md#name) 60 | 61 | *** 62 | 63 | ### offset 64 | 65 | > **offset**: `number` 66 | 67 | The offset of the camera to the clipping plane. 68 | 69 | #### Inherited from 70 | 71 | [`Section`](Section.md) . [`offset`](Section.md#offset) 72 | 73 | *** 74 | 75 | ### planOffset 76 | 77 | > **planOffset**: `number` 78 | 79 | The offset of the clipping plane to the plan height. 80 | 81 | *** 82 | 83 | ### plane 84 | 85 | > **plane**: [`EdgesPlane`](../classes/EdgesPlane.md) 86 | 87 | The clipping plane object that cuts the model. 88 | 89 | #### Inherited from 90 | 91 | [`Section`](Section.md) . [`plane`](Section.md#plane) 92 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/PostproductionSettings.md: -------------------------------------------------------------------------------- 1 | # PostproductionSettings 2 | 3 | Interface defining the settings for the post-processing effects. 4 | 5 | ## Properties 6 | 7 | ### ao? 8 | 9 | > `optional` **ao**: `boolean` 10 | 11 | Flag indicating whether to apply Ambient Occlusion (AO) effect. 12 | Default: false 13 | 14 | *** 15 | 16 | ### custom? 17 | 18 | > `optional` **custom**: `boolean` 19 | 20 | Flag indicating whether to apply custom effects. 21 | Default: true 22 | 23 | *** 24 | 25 | ### gamma? 26 | 27 | > `optional` **gamma**: `boolean` 28 | 29 | Flag indicating whether to apply gamma correction. 30 | Default: true 31 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/Section.md: -------------------------------------------------------------------------------- 1 | # Section 2 | 3 | The data that describes a section view. 4 | 5 | ## Extended by 6 | 7 | - [`PlanView`](PlanView.md) 8 | 9 | ## Properties 10 | 11 | ### cached 12 | 13 | > **cached**: `object` 14 | 15 | The cached camera data of the view when the user exited it. 16 | 17 | #### position 18 | 19 | > **position**: `Vector3` 20 | 21 | #### size 22 | 23 | > **size**: `number` 24 | 25 | #### target 26 | 27 | > **target**: `Vector3` 28 | 29 | #### zoom 30 | 31 | > **zoom**: `number` 32 | 33 | *** 34 | 35 | ### id 36 | 37 | > **id**: `string` 38 | 39 | The unique identifier for this Section plan (e.g. "0w984V0GL6yR4z75YWgVfX"). 40 | 41 | *** 42 | 43 | ### name 44 | 45 | > **name**: `string` 46 | 47 | The human-readable name of this floor plan (e.g. "First floor"). 48 | 49 | *** 50 | 51 | ### offset 52 | 53 | > **offset**: `number` 54 | 55 | The offset of the camera to the clipping plane. 56 | 57 | *** 58 | 59 | ### plane 60 | 61 | > **plane**: [`EdgesPlane`](../classes/EdgesPlane.md) 62 | 63 | The clipping plane object that cuts the model. 64 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/SerializedAreaMeasure.md: -------------------------------------------------------------------------------- 1 | # SerializedAreaMeasure 2 | 3 | Represents a serialized version of an AreaSelection, used for saving and loading measurements. 4 | 5 | ## Properties 6 | 7 | ### area 8 | 9 | > **area**: `number` 10 | 11 | The calculated area of the selection. 12 | 13 | *** 14 | 15 | ### perimeter 16 | 17 | > **perimeter**: `number` 18 | 19 | The calculated perimeter of the selection. 20 | 21 | *** 22 | 23 | ### position 24 | 25 | > **position**: `Float32Array` 26 | 27 | The position of the vertices in the selection. 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/Shadow.md: -------------------------------------------------------------------------------- 1 | # Shadow 2 | 3 | Represents a shadow object used in the application. 4 | 5 | ## Properties 6 | 7 | ### blurPlane 8 | 9 | > **blurPlane**: `Mesh`\<`BufferGeometry`\<`NormalBufferAttributes`\>, `Material` \| `Material`[], `Object3DEventMap`\> 10 | 11 | The mesh used for blurring the shadow. 12 | 13 | *** 14 | 15 | ### camera 16 | 17 | > **camera**: `Camera` 18 | 19 | The camera used to render the shadow. 20 | 21 | *** 22 | 23 | ### root 24 | 25 | > **root**: `Group`\<`Object3DEventMap`\> 26 | 27 | The root group of the shadow. 28 | 29 | *** 30 | 31 | ### rt 32 | 33 | > **rt**: `WebGLRenderTarget`\<`Texture`\> 34 | 35 | The render target for the shadow texture. 36 | 37 | *** 38 | 39 | ### rtBlur 40 | 41 | > **rtBlur**: `WebGLRenderTarget`\<`Texture`\> 42 | 43 | The render target for the blurred shadow texture. 44 | 45 | *** 46 | 47 | ### world 48 | 49 | > **world**: `World` 50 | 51 | The world in which the shadow is rendered. 52 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/Shadows.md: -------------------------------------------------------------------------------- 1 | # Shadows 2 | 3 | Represents a collection of shadows, where each shadow is identified by a unique ID. The keys of the object are the IDs, and the values are the corresponding [Shadow](Shadow.md) objects. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/StreamLoaderSettings.md: -------------------------------------------------------------------------------- 1 | # StreamLoaderSettings 2 | 3 | Settings for the stream loader. 4 | 5 | ## Properties 6 | 7 | ### assets 8 | 9 | > **assets**: `StreamedAsset`[] 10 | 11 | Array of streamed assets. 12 | 13 | *** 14 | 15 | ### geometries 16 | 17 | > **geometries**: `StreamedGeometries` 18 | 19 | Streamed geometries. 20 | 21 | *** 22 | 23 | ### globalDataFileId 24 | 25 | > **globalDataFileId**: `string` 26 | 27 | Identifier of the global data file. 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/StreamPropertiesSettings.md: -------------------------------------------------------------------------------- 1 | # StreamPropertiesSettings 2 | 3 | Settings for the stream properties. 4 | 5 | ## Properties 6 | 7 | ### ids 8 | 9 | > **ids**: `object` 10 | 11 | Map of identifiers to numbers. 12 | 13 | #### Index signature 14 | 15 | \[`id`: `number`\]: `number` 16 | 17 | *** 18 | 19 | ### indexesFile 20 | 21 | > **indexesFile**: `string` 22 | 23 | Identifier of the indexes file. 24 | 25 | *** 26 | 27 | ### types 28 | 29 | > **types**: `object` 30 | 31 | Map of types to arrays of numbers. 32 | 33 | #### Index signature 34 | 35 | \[`type`: `number`\]: `number`[] 36 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/interfaces/StreamedInstance.md: -------------------------------------------------------------------------------- 1 | # StreamedInstance 2 | 3 | Represents an instance of a streamed object. 4 | 5 | ## Properties 6 | 7 | ### color 8 | 9 | > **color**: `number`[] 10 | 11 | Color of the instance. 12 | 13 | *** 14 | 15 | ### id 16 | 17 | > **id**: `number` 18 | 19 | Unique identifier of the instance. 20 | 21 | *** 22 | 23 | ### transformation 24 | 25 | > **transformation**: `number`[] 26 | 27 | Transformation matrix of the instance. 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/type-aliases/CivilMarkerType.md: -------------------------------------------------------------------------------- 1 | # CivilMarkerType 2 | 3 | > **CivilMarkerType**: `"hover"` \| `"select"` 4 | 5 | Represents the type of markers used in the CivilMarkerType class. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/type-aliases/Edges.md: -------------------------------------------------------------------------------- 1 | # Edges 2 | 3 | > **Edges**: `object` 4 | 5 | Type definition for the Edges object. The Edges object is a dictionary where the keys are strings and the values are of type [Edge](../interfaces/Edge.md). It is used to store and manage multiple [Edge](../interfaces/Edge.md) instances, each identified by a unique name. 6 | 7 | ## Index signature 8 | 9 | \[`name`: `string`\]: [`Edge`](../interfaces/Edge.md) 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/type-aliases/IndexFragmentMap.md: -------------------------------------------------------------------------------- 1 | # IndexFragmentMap 2 | 3 | > **IndexFragmentMap**: `Map`\<`number`, `FRAGS.FragmentIdMap`\> 4 | 5 | A map used to map the triangles of the clipping fill with the original fragment item. It's used to be able to trace to which elements a specific triangle of the clipping fill's face belongs (e.g. for highlighting an item when selecting one of its clipping fills). 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/type-aliases/LineStyles.md: -------------------------------------------------------------------------------- 1 | # LineStyles 2 | 3 | > **LineStyles**: `object` 4 | 5 | A type representing a dictionary of [ClipStyle](../interfaces/ClipStyle.md) objects, where the keys are the names of the styles. 6 | 7 | ## Index signature 8 | 9 | \[`name`: `string`\]: [`ClipStyle`](../interfaces/ClipStyle.md) 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components-front/type-aliases/StreamedInstances.md: -------------------------------------------------------------------------------- 1 | # StreamedInstances 2 | 3 | > **StreamedInstances**: `Map`\<`number`, [`StreamedInstance`](../interfaces/StreamedInstance.md)[]\> 4 | 5 | A map of streamed instances, grouped by their unique identifier. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/AsyncEvent.md: -------------------------------------------------------------------------------- 1 | # AsyncEvent\ 2 | 3 | Simple event handler by [Jason Kleban](https://gist.github.com/JasonKleban/50cee44960c225ac1993c922563aa540). Keep in mind that if you want to remove it later, you might want to declare the callback as an object. If you want to maintain the reference to `this`, you will need to declare the callback as an arrow function. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | 8 | | :------ | 9 | | `T` | 10 | 11 | ## Properties 12 | 13 | ### enabled 14 | 15 | > **enabled**: `boolean` = `true` 16 | 17 | Whether this event is active or not. If not, it won't trigger. 18 | 19 | ## Methods 20 | 21 | ### add() 22 | 23 | > **add**(`handler`): `void` 24 | 25 | Add a callback to this event instance. 26 | 27 | #### Parameters 28 | 29 | | Parameter | Type | Description | 30 | | :------ | :------ | :------ | 31 | | `handler` | `T` *extends* `void` ? () => `Promise`\<`void`\> : (`data`) => `Promise`\<`void`\> | the callback to be added to this event. | 32 | 33 | #### Returns 34 | 35 | `void` 36 | 37 | *** 38 | 39 | ### remove() 40 | 41 | > **remove**(`handler`): `void` 42 | 43 | Removes a callback from this event instance. 44 | 45 | #### Parameters 46 | 47 | | Parameter | Type | Description | 48 | | :------ | :------ | :------ | 49 | | `handler` | `T` *extends* `void` ? () => `Promise`\<`void`\> : (`data`) => `Promise`\<`void`\> | the callback to be removed from this event. | 50 | 51 | #### Returns 52 | 53 | `void` 54 | 55 | *** 56 | 57 | ### reset() 58 | 59 | > **reset**(): `void` 60 | 61 | Gets rid of all the suscribed events. 62 | 63 | #### Returns 64 | 65 | `void` 66 | 67 | *** 68 | 69 | ### trigger() 70 | 71 | > **trigger**(`data`?): `Promise`\<`void`\> 72 | 73 | Triggers all the callbacks assigned to this event. 74 | 75 | #### Parameters 76 | 77 | | Parameter | Type | 78 | | :------ | :------ | 79 | | `data`? | `T` | 80 | 81 | #### Returns 82 | 83 | `Promise`\<`void`\> 84 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/Base.md: -------------------------------------------------------------------------------- 1 | # `abstract` Base 2 | 3 | Base class of the library. Useful for finding out the interfaces something implements. 4 | 5 | ## Extended by 6 | 7 | - [`Component`](Component.md) 8 | - [`BaseWorldItem`](BaseWorldItem.md) 9 | - [`SimpleWorld`](SimpleWorld.md) 10 | 11 | ## Methods 12 | 13 | ### isConfigurable() 14 | 15 | > **isConfigurable**(): `this is Configurable` 16 | 17 | Whether is component is [Configurable](../interfaces/Configurable.md). 18 | 19 | #### Returns 20 | 21 | `this is Configurable` 22 | 23 | *** 24 | 25 | ### isDisposeable() 26 | 27 | > **isDisposeable**(): `this is Disposable` 28 | 29 | Whether is component is [Disposable](../interfaces/Disposable.md). 30 | 31 | #### Returns 32 | 33 | `this is Disposable` 34 | 35 | *** 36 | 37 | ### isHideable() 38 | 39 | > **isHideable**(): `this is Hideable` 40 | 41 | Whether is component is [Hideable](../interfaces/Hideable.md). 42 | 43 | #### Returns 44 | 45 | `this is Hideable` 46 | 47 | *** 48 | 49 | ### isResizeable() 50 | 51 | > **isResizeable**(): `this is Resizeable` 52 | 53 | Whether is component is [Resizeable](../interfaces/Resizeable.md). 54 | 55 | #### Returns 56 | 57 | `this is Resizeable` 58 | 59 | *** 60 | 61 | ### isUpdateable() 62 | 63 | > **isUpdateable**(): `this is Updateable` 64 | 65 | Whether is component is [Updateable](../interfaces/Updateable.md). 66 | 67 | #### Returns 68 | 69 | `this is Updateable` 70 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/Comment.md: -------------------------------------------------------------------------------- 1 | # Comment 2 | 3 | Represents a comment in a BCF Topic. 4 | 5 | ## Constructors 6 | 7 | ### new Comment() 8 | 9 | > **new Comment**(`components`, `text`): [`Comment`](Comment.md) 10 | 11 | Constructs a new BCF Topic Comment instance. 12 | 13 | #### Parameters 14 | 15 | | Parameter | Type | Description | 16 | | :------ | :------ | :------ | 17 | | `components` | [`Components`](Components.md) | The Components instance. | 18 | | `text` | `string` | The initial comment text. | 19 | 20 | #### Returns 21 | 22 | [`Comment`](Comment.md) 23 | 24 | ## Accessors 25 | 26 | ### comment 27 | 28 | > `get` **comment**(): `string` 29 | 30 | Gets the comment text. 31 | 32 | > `set` **comment**(`value`): `void` 33 | 34 | Sets the comment text and updates the modified date and author. 35 | The author will be the one defined in BCFTopics.config.author 36 | 37 | #### Parameters 38 | 39 | | Parameter | Type | Description | 40 | | :------ | :------ | :------ | 41 | | `value` | `string` | The new comment text. | 42 | 43 | #### Returns 44 | 45 | `string` 46 | 47 | The comment text. 48 | 49 | ## Methods 50 | 51 | ### serialize() 52 | 53 | > **serialize**(): `string` 54 | 55 | Serializes the Comment instance into a BCF compliant XML string. 56 | 57 | #### Returns 58 | 59 | `string` 60 | 61 | A string representing the Comment in BCFv2 XML format. 62 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/Event.md: -------------------------------------------------------------------------------- 1 | # Event\ 2 | 3 | Simple event handler by [Jason Kleban](https://gist.github.com/JasonKleban/50cee44960c225ac1993c922563aa540). Keep in mind that if you want to remove it later, you might want to declare the callback as an object. If you want to maintain the reference to `this`, you will need to declare the callback as an arrow function. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | 8 | | :------ | 9 | | `T` | 10 | 11 | ## Properties 12 | 13 | ### enabled 14 | 15 | > **enabled**: `boolean` = `true` 16 | 17 | Whether this event is active or not. If not, it won't trigger. 18 | 19 | ## Methods 20 | 21 | ### add() 22 | 23 | > **add**(`handler`): `void` 24 | 25 | Add a callback to this event instance. 26 | 27 | #### Parameters 28 | 29 | | Parameter | Type | Description | 30 | | :------ | :------ | :------ | 31 | | `handler` | `T` *extends* `void` ? () => `void` : (`data`) => `void` | the callback to be added to this event. | 32 | 33 | #### Returns 34 | 35 | `void` 36 | 37 | *** 38 | 39 | ### remove() 40 | 41 | > **remove**(`handler`): `void` 42 | 43 | Removes a callback from this event instance. 44 | 45 | #### Parameters 46 | 47 | | Parameter | Type | Description | 48 | | :------ | :------ | :------ | 49 | | `handler` | `T` *extends* `void` ? () => `void` : (`data`) => `void` | the callback to be removed from this event. | 50 | 51 | #### Returns 52 | 53 | `void` 54 | 55 | *** 56 | 57 | ### reset() 58 | 59 | > **reset**(): `void` 60 | 61 | Gets rid of all the suscribed events. 62 | 63 | #### Returns 64 | 65 | `void` 66 | 67 | *** 68 | 69 | ### trigger() 70 | 71 | > **trigger**(`data`?): `void` 72 | 73 | Triggers all the callbacks assigned to this event. 74 | 75 | #### Parameters 76 | 77 | | Parameter | Type | 78 | | :------ | :------ | 79 | | `data`? | `T` | 80 | 81 | #### Returns 82 | 83 | `void` 84 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/EventManager.md: -------------------------------------------------------------------------------- 1 | # EventManager 2 | 3 | Simple class to easily toggle and reset event lists. 4 | 5 | ## Properties 6 | 7 | ### list 8 | 9 | > **list**: `Set` \<[`Event`](Event.md)\<`any`\> \| [`AsyncEvent`](AsyncEvent.md)\<`any`\>\> 10 | 11 | The list of events managed by this instance. 12 | 13 | ## Methods 14 | 15 | ### add() 16 | 17 | > **add**(`events`): `void` 18 | 19 | Adds events to this manager. 20 | 21 | #### Parameters 22 | 23 | | Parameter | Type | Description | 24 | | :------ | :------ | :------ | 25 | | `events` | `Iterable` \<[`Event`](Event.md)\<`any`\> \| [`AsyncEvent`](AsyncEvent.md)\<`any`\>\> | the events to add. | 26 | 27 | #### Returns 28 | 29 | `void` 30 | 31 | *** 32 | 33 | ### remove() 34 | 35 | > **remove**(`events`): `void` 36 | 37 | Removes events from this manager. 38 | 39 | #### Parameters 40 | 41 | | Parameter | Type | Description | 42 | | :------ | :------ | :------ | 43 | | `events` | `Iterable` \<[`Event`](Event.md)\<`any`\> \| [`AsyncEvent`](AsyncEvent.md)\<`any`\>\> | the events to remove. | 44 | 45 | #### Returns 46 | 47 | `void` 48 | 49 | *** 50 | 51 | ### reset() 52 | 53 | > **reset**(): `void` 54 | 55 | Resets all the events managed by this instance. 56 | 57 | #### Returns 58 | 59 | `void` 60 | 61 | *** 62 | 63 | ### set() 64 | 65 | > **set**(`active`): `void` 66 | 67 | Sets all the events managed by this instance as enabled or disabled. 68 | 69 | #### Parameters 70 | 71 | | Parameter | Type | Description | 72 | | :------ | :------ | :------ | 73 | | `active` | `boolean` | whether to turn on or off the events. | 74 | 75 | #### Returns 76 | 77 | `void` 78 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/FirstPersonMode.md: -------------------------------------------------------------------------------- 1 | # FirstPersonMode 2 | 3 | A [NavigationMode](../interfaces/NavigationMode.md) that allows first person navigation, simulating FPS video games. 4 | 5 | ## Implements 6 | 7 | - [`NavigationMode`](../interfaces/NavigationMode.md) 8 | 9 | ## Properties 10 | 11 | ### enabled 12 | 13 | > **enabled**: `boolean` = `false` 14 | 15 | [NavigationMode.enabled](../interfaces/NavigationMode.md#enabled) 16 | 17 | #### Implementation of 18 | 19 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`enabled`](../interfaces/NavigationMode.md#enabled) 20 | 21 | *** 22 | 23 | ### id 24 | 25 | > `readonly` **id**: `"FirstPerson"` = `"FirstPerson"` 26 | 27 | [NavigationMode.id](../interfaces/NavigationMode.md#id) 28 | 29 | #### Implementation of 30 | 31 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`id`](../interfaces/NavigationMode.md#id) 32 | 33 | ## Methods 34 | 35 | ### set() 36 | 37 | > **set**(`active`): `void` 38 | 39 | [NavigationMode.set](../interfaces/NavigationMode.md#set) 40 | 41 | #### Parameters 42 | 43 | | Parameter | Type | 44 | | :------ | :------ | 45 | | `active` | `boolean` | 46 | 47 | #### Returns 48 | 49 | `void` 50 | 51 | #### Implementation of 52 | 53 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`set`](../interfaces/NavigationMode.md#set) 54 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/IDSSpecification.md: -------------------------------------------------------------------------------- 1 | # IDSSpecification 2 | 3 | Represents a single specification from the Information Delivery Specification (IDS) standard. 4 | 5 | ## Remarks 6 | 7 | This class provides methods for testing a model against the specification, 8 | as well as serializing the specification into XML format. 9 | 10 | ## Implements 11 | 12 | - `IDSSpecificationData` 13 | 14 | ## Methods 15 | 16 | ### serialize() 17 | 18 | > **serialize**(): `string` 19 | 20 | Serializes the IDSSpecification instance into XML format. 21 | 22 | #### Returns 23 | 24 | `string` 25 | 26 | The XML representation of the IDSSpecification. 27 | 28 | #### Remarks 29 | 30 | This method is not meant to be used directly. It is used by the IDSSpecifications component. 31 | 32 | *** 33 | 34 | ### test() 35 | 36 | > **test**(`model`): `Promise` \<[`IDSCheckResult`](../interfaces/IDSCheckResult.md)[]\> 37 | 38 | Tests the model to test against the specification's requirements. 39 | 40 | #### Parameters 41 | 42 | | Parameter | Type | Description | 43 | | :------ | :------ | :------ | 44 | | `model` | `FragmentsGroup` | The model to be tested. | 45 | 46 | #### Returns 47 | 48 | `Promise` \<[`IDSCheckResult`](../interfaces/IDSCheckResult.md)[]\> 49 | 50 | An array representing the test results. 51 | If no requirements are defined for the specification, an empty array is returned. 52 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/Mouse.md: -------------------------------------------------------------------------------- 1 | # Mouse 2 | 3 | A helper to easily get the real position of the mouse in the Three.js canvas to work with tools like the [raycaster](https://threejs.org/docs/#api/en/core/Raycaster), even if it has been transformed through CSS or doesn't occupy the whole screen. 4 | 5 | ## Implements 6 | 7 | - [`Disposable`](../interfaces/Disposable.md) 8 | 9 | ## Properties 10 | 11 | ### onDisposed 12 | 13 | > `readonly` **onDisposed**: [`Event`](Event.md)\<`unknown`\> 14 | 15 | [Disposable.onDisposed](../interfaces/Disposable.md#ondisposed) 16 | 17 | #### Implementation of 18 | 19 | [`Disposable`](../interfaces/Disposable.md) . [`onDisposed`](../interfaces/Disposable.md#ondisposed) 20 | 21 | ## Accessors 22 | 23 | ### position 24 | 25 | > `get` **position**(): `Vector2` 26 | 27 | The real position of the mouse of the Three.js canvas. 28 | 29 | #### Returns 30 | 31 | `Vector2` 32 | 33 | ## Methods 34 | 35 | ### dispose() 36 | 37 | > **dispose**(): `void` 38 | 39 | [Disposable.dispose](../interfaces/Disposable.md#dispose) 40 | 41 | #### Returns 42 | 43 | `void` 44 | 45 | #### Implementation of 46 | 47 | [`Disposable`](../interfaces/Disposable.md) . [`dispose`](../interfaces/Disposable.md#dispose) 48 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/OrbitMode.md: -------------------------------------------------------------------------------- 1 | # OrbitMode 2 | 3 | A [NavigationMode](../interfaces/NavigationMode.md) that allows 3D navigation and panning like in many 3D and CAD softwares. 4 | 5 | ## Implements 6 | 7 | - [`NavigationMode`](../interfaces/NavigationMode.md) 8 | 9 | ## Properties 10 | 11 | ### enabled 12 | 13 | > **enabled**: `boolean` = `true` 14 | 15 | [NavigationMode.enabled](../interfaces/NavigationMode.md#enabled) 16 | 17 | #### Implementation of 18 | 19 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`enabled`](../interfaces/NavigationMode.md#enabled) 20 | 21 | *** 22 | 23 | ### id 24 | 25 | > `readonly` **id**: `"Orbit"` = `"Orbit"` 26 | 27 | [NavigationMode.id](../interfaces/NavigationMode.md#id) 28 | 29 | #### Implementation of 30 | 31 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`id`](../interfaces/NavigationMode.md#id) 32 | 33 | ## Methods 34 | 35 | ### set() 36 | 37 | > **set**(`active`): `void` 38 | 39 | [NavigationMode.set](../interfaces/NavigationMode.md#set) 40 | 41 | #### Parameters 42 | 43 | | Parameter | Type | 44 | | :------ | :------ | 45 | | `active` | `boolean` | 46 | 47 | #### Returns 48 | 49 | `void` 50 | 51 | #### Implementation of 52 | 53 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`set`](../interfaces/NavigationMode.md#set) 54 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/PlanMode.md: -------------------------------------------------------------------------------- 1 | # PlanMode 2 | 3 | A [NavigationMode](../interfaces/NavigationMode.md) that allows to navigate floorplans in 2D, like many BIM tools. 4 | 5 | ## Implements 6 | 7 | - [`NavigationMode`](../interfaces/NavigationMode.md) 8 | 9 | ## Properties 10 | 11 | ### enabled 12 | 13 | > **enabled**: `boolean` = `false` 14 | 15 | [NavigationMode.enabled](../interfaces/NavigationMode.md#enabled) 16 | 17 | #### Implementation of 18 | 19 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`enabled`](../interfaces/NavigationMode.md#enabled) 20 | 21 | *** 22 | 23 | ### id 24 | 25 | > `readonly` **id**: `"Plan"` = `"Plan"` 26 | 27 | [NavigationMode.id](../interfaces/NavigationMode.md#id) 28 | 29 | #### Implementation of 30 | 31 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`id`](../interfaces/NavigationMode.md#id) 32 | 33 | ## Methods 34 | 35 | ### set() 36 | 37 | > **set**(`active`): `void` 38 | 39 | [NavigationMode.set](../interfaces/NavigationMode.md#set) 40 | 41 | #### Parameters 42 | 43 | | Parameter | Type | 44 | | :------ | :------ | 45 | | `active` | `boolean` | 46 | 47 | #### Returns 48 | 49 | `void` 50 | 51 | #### Implementation of 52 | 53 | [`NavigationMode`](../interfaces/NavigationMode.md) . [`set`](../interfaces/NavigationMode.md#set) 54 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/classes/ProjectionManager.md: -------------------------------------------------------------------------------- 1 | # ProjectionManager 2 | 3 | Object to control the [CameraProjection](../type-aliases/CameraProjection.md) of the [OrthoPerspectiveCamera](OrthoPerspectiveCamera.md). 4 | 5 | ## Properties 6 | 7 | ### camera 8 | 9 | > **camera**: `PerspectiveCamera` \| `OrthographicCamera` 10 | 11 | The camera controlled by this ProjectionManager. 12 | It can be either a PerspectiveCamera or an OrthographicCamera. 13 | 14 | *** 15 | 16 | ### current 17 | 18 | > **current**: [`CameraProjection`](../type-aliases/CameraProjection.md) = `"Perspective"` 19 | 20 | Current projection mode of the camera. 21 | Default is "Perspective". 22 | 23 | *** 24 | 25 | ### matchOrthoDistanceEnabled 26 | 27 | > **matchOrthoDistanceEnabled**: `boolean` = `false` 28 | 29 | Match Ortho zoom with Perspective distance when changing projection mode 30 | 31 | *** 32 | 33 | ### onChanged 34 | 35 | > `readonly` **onChanged**: [`Event`](Event.md)\<`PerspectiveCamera` \| `OrthographicCamera`\> 36 | 37 | Event that fires when the [CameraProjection](../type-aliases/CameraProjection.md) changes. 38 | 39 | ## Methods 40 | 41 | ### set() 42 | 43 | > **set**(`projection`): `Promise`\<`void`\> 44 | 45 | Sets the [CameraProjection](../type-aliases/CameraProjection.md) of the [OrthoPerspectiveCamera](OrthoPerspectiveCamera.md). 46 | 47 | #### Parameters 48 | 49 | | Parameter | Type | Description | 50 | | :------ | :------ | :------ | 51 | | `projection` | [`CameraProjection`](../type-aliases/CameraProjection.md) | the new projection to set. If it is the current projection, it will have no effect. | 52 | 53 | #### Returns 54 | 55 | `Promise`\<`void`\> 56 | 57 | *** 58 | 59 | ### toggle() 60 | 61 | > **toggle**(): `Promise`\<`void`\> 62 | 63 | Changes the current [CameraProjection](../type-aliases/CameraProjection.md) from Ortographic to Perspective 64 | and vice versa. 65 | 66 | #### Returns 67 | 68 | `Promise`\<`void`\> 69 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/AttributeListener.md: -------------------------------------------------------------------------------- 1 | # AttributeListener 2 | 3 | Interface representing a map of attribute listeners. The keys are model UUIDs, and the values are objects with express IDs as keys, and objects with attribute names as keys, and Event objects as values. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/BCFViewpoint.md: -------------------------------------------------------------------------------- 1 | # BCFViewpoint 2 | 3 | Represents a viewpoint in a BCF file. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/CameraControllable.md: -------------------------------------------------------------------------------- 1 | # CameraControllable 2 | 3 | Whether a camera uses the Camera Controls library. 4 | 5 | ## Properties 6 | 7 | ### controls 8 | 9 | > **controls**: `CameraControls` 10 | 11 | An instance of CameraControls that provides camera control functionalities. 12 | This instance is used to manipulate the camera. 13 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/ChangeMap.md: -------------------------------------------------------------------------------- 1 | # ChangeMap 2 | 3 | Interface representing a map of changed entities in a model. The keys are model UUIDs, and the values are sets of express IDs of changed entities. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Classification.md: -------------------------------------------------------------------------------- 1 | # Classification 2 | 3 | Interface representing a classification system. The classification is organized by system and class name, and each class contains a map of fragment IDs with extra information. 4 | 5 | ## Indexable 6 | 7 | \[`system`: `string`\]: `object` 8 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Configurable.md: -------------------------------------------------------------------------------- 1 | # Configurable\ 2 | 3 | Whether this component supports to be configured. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | 8 | | :------ | 9 | | `T` | 10 | | `U` | 11 | 12 | ## Properties 13 | 14 | ### config 15 | 16 | > **config**: `Required`\<`T`\> 17 | 18 | Object holding the tool configuration. You can edit this directly to change the object. 19 | 20 | *** 21 | 22 | ### isSetup 23 | 24 | > **isSetup**: `boolean` 25 | 26 | Wether this components has been already configured. 27 | 28 | *** 29 | 30 | ### onSetup 31 | 32 | > `readonly` **onSetup**: [`Event`](../classes/Event.md)\<`any`\> 33 | 34 | Fired after successfully calling [()](Configurable.md#setup) 35 | 36 | *** 37 | 38 | ### setup() 39 | 40 | > **setup**: (`config`?) => `void` \| `Promise`\<`void`\> 41 | 42 | Use the provided configuration to set up the tool. 43 | 44 | #### Parameters 45 | 46 | | Parameter | Type | 47 | | :------ | :------ | 48 | | `config`? | `Partial`\<`U`\> | 49 | 50 | #### Returns 51 | 52 | `void` \| `Promise`\<`void`\> 53 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Createable.md: -------------------------------------------------------------------------------- 1 | # Createable 2 | 3 | Whether this component supports create and destroy operations. This generally applies for components that work with instances, such as clipping planes or dimensions. 4 | 5 | ## Properties 6 | 7 | ### cancelCreation()? 8 | 9 | > `optional` **cancelCreation**: (`data`) => `void` 10 | 11 | Cancels the creation process of the component, going back to the state 12 | before starting to create. 13 | 14 | #### Parameters 15 | 16 | | Parameter | Type | 17 | | :------ | :------ | 18 | | `data` | `any` | 19 | 20 | #### Returns 21 | 22 | `void` 23 | 24 | *** 25 | 26 | ### create() 27 | 28 | > **create**: (`data`) => `void` 29 | 30 | Creates a new instance of an element (e.g. a new Dimension). 31 | 32 | #### Parameters 33 | 34 | | Parameter | Type | 35 | | :------ | :------ | 36 | | `data` | `any` | 37 | 38 | #### Returns 39 | 40 | `void` 41 | 42 | *** 43 | 44 | ### delete() 45 | 46 | > **delete**: (`data`) => `void` 47 | 48 | Deletes an existing instance of an element (e.g. a Dimension). 49 | 50 | #### Parameters 51 | 52 | | Parameter | Type | 53 | | :------ | :------ | 54 | | `data` | `any` | 55 | 56 | #### Returns 57 | 58 | `void` 59 | 60 | *** 61 | 62 | ### endCreation()? 63 | 64 | > `optional` **endCreation**: (`data`) => `void` 65 | 66 | Finish the creation process of the component, successfully creating an 67 | instance of whatever the component creates. 68 | 69 | #### Parameters 70 | 71 | | Parameter | Type | 72 | | :------ | :------ | 73 | | `data` | `any` | 74 | 75 | #### Returns 76 | 77 | `void` 78 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Disposable.md: -------------------------------------------------------------------------------- 1 | # Disposable 2 | 3 | Whether this component has to be manually destroyed once you are done with it to prevent [memory leaks](https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects). This also ensures that the DOM events created by that component will be cleaned up. 4 | 5 | ## Extended by 6 | 7 | - [`World`](World.md) 8 | 9 | ## Properties 10 | 11 | ### dispose() 12 | 13 | > **dispose**: () => `void` \| `Promise`\<`void`\> 14 | 15 | Destroys the object from memory to prevent a 16 | [memory leak](https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects). 17 | 18 | #### Returns 19 | 20 | `void` \| `Promise`\<`void`\> 21 | 22 | *** 23 | 24 | ### onDisposed 25 | 26 | > `readonly` **onDisposed**: [`Event`](../classes/Event.md)\<`any`\> 27 | 28 | Fired after the tool has been disposed. 29 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/EntitiesRelatedEvent.md: -------------------------------------------------------------------------------- 1 | # EntitiesRelatedEvent 2 | 3 | Interface definition of an Entities Related Event from the IfcRelationsIndexer. This event gets triggered when two or more entities has been related with each other. 4 | 5 | ## Properties 6 | 7 | ### invAttribute 8 | 9 | > **invAttribute**: `"IsDecomposedBy"` \| `"Decomposes"` \| `"AssociatedTo"` \| `"HasAssociations"` \| `"ClassificationForObjects"` \| `"IsGroupedBy"` \| `"HasAssignments"` \| `"IsDefinedBy"` \| `"DefinesOcurrence"` \| `"IsTypedBy"` \| `"Types"` \| `"Defines"` \| `"ContainedInStructure"` \| `"ContainsElements"` \| `"HasControlElements"` \| `"AssignedToFlowElement"` \| `"ConnectedTo"` \| `"ConnectedFrom"` \| `"ReferencedBy"` \| `"Declares"` \| `"HasContext"` \| `"Controls"` \| `"IsNestedBy"` \| `"Nests"` \| `"DocumentRefForObjects"` 10 | 11 | The inverse attribute of the relation. 12 | 13 | *** 14 | 15 | ### relType 16 | 17 | > **relType**: `160246688` \| `279856033` \| `307848117` \| `781010003` \| `919958153` \| `982818633` \| `1204542856` \| `1307041759` \| `2495723537` \| `2565941209` \| `2655215786` \| `2857406711` \| `3242617779` \| `3268803585` \| `4186316022` 18 | 19 | The type of the IFC relation. 20 | 21 | *** 22 | 23 | ### relatedIDs 24 | 25 | > **relatedIDs**: `number`[] 26 | 27 | The IDs of the entities that are being related. 28 | 29 | *** 30 | 31 | ### relatingIDs 32 | 33 | > **relatingIDs**: `number`[] 34 | 35 | The IDs of the entities that are relating. 36 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Eventable.md: -------------------------------------------------------------------------------- 1 | # Eventable 2 | 3 | Whether it has events or not. 4 | 5 | ## Properties 6 | 7 | ### eventManager 8 | 9 | > **eventManager**: [`EventManager`](../classes/EventManager.md) 10 | 11 | The object in charge of managing all the events. 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Hideable.md: -------------------------------------------------------------------------------- 1 | # Hideable 2 | 3 | Whether the geometric representation of this component can be hidden or shown in the [Three.js scene](https://threejs.org/docs/#api/en/scenes/Scene). 4 | 5 | ## Properties 6 | 7 | ### visible 8 | 9 | > **visible**: `boolean` 10 | 11 | Whether the geometric representation of this component is 12 | currently visible or not in the 13 | [Three.js scene](https://threejs.org/docs/#api/en/scenes/Scene). 14 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/IDSCheckResult.md: -------------------------------------------------------------------------------- 1 | # IDSCheckResult 2 | 3 | Represents the result of a check performed by an IDSFacet test. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/IfcCategoryRule.md: -------------------------------------------------------------------------------- 1 | # IfcCategoryRule 2 | 3 | A rule for the [IfcFinder](../classes/IfcFinder.md) to search items based on their category. 4 | 5 | ## Properties 6 | 7 | ### type 8 | 9 | > **type**: `"category"` 10 | 11 | The type of this rule. All rules have a fixed type. 12 | 13 | *** 14 | 15 | ### value 16 | 17 | > **value**: `RegExp` 18 | 19 | The category value. It's a regular expression, so you can make complex queries and use ".*" to match all categories. 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/IfcOperatorRule.md: -------------------------------------------------------------------------------- 1 | # IfcOperatorRule 2 | 3 | A rule for the [IfcFinder](../classes/IfcFinder.md) to search items based on the value of a numeric property defined in their property sets. 4 | 5 | ## Properties 6 | 7 | ### name 8 | 9 | > **name**: `RegExp` 10 | 11 | The name of the property. It's a regular expression, so you can make complex queries and use ".*" to match all names. 12 | 13 | *** 14 | 15 | ### operator 16 | 17 | > **operator**: `"<"` \| `">"` \| `"="` \| `"<="` \| `">="` 18 | 19 | The operator to apply to the numeric value. 20 | 21 | *** 22 | 23 | ### type 24 | 25 | > **type**: `"operator"` 26 | 27 | The type of this rule. All rules have a fixed type. 28 | 29 | *** 30 | 31 | ### value 32 | 33 | > **value**: `number` 34 | 35 | The value of the property. 36 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/IfcPropertyRule.md: -------------------------------------------------------------------------------- 1 | # IfcPropertyRule 2 | 3 | A rule for the [IfcFinder](../classes/IfcFinder.md) to search items based on the properties defined in their property sets. 4 | 5 | ## Properties 6 | 7 | ### name 8 | 9 | > **name**: `RegExp` 10 | 11 | The name of the property. It's a regular expression, so you can make complex queries and use ".*" to match all names. 12 | 13 | *** 14 | 15 | ### type 16 | 17 | > **type**: `"property"` 18 | 19 | The type of this rule. All rules have a fixed type. 20 | 21 | *** 22 | 23 | ### value 24 | 25 | > **value**: `RegExp` 26 | 27 | The value of the property. It's a regular expression, so you can make complex queries and use ".*" to match all values. 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/MeasureEdge.md: -------------------------------------------------------------------------------- 1 | # MeasureEdge 2 | 3 | Represents an edge measurement result. 4 | 5 | ## Properties 6 | 7 | ### distance 8 | 9 | > **distance**: `number` 10 | 11 | The distance between the two points of the edge. 12 | 13 | *** 14 | 15 | ### points 16 | 17 | > **points**: `Vector3`[] 18 | 19 | The two points that define the edge. 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/MiniMapConfig.md: -------------------------------------------------------------------------------- 1 | # MiniMapConfig 2 | 3 | Configuration interface for the [MiniMap](../classes/MiniMap.md). 4 | 5 | ## Properties 6 | 7 | ### backgroundColor 8 | 9 | > **backgroundColor**: `Color` 10 | 11 | The color of the background of the minimap. 12 | 13 | *** 14 | 15 | ### frontOffset 16 | 17 | > **frontOffset**: `number` 18 | 19 | The front offset of the minimap. 20 | It determines how much the minimap's view is offset from the camera's view. 21 | By pushing the map to the front, what the user sees on screen corresponds with what they see on the map 22 | 23 | *** 24 | 25 | ### lockRotation 26 | 27 | > **lockRotation**: `boolean` 28 | 29 | Whether to lock the rotation of the top camera in the minimap. 30 | 31 | *** 32 | 33 | ### sizeX 34 | 35 | > **sizeX**: `number` 36 | 37 | The horizontal dimension of the minimap. 38 | 39 | *** 40 | 41 | ### sizeY 42 | 43 | > **sizeY**: `number` 44 | 45 | The vertical dimension of the minimap. 46 | 47 | *** 48 | 49 | ### visible 50 | 51 | > **visible**: `boolean` 52 | 53 | Whether the minimap is visible or not. 54 | 55 | *** 56 | 57 | ### zoom 58 | 59 | > **zoom**: `number` 60 | 61 | The zoom of the camera in the minimap. 62 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/NavigationMode.md: -------------------------------------------------------------------------------- 1 | # NavigationMode 2 | 3 | An object that determines the behavior of the camera controls and the user input (e.g. 2D floor plan mode, first person mode, etc). 4 | 5 | ## Properties 6 | 7 | ### enabled 8 | 9 | > **enabled**: `boolean` 10 | 11 | Whether this navigation mode is active or not. 12 | 13 | *** 14 | 15 | ### id 16 | 17 | > **id**: [`NavModeID`](../type-aliases/NavModeID.md) 18 | 19 | The unique ID of this navigation mode. 20 | 21 | *** 22 | 23 | ### set() 24 | 25 | > **set**: (`active`, `options`?) => `void` 26 | 27 | Enable or disable this navigation mode. 28 | When a new navigation mode is enabled, the previous navigation mode 29 | must be disabled. 30 | 31 | #### Parameters 32 | 33 | | Parameter | Type | Description | 34 | | :------ | :------ | :------ | 35 | | `active` | `boolean` | whether to enable or disable this mode. | 36 | | `options`? | `any` | any additional data required to enable or disable it. | 37 | 38 | #### Returns 39 | 40 | `void` 41 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Progress.md: -------------------------------------------------------------------------------- 1 | # Progress 2 | 3 | Basic type to describe the progress of any kind of process. 4 | 5 | ## Properties 6 | 7 | ### current 8 | 9 | > **current**: `number` 10 | 11 | The amount of things that have been done already. 12 | 13 | *** 14 | 15 | ### total 16 | 17 | > **total**: `number` 18 | 19 | The total amount of things to be done by the process. 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Resizeable.md: -------------------------------------------------------------------------------- 1 | # Resizeable 2 | 3 | Whether this component can be resized. The meaning of this can vary depending on the component: resizing a [Renderer](https://threejs.org/docs/#api/en/renderers/WebGLRenderer) component could mean changing its resolution, whereas resizing a [Mesh](https://threejs.org/docs/#api/en/objects/Mesh) would change its scale. 4 | 5 | ## Properties 6 | 7 | ### getSize() 8 | 9 | > **getSize**: () => `Vector2` 10 | 11 | Gets the current size of this component (e.g. the resolution of a 12 | [Renderer](https://threejs.org/docs/#api/en/renderers/WebGLRenderer) 13 | component. 14 | 15 | #### Returns 16 | 17 | `Vector2` 18 | 19 | *** 20 | 21 | ### onResize 22 | 23 | > **onResize**: [`Event`](../classes/Event.md)\<`Vector2`\> 24 | 25 | Event that fires when the component has been resized. 26 | 27 | *** 28 | 29 | ### resize() 30 | 31 | > **resize**: (`size`?) => `void` 32 | 33 | Sets size of this component (e.g. the resolution of a 34 | [Renderer](https://threejs.org/docs/#api/en/renderers/WebGLRenderer) 35 | component. 36 | 37 | #### Parameters 38 | 39 | | Parameter | Type | 40 | | :------ | :------ | 41 | | `size`? | `Vector2` | 42 | 43 | #### Returns 44 | 45 | `void` 46 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/ShadowedSceneConfig.md: -------------------------------------------------------------------------------- 1 | # ShadowedSceneConfig 2 | 3 | Configuration interface for the [ShadowedScene](../classes/ShadowedScene.md). Defines properties for directional and ambient lights, as well as shadows. 4 | 5 | ## Extends 6 | 7 | - [`SimpleSceneConfig`](SimpleSceneConfig.md) 8 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/SimpleGridConfig.md: -------------------------------------------------------------------------------- 1 | # SimpleGridConfig 2 | 3 | Configuration interface for the [SimpleGrid](../classes/SimpleGrid.md). 4 | 5 | ## Properties 6 | 7 | ### color 8 | 9 | > **color**: `Color` 10 | 11 | The color of the grid lines. 12 | 13 | *** 14 | 15 | ### distance 16 | 17 | > **distance**: `number` 18 | 19 | The distance at which the grid lines start to fade away. 20 | 21 | *** 22 | 23 | ### primarySize 24 | 25 | > **primarySize**: `number` 26 | 27 | The size of the primary grid lines. 28 | 29 | *** 30 | 31 | ### secondarySize 32 | 33 | > **secondarySize**: `number` 34 | 35 | The size of the secondary grid lines. 36 | 37 | *** 38 | 39 | ### visible 40 | 41 | > **visible**: `boolean` 42 | 43 | Whether the grid is visible or not. 44 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/SimpleSceneConfig.md: -------------------------------------------------------------------------------- 1 | # SimpleSceneConfig 2 | 3 | Configuration interface for the [SimpleScene](../classes/SimpleScene.md). 4 | 5 | ## Extended by 6 | 7 | - [`ShadowedSceneConfig`](ShadowedSceneConfig.md) 8 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/StreamedAsset.md: -------------------------------------------------------------------------------- 1 | # StreamedAsset 2 | 3 | A streamed asset, which consists of multiple geometries. Each geometry in the asset is identified by a unique number (geometryID), and contains information about its transformation and color. 4 | 5 | ## Properties 6 | 7 | ### geometries 8 | 9 | > **geometries**: `object`[] 10 | 11 | An array of geometries associated with the asset. 12 | 13 | *** 14 | 15 | ### id 16 | 17 | > **id**: `number` 18 | 19 | The unique identifier of the asset. 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/StreamedGeometries.md: -------------------------------------------------------------------------------- 1 | # StreamedGeometries 2 | 3 | A dictionary of geometries streamed from a server. Each geometry is identified by a unique number (id), and contains information about its bounding box, whether it has holes, and an optional file path for the geometry data. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/Updateable.md: -------------------------------------------------------------------------------- 1 | # Updateable 2 | 3 | Whether this component should be updated each frame. 4 | 5 | ## Extended by 6 | 7 | - [`World`](World.md) 8 | 9 | ## Properties 10 | 11 | ### onAfterUpdate 12 | 13 | > **onAfterUpdate**: [`Event`](../classes/Event.md)\<`any`\> 14 | 15 | Actions that should be executed after updating the component. 16 | 17 | *** 18 | 19 | ### onBeforeUpdate 20 | 21 | > **onBeforeUpdate**: [`Event`](../classes/Event.md)\<`any`\> 22 | 23 | Actions that should be executed before updating the component. 24 | 25 | ## Methods 26 | 27 | ### update() 28 | 29 | > **update**(`delta`?): `void` 30 | 31 | Function used to update the state of this component each frame. For 32 | instance, a renderer component will make a render each frame. 33 | 34 | #### Parameters 35 | 36 | | Parameter | Type | 37 | | :------ | :------ | 38 | | `delta`? | `number` | 39 | 40 | #### Returns 41 | 42 | `void` 43 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/interfaces/VertexPickerConfig.md: -------------------------------------------------------------------------------- 1 | # VertexPickerConfig 2 | 3 | Configuration interface for the VertexPicker component. 4 | 5 | ## Properties 6 | 7 | ### previewElement 8 | 9 | > **previewElement**: `HTMLElement` 10 | 11 | The HTML element to use for previewing the picked vertex. 12 | 13 | *** 14 | 15 | ### showOnlyVertex 16 | 17 | > **showOnlyVertex**: `boolean` 18 | 19 | If true, only vertices will be picked, not the closest point on the face. 20 | 21 | *** 22 | 23 | ### snapDistance 24 | 25 | > **snapDistance**: `number` 26 | 27 | The maximum distance for snapping to a vertex. 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/BooleanPropTypes.md: -------------------------------------------------------------------------------- 1 | # BooleanPropTypes 2 | 3 | > **BooleanPropTypes**: `"IfcBoolean"` \| `"IfcLogical"` 4 | 5 | Types for boolean properties in IFC schema. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/CameraProjection.md: -------------------------------------------------------------------------------- 1 | # CameraProjection 2 | 3 | > **CameraProjection**: `"Perspective"` \| `"Orthographic"` 4 | 5 | The projection system of the camera. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/IfcFinderRule.md: -------------------------------------------------------------------------------- 1 | # IfcFinderRule 2 | 3 | > **IfcFinderRule**: [`IfcCategoryRule`](../interfaces/IfcCategoryRule.md) \| [`IfcPropertyRule`](../interfaces/IfcPropertyRule.md) \| [`IfcOperatorRule`](../interfaces/IfcOperatorRule.md) 4 | 5 | The type of rules that can be used in the queries of the [IfcFinder](../classes/IfcFinder.md). 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/IfcRelations.md: -------------------------------------------------------------------------------- 1 | # IfcRelations 2 | 3 | > **IfcRelations**: [*typeof* `WEBIFC.IFCRELAGGREGATES`, *typeof* `WEBIFC.IFCRELASSOCIATESMATERIAL`, *typeof* `WEBIFC.IFCRELASSOCIATESCLASSIFICATION`, *typeof* `WEBIFC.IFCRELASSIGNSTOGROUP`, *typeof* `WEBIFC.IFCRELDEFINESBYPROPERTIES`, *typeof* `WEBIFC.IFCRELDEFINESBYTYPE`, *typeof* `WEBIFC.IFCRELDEFINESBYTEMPLATE`, *typeof* `WEBIFC.IFCRELCONTAINEDINSPATIALSTRUCTURE`, *typeof* `WEBIFC.IFCRELFLOWCONTROLELEMENTS`, *typeof* `WEBIFC.IFCRELCONNECTSELEMENTS`, *typeof* `WEBIFC.IFCRELASSIGNSTOPRODUCT`, *typeof* `WEBIFC.IFCRELDECLARES`, *typeof* `WEBIFC.IFCRELASSIGNSTOCONTROL`, *typeof* `WEBIFC.IFCRELNESTS`, *typeof* `WEBIFC.IFCRELASSOCIATESDOCUMENT`] 4 | 5 | Type alias for an array of IfcRelation types from WebIfc. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/InverseAttributes.md: -------------------------------------------------------------------------------- 1 | # InverseAttributes 2 | 3 | > **InverseAttributes**: [`"IsDecomposedBy"`, `"Decomposes"`, `"AssociatedTo"`, `"HasAssociations"`, `"ClassificationForObjects"`, `"IsGroupedBy"`, `"HasAssignments"`, `"IsDefinedBy"`, `"DefinesOcurrence"`, `"IsTypedBy"`, `"Types"`, `"Defines"`, `"ContainedInStructure"`, `"ContainsElements"`, `"HasControlElements"`, `"AssignedToFlowElement"`, `"ConnectedTo"`, `"ConnectedFrom"`, `"ReferencedBy"`, `"Declares"`, `"HasContext"`, `"Controls"`, `"IsNestedBy"`, `"Nests"`, `"DocumentRefForObjects"`] 4 | 5 | Type alias for an array of inverse attribute names. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/NavModeID.md: -------------------------------------------------------------------------------- 1 | # NavModeID 2 | 3 | > **NavModeID**: `"Orbit"` \| `"FirstPerson"` \| `"Plan"` 4 | 5 | The extensible list of supported navigation modes. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/NumericPropTypes.md: -------------------------------------------------------------------------------- 1 | # NumericPropTypes 2 | 3 | > **NumericPropTypes**: `"IfcInteger"` \| `"IfcReal"` 4 | 5 | Types for numeric properties in IFC schema. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/SerializedQuery.md: -------------------------------------------------------------------------------- 1 | # SerializedQuery 2 | 3 | > **SerializedQuery**: `object` 4 | 5 | The data type used when the queries of the [IfcFinder](../classes/IfcFinder.md) export or import query data to persist it. 6 | 7 | ## Type declaration 8 | 9 | ### ids 10 | 11 | > **ids**: `object` 12 | 13 | [IfcFinderQuery.ids](../classes/IfcFinderQuery.md#ids) 14 | 15 | #### Index signature 16 | 17 | \[`modelID`: `string`\]: `number`[] 18 | 19 | ### inclusive 20 | 21 | > **inclusive**: `boolean` 22 | 23 | [IfcFinderQuery.inclusive](../classes/IfcFinderQuery.md#inclusive) 24 | 25 | ### name 26 | 27 | > **name**: `string` 28 | 29 | [IfcFinderQuery.name](../classes/IfcFinderQuery.md#name) 30 | 31 | ### rules 32 | 33 | > **rules**: `object`[] 34 | 35 | [IfcFinderQuery.rules](../classes/IfcFinderQuery.md#rules) 36 | 37 | ### type 38 | 39 | > **type**: `string` 40 | 41 | The type of query. 42 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/type-aliases/StringPropTypes.md: -------------------------------------------------------------------------------- 1 | # StringPropTypes 2 | 3 | > **StringPropTypes**: `"IfcText"` \| `"IfcLabel"` \| `"IfcIdentifier"` 4 | 5 | Types for string properties in IFC schema. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/variables/GeometryTypes.md: -------------------------------------------------------------------------------- 1 | # GeometryTypes 2 | 3 | > `const` **GeometryTypes**: `Set`\<`number`\> 4 | 5 | A Set of unique numbers representing different types of IFC geometries. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/variables/IfcCategoryMap.md: -------------------------------------------------------------------------------- 1 | # IfcCategoryMap 2 | 3 | > `const` **IfcCategoryMap**: `object` 4 | 5 | A map that associates each unique integer identifier (IFC Entity ID) with its corresponding category name. This map is used to map IFC entities to their respective categories for easier identification and processing. 6 | 7 | ## Index signature 8 | 9 | \[`key`: `number`\]: `string` 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/components/variables/IfcElements.md: -------------------------------------------------------------------------------- 1 | # IfcElements 2 | 3 | > `const` **IfcElements**: `object` 4 | 5 | A map of IFC element types to their corresponding names. The keys are the IFC entity type numbers, and the values are the names of the IFC entities. 6 | 7 | ## Remarks 8 | 9 | This map is used to provide a mapping between IFC entity type numbers and their names. 10 | It is useful for identifying and processing different types of IFC elements in a project. 11 | 12 | ## Index signature 13 | 14 | \[`key`: `number`\]: `string` 15 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/classes/IfcImporter.md: -------------------------------------------------------------------------------- 1 | # IfcImporter 2 | 3 | An objet to convert IFC files into fragments. 4 | 5 | ## Properties 6 | 7 | ### attrsToExclude 8 | 9 | > **attrsToExclude**: `Set`\<`string`\> 10 | 11 | A set of attribute names to exclude from serialization. 12 | By default excludes "Representation" and "ObjectPlacement" attributes. 13 | 14 | *** 15 | 16 | ### wasm 17 | 18 | > **wasm**: `object` 19 | 20 | Configuration for the web-ifc WASM module 21 | 22 | #### absolute 23 | 24 | > **absolute**: `boolean` = `false` 25 | 26 | #### path 27 | 28 | > **path**: `string` = `"/node_modules/web-ifc/"` 29 | 30 | ## Methods 31 | 32 | ### process() 33 | 34 | > **process**(`data`): `Promise`\<`Uint8Array`\> 35 | 36 | Processes IFC data and converts it into a fragments format. 37 | 38 | #### Parameters 39 | 40 | | Parameter | Type | Description | 41 | | :------ | :------ | :------ | 42 | | `data` | `object` | Configuration object for processing. | 43 | | `data.bytes`? | `Uint8Array` | Raw IFC file data as Uint8Array. | 44 | | `data.raw`? | `boolean` | Whether to return raw uncompressed data. If false, the output fragments will be smaller. | 45 | | `data.readCallback`? | `any` | Callback function to read IFC data. Useful for node.js. | 46 | | `data.readFromCallback`? | `boolean` | Whether to read data from a callback function. Useful for node.js. | 47 | 48 | #### Returns 49 | 50 | `Promise`\<`Uint8Array`\> 51 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/enumerations/CurrentLod.md: -------------------------------------------------------------------------------- 1 | # CurrentLod 2 | 3 | Enum representing the current level of detail (LOD) for a mesh. 4 | 5 | ## Enumeration Members 6 | 7 | | Enumeration Member | Value | Description | 8 | | :------ | :------ | :------ | 9 | | `GEOMETRY` | `0` | Represents the full geometry of the model | 10 | | `INVISIBLE` | `2` | Represents the invisible representation of the model | 11 | | `WIRES` | `1` | Represents the wireframe representation of the model | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/enumerations/ItemConfigClass.md: -------------------------------------------------------------------------------- 1 | # ItemConfigClass 2 | 3 | Enum representing the configuration class for an item in a Fragments model. 4 | 5 | ## Enumeration Members 6 | 7 | | Enumeration Member | Value | Description | 8 | | :------ | :------ | :------ | 9 | | `VISIBLE` | `0` | Represents the visibility configuration for an item | 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/enumerations/SnappingClass.md: -------------------------------------------------------------------------------- 1 | # SnappingClass 2 | 3 | Enum representing the snapping class for a raycast operation. 4 | 5 | ## Enumeration Members 6 | 7 | | Enumeration Member | Value | Description | 8 | | :------ | :------ | :------ | 9 | | `FACE` | `2` | Represents a face snapping class | 10 | | `LINE` | `1` | Represents a line snapping class | 11 | | `POINT` | `0` | Represents a point snapping class | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/functions/getObject.md: -------------------------------------------------------------------------------- 1 | # getObject() 2 | 3 | > **getObject**(`obj`, `result`): `void` 4 | 5 | Recursively converts a Flatbuffers object into a plain JavaScript object. This function traverses the prototype chain of the Flatbuffers object and extracts all properties and their values, handling both primitive values and nested objects/arrays. 6 | 7 | ## Parameters 8 | 9 | | Parameter | Type | Description | 10 | | :------ | :------ | :------ | 11 | | `obj` | `any` | The Flatbuffers object to convert | 12 | | `result` | `any` | The target plain JavaScript object where the converted properties will be stored | 13 | 14 | ## Returns 15 | 16 | `void` 17 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/Attributes.md: -------------------------------------------------------------------------------- 1 | # Attributes 2 | 3 | Interface representing the attributes of a model item. 4 | 5 | ## Indexable 6 | 7 | \[`name`: `string`\]: `any` 8 | 9 | ## Properties 10 | 11 | ### category? 12 | 13 | > `optional` **category**: `number` 14 | 15 | Optional category identifier 16 | 17 | *** 18 | 19 | ### guid? 20 | 21 | > `optional` **guid**: `string` 22 | 23 | Optional globally unique identifier 24 | 25 | *** 26 | 27 | ### localId 28 | 29 | > **localId**: `number` 30 | 31 | Unique local identifier for the item 32 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/ItemAttribute.md: -------------------------------------------------------------------------------- 1 | # ItemAttribute 2 | 3 | Interface representing the attributes of an item in a Fragments model. 4 | 5 | ## Properties 6 | 7 | ### type? 8 | 9 | > `optional` **type**: `string` 10 | 11 | Optional type identifier for the attribute value 12 | 13 | *** 14 | 15 | ### value 16 | 17 | > **value**: `any` 18 | 19 | The value of the attribute, which can be any type 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/ItemData.md: -------------------------------------------------------------------------------- 1 | # ItemData 2 | 3 | Interface representing the data of an item in a Fragments model. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/ItemsDataConfig.md: -------------------------------------------------------------------------------- 1 | # ItemsDataConfig 2 | 3 | Interface representing the configuration for item data in a Fragments model. 4 | 5 | ## Properties 6 | 7 | ### attributes? 8 | 9 | > `optional` **attributes**: `string`[] 10 | 11 | An array of attribute names to include in the item data. 12 | 13 | *** 14 | 15 | ### attributesDefault 16 | 17 | > **attributesDefault**: `boolean` 18 | 19 | A boolean indicating whether to include default attributes in the item data. 20 | 21 | *** 22 | 23 | ### relations? 24 | 25 | > `optional` **relations**: `Record`\<`string`, `object`\> 26 | 27 | A record of relation names to their configuration. 28 | 29 | *** 30 | 31 | ### relationsDefault 32 | 33 | > **relationsDefault**: `object` 34 | 35 | The default configuration for relations. 36 | 37 | #### attributes 38 | 39 | > **attributes**: `boolean` 40 | 41 | #### relations 42 | 43 | > **relations**: `boolean` 44 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/MappedInformationResult.md: -------------------------------------------------------------------------------- 1 | # MappedInformationResult 2 | 3 | Interface representing the result of an information query for a specific item type. 4 | 5 | ## Template 6 | 7 | The type of item information to query. 8 | 9 | ## Properties 10 | 11 | ### attributes 12 | 13 | > **attributes**: (`null` \| `Record`\<`string`, `object`\>)[] 14 | 15 | An array of attribute records for the item. 16 | Each record contains a string key and a value of type any. 17 | 18 | *** 19 | 20 | ### category 21 | 22 | > **category**: `string`[] 23 | 24 | An array of category strings for the item. 25 | 26 | *** 27 | 28 | ### children 29 | 30 | > **children**: `number`[] 31 | 32 | An array of child item IDs for the item. 33 | 34 | *** 35 | 36 | ### data 37 | 38 | > **data**: [`ItemData`](ItemData.md)[] 39 | 40 | An array of data records for the item. 41 | 42 | *** 43 | 44 | ### geometry 45 | 46 | > **geometry**: [`MeshData`](../type-aliases/MeshData.md)[][] 47 | 48 | An array of geometry data for the item. 49 | 50 | *** 51 | 52 | ### guid 53 | 54 | > **guid**: (`null` \| `string`)[] 55 | 56 | An array of GUID strings for the item. 57 | 58 | *** 59 | 60 | ### highlight 61 | 62 | > **highlight**: [`MaterialDefinition`](../type-aliases/MaterialDefinition.md)[] 63 | 64 | An array of highlight materials for the item. 65 | 66 | *** 67 | 68 | ### mergedBoxes 69 | 70 | > **mergedBoxes**: `Box3` 71 | 72 | The merged bounding box for the item. 73 | 74 | *** 75 | 76 | ### relations 77 | 78 | > **relations**: (`null` \| `Record`\<`string`, `number`[]\>)[] 79 | 80 | An array of relation records for the item. 81 | 82 | *** 83 | 84 | ### visibility 85 | 86 | > **visibility**: `boolean`[] 87 | 88 | An array of visibility flags for the item. 89 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/MappedResultInput.md: -------------------------------------------------------------------------------- 1 | # MappedResultInput 2 | 3 | Interface representing the input for a result query in a Fragments model. 4 | 5 | ## Template 6 | 7 | The type of item information to query. 8 | 9 | ## Properties 10 | 11 | ### data 12 | 13 | > **data**: `Partial` \<[`ItemsDataConfig`](ItemsDataConfig.md)\> 14 | 15 | A partial configuration for item data. 16 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/MappedSelectionInput.md: -------------------------------------------------------------------------------- 1 | # MappedSelectionInput 2 | 3 | Interface representing the input for a selection query in a Fragments model. 4 | 5 | ## Properties 6 | 7 | ### ofCategory 8 | 9 | > **ofCategory**: `string` 10 | 11 | The category of the item to select. 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/ModelIdMap.md: -------------------------------------------------------------------------------- 1 | # ModelIdMap 2 | 3 | Interface representing a map of model IDs to their corresponding local IDs. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/RaycastData.md: -------------------------------------------------------------------------------- 1 | # RaycastData 2 | 3 | Interface representing the data for a raycast operation. 4 | 5 | ## Properties 6 | 7 | ### camera 8 | 9 | > **camera**: `PerspectiveCamera` \| `OrthographicCamera` 10 | 11 | The camera used for the raycast 12 | 13 | *** 14 | 15 | ### dom 16 | 17 | > **dom**: `HTMLCanvasElement` 18 | 19 | The DOM element where the scene is rendered 20 | 21 | *** 22 | 23 | ### mouse 24 | 25 | > **mouse**: `Vector2` 26 | 27 | The mouse position 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/RaycastResult.md: -------------------------------------------------------------------------------- 1 | # RaycastResult 2 | 3 | Interface representing the result of a raycast operation. 4 | 5 | ## Properties 6 | 7 | ### distance 8 | 9 | > **distance**: `number` 10 | 11 | The distance of the raycast 12 | 13 | *** 14 | 15 | ### fragments 16 | 17 | > **fragments**: [`FragmentsModel`](../classes/FragmentsModel.md) 18 | 19 | The Fragments model that was hit 20 | 21 | *** 22 | 23 | ### frustum 24 | 25 | > **frustum**: `Frustum` 26 | 27 | The frustum used for the raycast 28 | 29 | *** 30 | 31 | ### itemId 32 | 33 | > **itemId**: `number` 34 | 35 | The item ID 36 | 37 | *** 38 | 39 | ### localId 40 | 41 | > **localId**: `number` 42 | 43 | The local ID of the item 44 | 45 | *** 46 | 47 | ### normal? 48 | 49 | > `optional` **normal**: `Vector3` 50 | 51 | The normal of the raycast 52 | 53 | *** 54 | 55 | ### object 56 | 57 | > **object**: `Object3D`\<`Object3DEventMap`\> 58 | 59 | The object that was hit 60 | 61 | *** 62 | 63 | ### point 64 | 65 | > **point**: `Vector3` 66 | 67 | The point of the raycast 68 | 69 | *** 70 | 71 | ### ray? 72 | 73 | > `optional` **ray**: `Ray` 74 | 75 | The ray used for the raycast 76 | 77 | *** 78 | 79 | ### rayDistance? 80 | 81 | > `optional` **rayDistance**: `number` 82 | 83 | The distance of the raycast from the ray origin 84 | 85 | *** 86 | 87 | ### representationClass 88 | 89 | > **representationClass**: `RepresentationClass` 90 | 91 | The representation class of the raycast 92 | 93 | *** 94 | 95 | ### snappedEdgeP1? 96 | 97 | > `optional` **snappedEdgeP1**: `Vector3` 98 | 99 | The first edge of the snapped edge 100 | 101 | *** 102 | 103 | ### snappedEdgeP2? 104 | 105 | > `optional` **snappedEdgeP2**: `Vector3` 106 | 107 | The second edge of the snapped edge 108 | 109 | *** 110 | 111 | ### snappingClass 112 | 113 | > **snappingClass**: [`SnappingClass`](../enumerations/SnappingClass.md) 114 | 115 | The snapping class of the raycast 116 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/RectangleRaycastData.md: -------------------------------------------------------------------------------- 1 | # RectangleRaycastData 2 | 3 | Interface representing the data for a rectangle raycast operation. 4 | 5 | ## Properties 6 | 7 | ### bottomRight 8 | 9 | > **bottomRight**: `Vector2` 10 | 11 | The bottom right corner of the rectangle 12 | 13 | *** 14 | 15 | ### camera 16 | 17 | > **camera**: `PerspectiveCamera` \| `OrthographicCamera` 18 | 19 | The camera used for the raycast 20 | 21 | *** 22 | 23 | ### dom 24 | 25 | > **dom**: `HTMLCanvasElement` 26 | 27 | The DOM element where the scene is rendered 28 | 29 | *** 30 | 31 | ### fullyIncluded 32 | 33 | > **fullyIncluded**: `boolean` 34 | 35 | Whether the rectangle is fully included in the view 36 | 37 | *** 38 | 39 | ### topLeft 40 | 41 | > **topLeft**: `Vector2` 42 | 43 | The top left corner of the rectangle 44 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/RectangleRaycastResult.md: -------------------------------------------------------------------------------- 1 | # RectangleRaycastResult 2 | 3 | Interface representing the result of a rectangle raycast operation. 4 | 5 | ## Properties 6 | 7 | ### fragments 8 | 9 | > **fragments**: [`FragmentsModel`](../classes/FragmentsModel.md) 10 | 11 | The Fragments model that was hit 12 | 13 | *** 14 | 15 | ### localIds 16 | 17 | > **localIds**: `number`[] 18 | 19 | The local IDs of the items 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/RelsModifyChange.md: -------------------------------------------------------------------------------- 1 | # RelsModifyChange 2 | 3 | Interface representing a change event when relations are modified in a model item. 4 | 5 | ## Properties 6 | 7 | ### added 8 | 9 | > **added**: `Record`\<`string`, `Set`\<`number`\>\> 10 | 11 | Record containing the newly added relation data 12 | 13 | *** 14 | 15 | ### deleted 16 | 17 | > **deleted**: `Set`\<`string`\> 18 | 19 | Set of strings representing the deleted relation keys 20 | 21 | *** 22 | 23 | ### modified 24 | 25 | > **modified**: `Record`\<`string`, `Set`\<`number`\>\> 26 | 27 | Record containing the modified relation data 28 | 29 | *** 30 | 31 | ### removed 32 | 33 | > **removed**: `Record`\<`string`, `Set`\<`number`\>\> 34 | 35 | Record containing the removed relation data 36 | 37 | *** 38 | 39 | ### type 40 | 41 | > **type**: `"modified"` 42 | 43 | Indicates this is a "modified" type change 44 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/SpatialTreeItem.md: -------------------------------------------------------------------------------- 1 | # SpatialTreeItem 2 | 3 | Interface representing an item in a spatial tree. 4 | 5 | ## Properties 6 | 7 | ### category 8 | 9 | > **category**: `null` \| `string` 10 | 11 | The category of the item 12 | 13 | *** 14 | 15 | ### children? 16 | 17 | > `optional` **children**: [`SpatialTreeItem`](SpatialTreeItem.md)[] 18 | 19 | The children of the item 20 | 21 | *** 22 | 23 | ### localId 24 | 25 | > **localId**: `null` \| `number` 26 | 27 | The local ID of the item 28 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/VirtualModelConfig.md: -------------------------------------------------------------------------------- 1 | # VirtualModelConfig 2 | 3 | Interface representing the configuration for a virtual model. 4 | 5 | ## Properties 6 | 7 | ### properties? 8 | 9 | > `optional` **properties**: [`VirtualPropertiesConfig`](VirtualPropertiesConfig.md) 10 | 11 | Optional properties configuration for the virtual model 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/interfaces/VirtualPropertiesConfig.md: -------------------------------------------------------------------------------- 1 | # VirtualPropertiesConfig 2 | 3 | Interface representing the configuration for virtual properties in a Fragments model. 4 | 5 | ## Properties 6 | 7 | ### extraRelations? 8 | 9 | > `optional` **extraRelations**: `object`[] 10 | 11 | An array of extra relations to include in the virtual model 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/AttributeData.md: -------------------------------------------------------------------------------- 1 | # AttributeData 2 | 3 | > **AttributeData**: `object` 4 | 5 | Represents attribute data for a model item. 6 | 7 | ## Type declaration 8 | 9 | ### type? 10 | 11 | > `optional` **type**: `number` 12 | 13 | Optional type identifier for the attribute value 14 | 15 | ### value 16 | 17 | > **value**: `any` 18 | 19 | The value of the attribute, which can be any type 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/AttrsChange.md: -------------------------------------------------------------------------------- 1 | # AttrsChange 2 | 3 | > **AttrsChange**: `AttrsDeleteChange` \| `AttrsModifyChange` \| `AttrsAddChange` 4 | 5 | Union type representing all possible attribute change types. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/BIMMaterial.md: -------------------------------------------------------------------------------- 1 | # BIMMaterial 2 | 3 | > **BIMMaterial**: `LodMaterial` \| `THREE.MeshLambertMaterial` 4 | 5 | Union type representing all possible material types. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/BIMMesh.md: -------------------------------------------------------------------------------- 1 | # BIMMesh 2 | 3 | > **BIMMesh**: `THREE.Mesh` \| `LODMesh` 4 | 5 | Union type representing all possible mesh types. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/DataBuffer.md: -------------------------------------------------------------------------------- 1 | # DataBuffer 2 | 3 | > **DataBuffer**: `Float32Array` \| `Uint8ClampedArray` \| `Int32Array` \| `Uint8Array` \| `Uint32Array` \| `Float64Array` \| `Int8Array` \| `Uint16Array` \| `Int16Array` 4 | 5 | Union type representing all possible data buffer types. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/Identifier.md: -------------------------------------------------------------------------------- 1 | # Identifier 2 | 3 | > **Identifier**: `string` \| `number` 4 | 5 | Type representing a unique identifier for a model item. This can be either a string or a number. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/InformationResultType.md: -------------------------------------------------------------------------------- 1 | # InformationResultType\ 2 | 3 | > **InformationResultType**\<`T`\>: [`MappedInformationResult`](../interfaces/MappedInformationResult.md)\[`T`\] 4 | 5 | Type representing the result of an information query for a specific item type. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | Description | 10 | | :------ | :------ | 11 | | `T` *extends* [`ItemInformationType`](ItemInformationType.md) | The type of item information to query. | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/ItemInformationType.md: -------------------------------------------------------------------------------- 1 | # ItemInformationType 2 | 3 | > **ItemInformationType**: `"data"` \| `"attributes"` \| `"relations"` \| `"guid"` \| `"category"` \| `"geometry"` \| `"visibility"` \| `"highlight"` \| `"mergedBoxes"` \| `"children"` 4 | 5 | Union type representing all possible item information types. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/ItemSelectionType.md: -------------------------------------------------------------------------------- 1 | # ItemSelectionType 2 | 3 | > **ItemSelectionType**: `"withCondition"` \| `"ofCategory"` \| `"withGeometry"` \| `"children"` \| `"withVisiblity"` \| `"highlighted"` 4 | 5 | Union type representing all possible item selection types. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/MaterialDefinition.md: -------------------------------------------------------------------------------- 1 | # MaterialDefinition 2 | 3 | > **MaterialDefinition**: `object` 4 | 5 | Interface representing the definition of a material. 6 | 7 | ## Type declaration 8 | 9 | ### color 10 | 11 | > **color**: `THREE.Color` 12 | 13 | The color of the material 14 | 15 | ### customId? 16 | 17 | > `optional` **customId**: `string` 18 | 19 | An optional custom ID for the material 20 | 21 | ### opacity 22 | 23 | > **opacity**: `number` 24 | 25 | The opacity of the material 26 | 27 | ### renderedFaces 28 | 29 | > **renderedFaces**: `RenderedFaces` 30 | 31 | The faces rendered by the material 32 | 33 | ### transparent 34 | 35 | > **transparent**: `boolean` 36 | 37 | Whether the material is transparent 38 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/MeshData.md: -------------------------------------------------------------------------------- 1 | # MeshData 2 | 3 | > **MeshData**: `object` 4 | 5 | Interface representing the data of a mesh. 6 | 7 | ## Type declaration 8 | 9 | ### indices? 10 | 11 | > `optional` **indices**: `Uint8Array` \| `Uint16Array` \| `Uint32Array` 12 | 13 | The indices of the mesh 14 | 15 | ### normals? 16 | 17 | > `optional` **normals**: `Int16Array` 18 | 19 | The normals of the mesh 20 | 21 | ### positions? 22 | 23 | > `optional` **positions**: `Float32Array` \| `Float64Array` 24 | 25 | The positions of the mesh 26 | 27 | ### transform 28 | 29 | > **transform**: `THREE.Matrix4` 30 | 31 | The transformation matrix of the mesh 32 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/RelsChange.md: -------------------------------------------------------------------------------- 1 | # RelsChange 2 | 3 | > **RelsChange**: [`RelsModifyChange`](../interfaces/RelsModifyChange.md) 4 | 5 | Union type representing all possible relation change types. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/ResultInputType.md: -------------------------------------------------------------------------------- 1 | # ResultInputType\ 2 | 3 | > **ResultInputType**\<`T`\>: `T` *extends* keyof [`MappedResultInput`](../interfaces/MappedResultInput.md) ? [`MappedResultInput`](../interfaces/MappedResultInput.md)\[`T`\] : `never` 4 | 5 | Union type representing all possible result input types. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | 10 | | :------ | 11 | | `T` *extends* [`ItemInformationType`](ItemInformationType.md) | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/type-aliases/SelectionInputType.md: -------------------------------------------------------------------------------- 1 | # SelectionInputType\ 2 | 3 | > **SelectionInputType**\<`T`\>: `T` *extends* keyof [`MappedSelectionInput`](../interfaces/MappedSelectionInput.md) ? [`MappedSelectionInput`](../interfaces/MappedSelectionInput.md)\[`T`\] : `never` 4 | 5 | Union type representing all possible selection input types. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | 10 | | :------ | 11 | | `T` *extends* [`ItemSelectionType`](ItemSelectionType.md) | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/variables/ifcCategoryMap.md: -------------------------------------------------------------------------------- 1 | # ifcCategoryMap 2 | 3 | > `const` **ifcCategoryMap**: `object` 4 | 5 | A map that associates each unique integer identifier (IFC Entity ID) with its corresponding category name. This map is used to map IFC entities to their respective categories for easier identification and processing. 6 | 7 | ## Index signature 8 | 9 | \[`key`: `number`\]: `string` 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/fragments/variables/limitOf2Bytes.md: -------------------------------------------------------------------------------- 1 | # limitOf2Bytes 2 | 3 | > `const` **limitOf2Bytes**: `65536` = `0x10000` 4 | 5 | The maximum value for a 2-byte unsigned integer. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui-obc/classes/Manager.md: -------------------------------------------------------------------------------- 1 | # Manager 2 | 3 | Manager class is responsible for initializing the custom elements for the BIM application. It uses the BUIManager from "@thatopen/ui" to define custom elements for 2D and 3D views. 4 | 5 | ## Methods 6 | 7 | ### init() 8 | 9 | > `static` **init**(): `void` 10 | 11 | Initializes the custom elements for the BIM application. 12 | 13 | #### Returns 14 | 15 | `void` 16 | 17 | #### Remarks 18 | 19 | This method should be called once during the application's initialization. 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui-obc/classes/ViewCube.md: -------------------------------------------------------------------------------- 1 | # ViewCube 2 | 3 | A custom 3D view cube component for BIM applications. HTML tag: bim-view-cube 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### styles 12 | 13 | > `static` **styles**: `CSSResult` 14 | 15 | CSS styles for the component. 16 | 17 | #### Overrides 18 | 19 | `LitElement.styles` 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui-obc/classes/World.md: -------------------------------------------------------------------------------- 1 | # World 2 | 3 | A world for BIM Apps. 4 | 5 | ## Element 6 | 7 | bim-world 8 | 9 | ## Extends 10 | 11 | - `LitElement` 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui-obc/classes/World2D.md: -------------------------------------------------------------------------------- 1 | # World2D 2 | 3 | A custom 2D Scene component for BIM applications. HTML tag: bim-world-2d 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### styles 12 | 13 | > `static` **styles**: `CSSResult` 14 | 15 | CSS styles for the component. 16 | 17 | #### Overrides 18 | 19 | `LitElement.styles` 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui-obc/index.md: -------------------------------------------------------------------------------- 1 | # @thatopen/ui-obc 2 | 3 | ## Classes 4 | 5 | | Class | Description | 6 | | :------ | :------ | 7 | | [Manager](classes/Manager.md) | Manager class is responsible for initializing the custom elements for the BIM application. It uses the BUIManager from "@thatopen/ui" to define custom elements for 2D and 3D views. | 8 | | [ViewCube](classes/ViewCube.md) | A custom 3D view cube component for BIM applications. HTML tag: bim-view-cube | 9 | | [World](classes/World.md) | A world for BIM Apps. | 10 | | [World2D](classes/World2D.md) | A custom 2D Scene component for BIM applications. HTML tag: bim-world-2d | 11 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Component.md: -------------------------------------------------------------------------------- 1 | # Component 2 | 3 | A base class for UI components that utilizes the LitElement library. Provides functionality for rendering stateless and stateful components, as well as lazy loading of elements using Intersection Observer. 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Extended by 10 | 11 | - [`Dropdown`](Dropdown.md) 12 | 13 | ## Methods 14 | 15 | ### create() 16 | 17 | #### create(template, state) 18 | 19 | > `static` **create**\<`T`, `S`\>(`template`, `state`): [`T`, `UpdateFunction`\<`S`\>, () => `S`] 20 | 21 | Creates a new UI component instance based on the provided template and initial state. 22 | 23 | ##### Type parameters 24 | 25 | | Type parameter | Description | 26 | | :------ | :------ | 27 | | `T` *extends* `HTMLElement` | The type of the UI component element. | 28 | | `S` *extends* `Record`\<`string`, `any`\> | The type of the component state. | 29 | 30 | ##### Parameters 31 | 32 | | Parameter | Type | Description | 33 | | :------ | :------ | :------ | 34 | | `template` | [`StatefullComponent`](../type-aliases/StatefullComponent.md)\<`S`\> | The stateful component template function. | 35 | | `state` | `S` | The initial state of the component. | 36 | 37 | ##### Returns 38 | 39 | [`T`, `UpdateFunction`\<`S`\>, () => `S`] 40 | 41 | An array containing the created UI component element and a function to update its state. 42 | 43 | #### create(template) 44 | 45 | > `static` **create**\<`T`\>(`template`): `T` 46 | 47 | Creates a new UI component instance based on the provided template and initial state. 48 | 49 | ##### Type parameters 50 | 51 | | Type parameter | Description | 52 | | :------ | :------ | 53 | | `T` *extends* `HTMLElement` | The type of the UI component element. | 54 | 55 | ##### Parameters 56 | 57 | | Parameter | Type | Description | 58 | | :------ | :------ | :------ | 59 | | `template` | [`StatelessComponent`](../type-aliases/StatelessComponent.md) | The stateless component template function. | 60 | 61 | ##### Returns 62 | 63 | `T` 64 | 65 | The created UI component element. 66 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Icon.md: -------------------------------------------------------------------------------- 1 | # Icon 2 | 3 | A custom icon web component for BIM applications. HTML tag: bim-icon 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### styles 12 | 13 | > `static` **styles**: `CSSResult` 14 | 15 | CSS styles for the component. 16 | 17 | #### Overrides 18 | 19 | `LitElement.styles` 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Input.md: -------------------------------------------------------------------------------- 1 | # Input 2 | 3 | A custom input web component for BIM applications. HTML tag: bim-input 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Implements 10 | 11 | - [`HasValue`](../interfaces/HasValue.md) 12 | - [`HasName`](../interfaces/HasName.md) 13 | 14 | ## Properties 15 | 16 | ### styles 17 | 18 | > `static` **styles**: `CSSResult` 19 | 20 | CSS styles for the component. 21 | 22 | #### Overrides 23 | 24 | `LitElement.styles` 25 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Manager.md: -------------------------------------------------------------------------------- 1 | # Manager 2 | 3 | Manager class is responsible for initializing the BIM UI library, defining custom elements, and providing configuration options. 4 | 5 | ## Methods 6 | 7 | ### init() 8 | 9 | > `static` **init**(): `void` 10 | 11 | Initializes the BIM UI library by defining custom elements. 12 | It ensures that all necessary styles and custom elements are registered for use in BIM UI components. 13 | 14 | #### Returns 15 | 16 | `void` 17 | 18 | #### Example 19 | 20 | ```typescript 21 | import { Manager } from "@thatopen/ui"; 22 | Manager.init(); 23 | ``` 24 | 25 | *** 26 | 27 | ### ~~registerComponents()~~ 28 | 29 | > `static` **registerComponents**(): `void` 30 | 31 | #### Returns 32 | 33 | `void` 34 | 35 | #### Deprecated 36 | 37 | Use `Manager.init()` instead. 38 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Selector.md: -------------------------------------------------------------------------------- 1 | # Selector 2 | 3 | A custom selector web component for BIM applications. HTML tag: bim-selector 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Implements 10 | 11 | - [`HasValue`](../interfaces/HasValue.md) 12 | - [`HasName`](../interfaces/HasName.md) 13 | 14 | ## Properties 15 | 16 | ### styles 17 | 18 | > `static` **styles**: `CSSResult` 19 | 20 | CSS styles for the component. 21 | 22 | #### Overrides 23 | 24 | `LitElement.styles` 25 | 26 | ## Accessors 27 | 28 | ### value 29 | 30 | > `set` **value**(`value`): `void` 31 | 32 | Sets the value of the selector. 33 | It finds the matching option based on the provided value and sets it as the selected option. 34 | If no matching option is found, it does nothing. 35 | 36 | #### Parameters 37 | 38 | | Parameter | Type | Description | 39 | | :------ | :------ | :------ | 40 | | `value` | `any` | The value to set for the selector. | 41 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Tab.md: -------------------------------------------------------------------------------- 1 | # Tab 2 | 3 | A custom tab web component for BIM applications. HTML tag: bim-tab 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### icon? 12 | 13 | > `optional` **icon**: `string` 14 | 15 | The icon of the tab. This property is optional and can be used to display an icon next to the tab's label or name. 16 | 17 | *** 18 | 19 | ### name 20 | 21 | > **name**: `string` 22 | 23 | The name of the tab. If not provided, a default name will be assigned based on its position in the parent element. 24 | 25 | *** 26 | 27 | ### styles 28 | 29 | > `static` **styles**: `CSSResult` 30 | 31 | CSS styles for the component. 32 | 33 | #### Overrides 34 | 35 | `LitElement.styles` 36 | 37 | ## Accessors 38 | 39 | ### hidden 40 | 41 | > `set` **hidden**(`value`): `void` 42 | 43 | Sets the hidden state of the tab. 44 | 45 | #### Fires 46 | 47 | hiddenchange - Dispatched when the hidden state changes. 48 | 49 | #### Example 50 | 51 | ```typescript 52 | const tab = document.querySelector('bim-tab'); 53 | tab.hidden = true; // hides the tab 54 | ``` 55 | 56 | #### Parameters 57 | 58 | | Parameter | Type | Description | 59 | | :------ | :------ | :------ | 60 | | `value` | `boolean` | The new hidden state. If `true`, the tab will be hidden. If `false`, the tab will be visible. | 61 | 62 | *** 63 | 64 | ### label 65 | 66 | > `set` **label**(`value`): `void` 67 | 68 | The label of the tab. This property is optional and can be used to display a custom label instead of the tab's name. 69 | 70 | #### Parameters 71 | 72 | | Parameter | Type | 73 | | :------ | :------ | 74 | | `value` | `undefined` \| `string` | 75 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Tabs.md: -------------------------------------------------------------------------------- 1 | # Tabs 2 | 3 | A custom tabs web component for BIM applications. HTML tag: bim-tabs 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### bottom 12 | 13 | > **bottom**: `boolean` = `false` 14 | 15 | Indicates whether the tabs are positioned at the bottom of the container. 16 | 17 | #### Default 18 | 19 | ```ts 20 | false 21 | ``` 22 | 23 | *** 24 | 25 | ### switchersHidden 26 | 27 | > **switchersHidden**: `boolean` = `false` 28 | 29 | Indicates whether the tab switchers are hidden or not. 30 | 31 | #### Default 32 | 33 | ```ts 34 | false 35 | ``` 36 | 37 | *** 38 | 39 | ### styles 40 | 41 | > `static` **styles**: `CSSResult`[] 42 | 43 | CSS styles for the component. 44 | 45 | #### Overrides 46 | 47 | `LitElement.styles` 48 | 49 | ## Accessors 50 | 51 | ### tab 52 | 53 | > `set` **tab**(`value`): `void` 54 | 55 | Sets the active tab based on the provided name. 56 | 57 | #### Remarks 58 | 59 | This method iterates through all child elements, finds the matching tab by name, 60 | and sets its `hidden` property to `false`. It also updates the corresponding tab switcher's 61 | `data-active` attribute to reflect the active state. 62 | 63 | If the provided `value` does not match any tab name, no tab will be selected. 64 | 65 | If the `tab` property is already set to the provided `value`, this method will deselect all tabs 66 | by setting the `tab` property to `undefined`. 67 | 68 | #### Example 69 | 70 | ```typescript 71 | // Set the active tab to "tab1" 72 | tabs.tab = "tab1"; 73 | 74 | // Deselect all tabs 75 | tabs.tab = undefined; 76 | ``` 77 | 78 | #### Parameters 79 | 80 | | Parameter | Type | Description | 81 | | :------ | :------ | :------ | 82 | | `value` | `undefined` \| `string` | The name of the tab to be set as active. If `undefined`, no tab will be selected. | 83 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Toolbar.md: -------------------------------------------------------------------------------- 1 | # Toolbar 2 | 3 | A custom toolbar web component for BIM applications. HTML tag: bim-toolbar 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### labelsHidden 12 | 13 | > **labelsHidden**: `boolean` = `false` 14 | 15 | Property indicating whether labels are hidden in the toolbar. 16 | When `labelsHidden` is `true`, labels in the toolbar sections will be hidden. 17 | When `labelsHidden` is `false`, labels in the toolbar sections will be visible. 18 | 19 | #### Default Value 20 | 21 | ```ts 22 | false 23 | ``` 24 | 25 | *** 26 | 27 | ### styles 28 | 29 | > `static` **styles**: `CSSResult` 30 | 31 | CSS styles for the component. 32 | 33 | #### Overrides 34 | 35 | `LitElement.styles` 36 | 37 | ## Accessors 38 | 39 | ### vertical 40 | 41 | > `set` **vertical**(`value`): `void` 42 | 43 | Sets the vertical property of the toolbar. 44 | When vertical is true, the toolbar will be displayed in a vertical layout. 45 | When vertical is false, the toolbar will be displayed in a horizontal layout. 46 | 47 | #### Parameters 48 | 49 | | Parameter | Type | 50 | | :------ | :------ | 51 | | `value` | `boolean` | 52 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/ToolbarGroup.md: -------------------------------------------------------------------------------- 1 | # ToolbarGroup 2 | 3 | A custom toolbar group web component for BIM applications. HTML tag: bim-toolbar-group 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### rows 12 | 13 | > **rows**: `number` = `2` 14 | 15 | The number of rows to display in the toolbar group. 16 | 17 | #### Default Value 18 | 19 | ```ts 20 | 2 21 | ``` 22 | 23 | *** 24 | 25 | ### styles 26 | 27 | > `static` **styles**: `CSSResult` 28 | 29 | CSS styles for the component. 30 | 31 | #### Overrides 32 | 33 | `LitElement.styles` 34 | 35 | ## Accessors 36 | 37 | ### vertical 38 | 39 | > `set` **vertical**(`value`): `void` 40 | 41 | Sets the vertical property of the ToolbarGroup. 42 | When vertical is true, the toolbar group will display its children vertically. 43 | When vertical is false, the toolbar group will display its children horizontally. 44 | 45 | #### Parameters 46 | 47 | | Parameter | Type | 48 | | :------ | :------ | 49 | | `value` | `boolean` | 50 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/ToolbarSection.md: -------------------------------------------------------------------------------- 1 | # ToolbarSection 2 | 3 | A custom toolbar section web component for BIM applications. HTML tag: bim-toolbar-section 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Implements 10 | 11 | - [`HasName`](../interfaces/HasName.md) 12 | 13 | ## Properties 14 | 15 | ### styles 16 | 17 | > `static` **styles**: `CSSResult` 18 | 19 | CSS styles for the component. 20 | 21 | #### Overrides 22 | 23 | `LitElement.styles` 24 | 25 | ## Accessors 26 | 27 | ### labelHidden 28 | 29 | > `set` **labelHidden**(`value`): `void` 30 | 31 | Sets the value of the `labelHidden` property and updates the children accordingly. 32 | 33 | #### Examples 34 | 35 | ```typescript 36 | toolbarSection.labelHidden = true; 37 | ``` 38 | 39 | ```html 40 | 41 | ``` 42 | 43 | #### Parameters 44 | 45 | | Parameter | Type | 46 | | :------ | :------ | 47 | | `value` | `boolean` | 48 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/classes/Viewport.md: -------------------------------------------------------------------------------- 1 | # Viewport 2 | 3 | A custom viewport web component for BIM applications. HTML tag: bim-viewport 4 | 5 | ## Extends 6 | 7 | - `LitElement` 8 | 9 | ## Properties 10 | 11 | ### styles 12 | 13 | > `static` **styles**: `CSSResult` 14 | 15 | CSS styles for the component. 16 | 17 | #### Overrides 18 | 19 | `LitElement.styles` 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/functions/getElementValue.md: -------------------------------------------------------------------------------- 1 | # getElementValue() 2 | 3 | > **getElementValue**(`child`, `transform`, `recursive`): `Record`\<`string`, `any`\> 4 | 5 | Extracts and returns the value of an HTML element's attributes. 6 | 7 | ## Parameters 8 | 9 | | Parameter | Type | Default value | Description | 10 | | :------ | :------ | :------ | :------ | 11 | | `child` | `HTMLElement` | `undefined` | The HTML element to extract values from. | 12 | | `transform` | `Record`\<`string`, (`value`) => `any`\> | `{}` | - | 13 | | `recursive` | `boolean` | `true` | Whether to recursively extract values from child elements. Default is true. | 14 | 15 | ## Returns 16 | 17 | `Record`\<`string`, `any`\> 18 | 19 | An object containing the extracted values. 20 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/CellCreatedEventDetail.md: -------------------------------------------------------------------------------- 1 | # CellCreatedEventDetail\ 2 | 3 | Represents the detail of a cell created event. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | Value | 8 | | :------ | :------ | 9 | | `T` *extends* [`TableRowData`](../type-aliases/TableRowData.md) | [`TableRowData`](../type-aliases/TableRowData.md) | 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/ColumnData.md: -------------------------------------------------------------------------------- 1 | # ColumnData\ 2 | 3 | Represents a column in the table. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | Value | 8 | | :------ | :------ | 9 | | `T` *extends* [`TableRowData`](../type-aliases/TableRowData.md) | [`TableRowData`](../type-aliases/TableRowData.md) | 10 | 11 | ## Properties 12 | 13 | ### name 14 | 15 | > **name**: keyof `T` 16 | 17 | The name of the column. 18 | 19 | *** 20 | 21 | ### width 22 | 23 | > **width**: `string` 24 | 25 | The width of the column. 26 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/EntryQuery.md: -------------------------------------------------------------------------------- 1 | # EntryQuery 2 | 3 | Represents a single query condition. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/HasName.md: -------------------------------------------------------------------------------- 1 | # HasName 2 | 3 | Represents an object that has a name and an optional label. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/HasValue.md: -------------------------------------------------------------------------------- 1 | # HasValue 2 | 3 | Represents an object that has a value and an event for value changes. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/ManagerConfig.md: -------------------------------------------------------------------------------- 1 | # ManagerConfig 2 | 3 | Configuration interface for the Manager class. Defines the properties and their types that can be configured for the Manager. 4 | 5 | ## Properties 6 | 7 | ### sectionLabelOnVerticalToolbar 8 | 9 | > **sectionLabelOnVerticalToolbar**: `boolean` 10 | 11 | Determines whether section labels should be displayed on the vertical toolbar. 12 | Default value is `false`. 13 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/QueryGroup.md: -------------------------------------------------------------------------------- 1 | # QueryGroup 2 | 3 | Represents a group of queries with an operator. 4 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/RowCreatedEventDetail.md: -------------------------------------------------------------------------------- 1 | # RowCreatedEventDetail\ 2 | 3 | Represents the detail of a row created event. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | Value | 8 | | :------ | :------ | 9 | | `T` *extends* [`TableRowData`](../type-aliases/TableRowData.md) | [`TableRowData`](../type-aliases/TableRowData.md) | 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/RowDeselectedEventDetail.md: -------------------------------------------------------------------------------- 1 | # RowDeselectedEventDetail\ 2 | 3 | Represents the detail of a row deselected event. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | Value | 8 | | :------ | :------ | 9 | | `T` *extends* [`TableRowData`](../type-aliases/TableRowData.md) | [`TableRowData`](../type-aliases/TableRowData.md) | 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/RowSelectedEventDetail.md: -------------------------------------------------------------------------------- 1 | # RowSelectedEventDetail\ 2 | 3 | Represents the detail of a row selected event. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | Value | 8 | | :------ | :------ | 9 | | `T` *extends* [`TableRowData`](../type-aliases/TableRowData.md) | [`TableRowData`](../type-aliases/TableRowData.md) | 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/TableGroupData.md: -------------------------------------------------------------------------------- 1 | # TableGroupData\ 2 | 3 | Represents a group of table rows with optional children. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | Value | 8 | | :------ | :------ | 9 | | `T` *extends* [`TableRowData`](../type-aliases/TableRowData.md) | [`TableRowData`](../type-aliases/TableRowData.md) | 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/interfaces/TableGroupTemplate.md: -------------------------------------------------------------------------------- 1 | # TableGroupTemplate\ 2 | 3 | Represents a template for rendering a group of table rows in a table. 4 | 5 | ## Type parameters 6 | 7 | | Type parameter | Value | 8 | | :------ | :------ | 9 | | `T` *extends* [`TableRowTemplate`](../type-aliases/TableRowTemplate.md) | [`TableRowTemplate`](../type-aliases/TableRowTemplate.md) | 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/ConditionFunctions.md: -------------------------------------------------------------------------------- 1 | # ConditionFunctions 2 | 3 | > **ConditionFunctions**: `{ [queryCondition in QueryCondition]: Function }` 4 | 5 | Represents a map of condition functions, where the key is a QueryCondition and the value is a function that evaluates the condition. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/GridLayoutsDefinition.md: -------------------------------------------------------------------------------- 1 | # GridLayoutsDefinition\ 2 | 3 | > **GridLayoutsDefinition**\<`T`\>: `{ [K in keyof T]: Object }` 4 | 5 | Represents a collection of predefined grid layouts for the Grid component. Each layout is defined by a unique name, a grid template string, and a map of area names to HTMLElement instances. The grid template string defines the structure of the grid, and the area names correspond to the grid-area property of the HTMLElement instances. The HTMLElement instances are used to populate the grid with content. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | 10 | | :------ | 11 | | `T` *extends* `GridLayoutComponents` | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/Query.md: -------------------------------------------------------------------------------- 1 | # Query 2 | 3 | > **Query**: ([`EntryQuery`](../interfaces/EntryQuery.md) \| [`QueryGroup`](../interfaces/QueryGroup.md))[] 4 | 5 | Represents a query, which can be a single query or a group of queries. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/QueryCondition.md: -------------------------------------------------------------------------------- 1 | # QueryCondition 2 | 3 | > **QueryCondition**: `"="` \| `">"` \| `">="` \| `"<"` \| `"<="` \| `"?"` \| `"/"` \| `"#"` 4 | 5 | Represents a condition used in query building. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/QueryOperators.md: -------------------------------------------------------------------------------- 1 | # QueryOperators 2 | 3 | > **QueryOperators**: `"&"` \| "\|" 4 | 5 | Represents an operator used in query building. 6 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/StatefullComponent.md: -------------------------------------------------------------------------------- 1 | # StatefullComponent()\ 2 | 3 | > **StatefullComponent**\<`S`\>: (`state`, `update`) => `TemplateResult` 4 | 5 | Represents a function that returns a TemplateResult for a stateful component. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | Value | Description | 10 | | :------ | :------ | :------ | 11 | | `S` *extends* `Record`\<`string`, `any`\> | `Record`\<`string`, `any`\> | The type of the component state. | 12 | 13 | ## Parameters 14 | 15 | | Parameter | Type | Description | 16 | | :------ | :------ | :------ | 17 | | `state` | `S` | The current state of the component. | 18 | | `update` | `UpdateFunction`\<`S`\> | An update function you can call inside the template. WARNING! It can cause infinite loops if not used properly. | 19 | 20 | ## Returns 21 | 22 | `TemplateResult` 23 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/StatelessComponent.md: -------------------------------------------------------------------------------- 1 | # StatelessComponent() 2 | 3 | > **StatelessComponent**: () => `TemplateResult` 4 | 5 | Represents a function that returns a TemplateResult for a stateless component. 6 | 7 | ## Returns 8 | 9 | `TemplateResult` 10 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/TableDataTransform.md: -------------------------------------------------------------------------------- 1 | # TableDataTransform\ 2 | 3 | > **TableDataTransform**\<`T`\>: `{ [K in keyof T]?: Function }` 4 | 5 | Represents a transformation function for table data. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | Value | 10 | | :------ | :------ | 11 | | `T` *extends* [`TableRowData`](TableRowData.md) | [`TableRowData`](TableRowData.md) | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/TableRowData.md: -------------------------------------------------------------------------------- 1 | # TableRowData\ 2 | 3 | > **TableRowData**\<`T`\>: `Record`\ 4 | 5 | Represents a row of data for a table. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | Value | 10 | | :------ | :------ | 11 | | `T` *extends* `Record`\<`string`, `TableCellValue`\> | `Record`\<`string`, `TableCellValue`\> | 12 | -------------------------------------------------------------------------------- /docs/api/@thatopen/ui/type-aliases/TableRowTemplate.md: -------------------------------------------------------------------------------- 1 | # TableRowTemplate\ 2 | 3 | > **TableRowTemplate**\<`T`\>: `Partial`\<`Record`\\> 4 | 5 | Represents a template for rendering a row of data in a table. 6 | 7 | ## Type parameters 8 | 9 | | Type parameter | Value | 10 | | :------ | :------ | 11 | | `T` *extends* [`TableRowData`](TableRowData.md) | [`TableRowData`](TableRowData.md) | 12 | -------------------------------------------------------------------------------- /docs/api/index.md: -------------------------------------------------------------------------------- 1 | # 📋 API 2 | 3 | ## Packages 4 | 5 | | Name | Version | Description | 6 | | :------ | :------ | :------ | 7 | | [@thatopen/components](@thatopen/components/index.md) | 2.4.5 | Collection of core functionalities to author BIM apps. | 8 | | [@thatopen/components-front](@thatopen/components-front/index.md) | 2.4.4 | Collection of frontend tools to author BIM apps. | 9 | | [@thatopen/fragments](@thatopen/fragments/index.md) | 3.0.0 | Simple geometric system built on top of Three.js to display 3D BIM data efficiently. | 10 | | [@thatopen/ui](@thatopen/ui/index.md) | 2.4.4 | Collection of web components (UI components) meant to be used, but not limited to, BIM applications. | 11 | | [@thatopen/ui-obc](@thatopen/ui-obc/index.md) | 2.4.1 | Collection of web components (UI components) implementations to use with @thatopen/components. | 12 | -------------------------------------------------------------------------------- /docs/components/_category_.yml: -------------------------------------------------------------------------------- 1 | label: "🧩 Components" 2 | position: -1 -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine_docs", 3 | "version": "0.0.0", 4 | "packageManager": "yarn@4.1.0", 5 | "workspaces": [ 6 | "temp/*" 7 | ], 8 | "private": true, 9 | "scripts": { 10 | "docusaurus": "docusaurus", 11 | "start": "docusaurus start", 12 | "build": "docusaurus build", 13 | "build:local": "yarn docs:local && yarn build", 14 | "docs:local": "yarn clean && yarn repos:local && yarn tutorials && yarn install", 15 | "clean": "node src/docs-generator/cleaner.mjs", 16 | "repos:local": "node src/docs-generator/repo-copier.mjs --local", 17 | "swizzle": "docusaurus swizzle", 18 | "deploy": "docusaurus deploy", 19 | "clear": "docusaurus clear", 20 | "serve": "docusaurus serve", 21 | "write-translations": "docusaurus write-translations", 22 | "write-heading-ids": "docusaurus write-heading-ids", 23 | "typecheck": "tsc", 24 | "tutorials": "node src/docs-generator/tutorial-generator.mjs" 25 | }, 26 | "dependencies": { 27 | "@docusaurus/core": "3.4.0", 28 | "@docusaurus/preset-classic": "3.4.0", 29 | "@mdx-js/react": "^3.0.0", 30 | "clsx": "^2.0.0", 31 | "prism-react-renderer": "^2.3.0", 32 | "react": "^18.0.0", 33 | "react-dom": "^18.0.0" 34 | }, 35 | "devDependencies": { 36 | "@docusaurus/module-type-aliases": "3.4.0", 37 | "@docusaurus/tsconfig": "3.4.0", 38 | "@docusaurus/types": "3.4.0", 39 | "docusaurus-plugin-typedoc": "^1.0.0", 40 | "typedoc": "^0.25.13", 41 | "typedoc-plugin-markdown": "^4.0.0", 42 | "typescript": "~5.2.2" 43 | }, 44 | "browserslist": { 45 | "production": [ 46 | ">0.5%", 47 | "not dead", 48 | "not op_mini all" 49 | ], 50 | "development": [ 51 | "last 3 chrome version", 52 | "last 3 firefox version", 53 | "last 5 safari version" 54 | ] 55 | }, 56 | "engines": { 57 | "node": ">=20.11.1" 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /sidebars.ts: -------------------------------------------------------------------------------- 1 | import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; 2 | 3 | /** 4 | * Creating a sidebar enables you to: 5 | - create an ordered group of docs 6 | - render a sidebar for each doc of that group 7 | - provide next/previous navigation 8 | 9 | The sidebars can be generated from the filesystem, or explicitly defined here. 10 | 11 | Create as many sidebars as you want. 12 | */ 13 | const sidebars: SidebarsConfig = { 14 | // By default, Docusaurus generates a sidebar from the docs folder structure 15 | tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], 16 | 17 | // But you can create a sidebar manually 18 | /* 19 | tutorialSidebar: [ 20 | 'intro', 21 | 'hello', 22 | { 23 | type: 'category', 24 | label: 'Tutorial', 25 | items: ['tutorial-basics/create-a-document'], 26 | }, 27 | ], 28 | */ 29 | }; 30 | 31 | export default sidebars; 32 | -------------------------------------------------------------------------------- /src/css/custom.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Any CSS included here will be global. The classic template 3 | * bundles Infima by default. Infima is a CSS framework designed to 4 | * work well for content-centric websites. 5 | */ 6 | 7 | @import url("https://fonts.googleapis.com/css2?family=Sora:wght@400;600&display=auto"); 8 | 9 | /* You can override the default Infima variables here. */ 10 | :root { 11 | --ifm-color-primary: #6528D7; 12 | --ifm-color-primary-dark: #6528D7; 13 | --ifm-color-primary-darker: #6528D7; 14 | --ifm-color-primary-darkest: #6528D7; 15 | --ifm-color-primary-light: #6528D7; 16 | --ifm-color-primary-lighter: #6528D7; 17 | --ifm-color-primary-lightest: #6528D7; 18 | --ifm-code-font-size: 95%; 19 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); 20 | --ifm-heading-font-family: "Sora"; 21 | } 22 | 23 | /* For readability concerns, you should choose a lighter palette in dark mode. */ 24 | [data-theme='dark'] { 25 | --ifm-color-primary: #bcf124; 26 | --ifm-color-primary-dark: #bcf124; 27 | --ifm-color-primary-darker: #bcf124; 28 | --ifm-color-primary-darkest: #bcf124; 29 | --ifm-color-primary-light: #bcf124; 30 | --ifm-color-primary-lighter: #bcf124; 31 | --ifm-color-primary-lightest: #bcf124; 32 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); 33 | --docsearch-hit-active-color: black !important; 34 | } 35 | 36 | iframe { 37 | margin: 0rem; 38 | width: 100%; 39 | height: 30rem; 40 | } 41 | 42 | .navbar__logo { 43 | fill: var(--ifm-color-primary); 44 | } 45 | 46 | .full-screen-btn { 47 | position: absolute; 48 | bottom: 1rem; 49 | right: 1rem; 50 | outline: none; 51 | border: none; 52 | padding: 0.5rem; 53 | border-radius: 0.5rem; 54 | } 55 | 56 | .full-screen-btn:hover { 57 | background-color: #bcf124; 58 | cursor: pointer; 59 | color: black 60 | } -------------------------------------------------------------------------------- /src/docs-generator/cleaner.mjs: -------------------------------------------------------------------------------- 1 | import * as fs from "fs"; 2 | 3 | fs.rmSync("docs/api", { recursive: true, force: true }); 4 | fs.rmSync("docs/tutorials", { recursive: true, force: true }); 5 | fs.rmSync("temp", { recursive: true, force: true }); 6 | fs.mkdirSync("temp"); -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Redirect } from "@docusaurus/router"; 3 | 4 | export default function Home() { 5 | return ; 6 | } 7 | -------------------------------------------------------------------------------- /static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThatOpen/engine_docs/6615b9980f739a64b91fc51819673e176b7ab4fb/static/.nojekyll -------------------------------------------------------------------------------- /static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThatOpen/engine_docs/6615b9980f739a64b91fc51819673e176b7ab4fb/static/img/favicon.ico -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@docusaurus/tsconfig", 4 | "compilerOptions": { 5 | "baseUrl": "." 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /typedoc-plugin.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | /** 3 | * @param {import('typedoc-plugin-markdown').MarkdownApplication} app 4 | */ 5 | export function load(app) { 6 | app.renderer.postRenderAsyncJobs.push(async (output) => { 7 | // do something async here 8 | await new Promise((r) => setTimeout(r, 5)); 9 | app.logger.info("Post render success"); 10 | }); 11 | } 12 | --------------------------------------------------------------------------------