Contains a model's semantic data, as an entity-relationship graph.

This data model is:

For detailed usage, refer to @xeokit/sdk/data.

Properties

author?: string

The model author, if available.

createdAt?: string

The date the model was created, if available.

creatingApplication?: string

The application that created the model, if available.

data: Data

The Data that contains this DataModel.

destroyed: boolean

Indicates whether this DataModel has been destroyed.

id: string

Unique ID of this DataModel.

DataModels are stored against this ID in Data.models.

name?: string

The model name, if available.

objects: { [key: string]: DataObject }

The DataObjects in this DataModel, mapped to DataObject.id.

DataObjects have globally-unique IDs and will also be stored in Data.objects.

objectsByType: { [key: string]: { [key: string]: DataObject } }

The DataObjects in this DataModel, mapped to DataObject.type, sub-mapped to DataObject.id.

projectId?: string | number

The project ID, if available.

propertySets: { [key: string]: PropertySet }

ThePropertySets in this DataModel, mapped to PropertySet.id.

PropertySets have globally-unique IDs and will also be stored in Data.propertySets.

relationships: Relationship[]

The Relationships in this DataModel.

  • The Relationships can be between DataObjects in different DataModels, but always within the same Data.
revisionId?: string | number

The revision ID, if available.

rootObjects: { [key: string]: DataObject }

The root DataObjects in this DataModel, mapped to DataObject.id.

  • This is the set of DataObjects in this DataModel that are not the related participant in any Relationships, where they have no incoming Relationships and their DataObject.relating property is empty.

Statistics on this DataModel.

typeCounts: { [key: string]: number }

The count of each type of DataObject in this DataModel, mapped to DataObject.type.

Methods