AsyncEvent | Simple event handler by Jason Kleban. 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. |
BCFTopics | BCFTopics manages Building Collaboration Format (BCF) data the engine. It provides functionality for importing, exporting, and manipulating BCF data. |
Base | Base class of the library. Useful for finding out the interfaces something implements. |
BaseCamera | Abstract class representing a camera in a 3D world. All cameras should use this class as a base. |
BaseRenderer | Abstract class representing a renderer for a 3D world. All renderers should use this class as a base. |
BaseScene | Abstract class representing a base scene in the application. All scenes should use this class as a base. |
BaseWorldItem | One of the elements that make a world. It can be either a scene, a camera or a renderer. |
BoundingBoxer | A simple implementation of bounding box that works for fragments. The resulting bbox is not 100% precise, but it's fast, and should suffice for general use cases such as camera zooming or general boundary determination. 📕 Tutorial. 📘 API. |
Classifier | The Classifier component is responsible for classifying and categorizing fragments based on various criteria. It provides methods to add, remove, find, and filter fragments based on their classification. 📕 Tutorial. 📘 API. |
Clipper | A lightweight component to easily create, delete and handle clipping planes. 📕 Tutorial. 📘 API. |
Comment | Represents a comment in a BCF Topic. |
Component | Components are the building blocks of this library. Components are singleton elements that contain specific functionality. For instance, the Clipper Component can create, delete and handle 3D clipping planes. Components must be unique (they can't be instanced more than once per Components instance), and have a static UUID that identifies them uniquely. The can be accessed globally using the Components instance. |
Components | The entry point of the Components library. It can create, delete and access all the components of the library globally, update all the updatable components automatically and dispose all the components, preventing memory leaks. |
ConfigManager | A tool to manage all the configuration from the app centrally. |
CullerRenderer | A base renderer to determine visibility on screen. |
Cullers | A component that provides culling functionality for meshes in a 3D scene. 📕 Tutorial. 📘 API. |
DataMap | A class that extends the built-in Map class and provides additional events for item set, update, delete, and clear operations. |
DataSet | A class that extends the built-in Set class and provides additional functionality. It triggers events when items are added, deleted, or the set is cleared. |
Disposer | A tool to safely remove meshes, geometries, materials and other items from memory to prevent memory leaks. |
Event | Simple event handler by Jason Kleban. 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. |
EventManager | Simple class to easily toggle and reset event lists. |
Exploder | The Exploder component is responsible for managing the explosion of 3D model fragments (generally by floor). 📕 Tutorial. 📘 API. |
FirstPersonMode | A NavigationMode that allows first person navigation, simulating FPS video games. |
FragmentsManager | Component to load, delete and manage fragments efficiently. 📕 Tutorial. 📘 API. |
Grids | A component that manages grid instances. Each grid is associated with a unique world. 📕 Tutorial. 📘 API. |
Hider | A component that hides or isolates fragments within a 3D scene. It extends the base Component class and provides methods to control fragment visibility and isolation. 📕 Tutorial. 📘 API. |
IDSSpecification | Represents a single specification from the Information Delivery Specification (IDS) standard. |
IDSSpecifications | Component that manages Information Delivery Specification (IDS) data. It provides functionality for importing, exporting, and manipulating IDS data. |
IfcBasicQuery | A query that checks the direct attributes of IFC items. |
IfcFinder | Component to make text queries in the IFC. |
IfcFinderQuery | The base class for all queries used by the IfcFinder. |
IfcFragmentSettings | Configuration of the IFC-fragment conversion. |
IfcGeometryTiler | A component that handles the tiling of IFC geometries for efficient streaming. 📕 Tutorial. 📘 API. |
IfcIsolator | Component to isolate certain elements from an IFC and export to another IFC. 📕 Tutorial. 📘 API. |
IfcJsonExporter | Component to export all the properties from an IFC to a JS object. 📕 Tutorial. 📘 API. |
IfcLoader | The IfcLoader component is responsible for loading and processing IFC files. It utilizes the Web-IFC library to handle the IFC data and the Three.js library for 3D rendering. The class provides methods for setting up, loading, and cleaning up IFC files. 📕 Tutorial. 📘 API. |
IfcPropertiesManager | Component to manage and edit properties and Psets in IFC files. |
IfcPropertiesTiler | A component that converts the properties of an IFC file to tiles. It uses the Web-IFC library to read and process the IFC data. 📕 Tutorial. 📘 API. |
IfcPropertyQuery | A query that checks the properties in the property sets assigned to IFC items. |
IfcRelationsIndexer | Indexer component for IFC entities, facilitating the indexing and retrieval of IFC entity relationships. It is designed to process models properties by indexing their IFC entities' relations based on predefined inverse attributes, and provides methods to query these relations. 📕 Tutorial. 📘 API. |
IfcStreamingSettings | Settings for streaming IFC geometry and assets. Extends IfcFragmentSettings to inherit common settings. |
MeasurementUtils | Utility component for performing measurements on 3D meshes by providing methods for measuring distances between edges and faces. 📕 Tutorial. 📘 API. |
MeshCullerRenderer | A renderer to hide/show meshes depending on their visibility from the user's point of view. |
MiniMap | A class representing a 2D minimap of a 3D world. |
MiniMaps | A component that manages multiple MiniMap instances, each associated with a unique world ID. 📕 Tutorial. 📘 API. |
Mouse | A helper to easily get the real position of the mouse in the Three.js canvas to work with tools like the raycaster, even if it has been transformed through CSS or doesn't occupy the whole screen. |
OrbitMode | A NavigationMode that allows 3D navigation and panning like in many 3D and CAD softwares. |
OrthoPerspectiveCamera | A flexible camera that uses yomotsu's cameracontrols to control the camera in 2D and 3D. It supports multiple navigation modes, such as 2D floor plan navigation, first person and 3D orbit. This class extends the SimpleCamera class and adds additional functionality for managing different camera projections and navigation modes. 📕 Tutorial. 📘 API. |
PlanMode | A NavigationMode that allows to navigate floorplans in 2D, like many BIM tools. |
ProjectionManager | Object to control the CameraProjection of the OrthoPerspectiveCamera. |
PropertiesStreamingSettings | Settings for streaming properties. Extends IfcFragmentSettings to inherit common settings. |
Raycasters | A component that manages a raycaster for each world and automatically disposes it when its corresponding world is disposed. 📕 Tutorial. 📘 API. |
ShadowedScene | A scene that supports efficient cast shadows. 📕 Tutorial. 📘 API. |
SimpleCamera | A basic camera that uses yomotsu's cameracontrols to control the camera in 2D and 3D. Check out it's API to find out what features it offers. |
SimpleGrid | An infinite grid. Created by fyrestar and translated to typescript by dkaraush. |
SimplePlane | Each of the clipping planes created by the clipper. |
SimpleRaycaster | A simple raycaster that allows to easily get items from the scene using the mouse and touch events. |
SimpleRenderer | A basic renderer capable of rendering Objec3Ds. |
SimpleScene | A basic 3D scene to add objects hierarchically, and easily dispose them when you are finished with it. |
SimpleWorld | A class representing a simple world in a 3D environment. It extends the Base class and implements the World interface. |
VertexPicker | A class that provides functionality for picking vertices in a 3D scene. |
Viewpoint | Represents a BCF compliant viewpoint from BuildingSMART. |