InstanceGraphAPI#
Interface InstanceGraphAPI
Hierarchy
- InstanceGraphAPI
Index
Methods
Methods
add
- add(dataURI: string, parentID?: number, usage?: UsageString, label?: string, contentType?: string, initialProperties?: { [key: string]: any }, cacheStrategy?: CacheStrategy): number
-
Loads the resource behind the given dataURI and returns the id of the new contents root Node.
Parameters
-
dataURI: string
Specifies the URI of the data resource.
-
Optional
parentID: numberBy specifying a parentID the resource can be added to an arbitrary Node instead of the tree root.
-
Optional
usage: UsageStringThe usage parameter allows to define how the resource should be inserted in the InstanceGraph.
-
Optional
label: stringThe label can be used to set a string that is shown in the UI as a name of the Node.
-
Optional
contentType: stringWith contentType the type of the input data can be specified with a MimeType or any other descriptor.
-
Optional
initialProperties: { [key: string]: any }A map of properties to initialize the new Node.
-
[key: string]: any
-
-
Optional
cacheStrategy: CacheStrategyDefines the strategy which is used when a data cache is requested from the Hub.
Returns number
The id of the new contents root Node
-
- add(params: { [key: string]: any }): number
-
Variant of the add function, accepting a params object instead of explicit parameters. The params object is a map from parameter names to parameter values.
Parameters
-
params: { [key: string]: any }
The params object.
-
[key: string]: any
-
Returns number
-
add Custom Node
- add
Custom Node(customNodeType: string, data: any, dataType?: AttachmentType): number -
Creates a custom Node with custom data which is stored in an Attachment.
Parameters
-
customNodeType: string
{string} Specifies the custom Node type.
-
data: any
{any} Specifies the data of the custom Node.
-
Optional
dataType: AttachmentType{AttachmentType="json"} Specifies the type of the data.
Returns number
-
collect Runtime Nodes Of Type
- collect
Runtime Nodes Of Type(nodeType: NodeType, subType?: string): number[] -
Returns a list of all existing runtime Node ids of a specified type.
Parameters
-
nodeType: NodeType
The Node type to collect.
-
Optional
subType: stringThe sub type to collect. Only used for Custom-Nodes.
Returns number[]
A list of runtime Node ids of the specified type.
-
get Enabled Aux Nodes
- get
Enabled Aux Nodes(nodeID?: number): Promise<number[]> -
Deprecated
This function will no longer be available in future webvis releases
Traverses the subtree of a given nodeID and collects all enabled aux Nodes.
Parameters
-
Optional
nodeID: numberSpecifies the entry point of the subtree traversal (default: 0)
Returns Promise<number[]>
An Array of all enabled aux Node id's
-
get Metadata
get Properties
- get
Properties<T>(nodeID: number, properties: T[]): Promise<PropertyType<T>[]> -
Returns the values of the properties on the Node with the matching id.
Type Parameters
-
T extends string
Parameters
-
nodeID: number
The id of the Node whose properties should be read.
-
properties: T[]
The names of the properties whose value should be read.
Returns Promise<PropertyType<T>[]>
The retrieved values of the Node's properties.
-
get Property
- get
Property<T>(nodeID: number, property: T): Promise<PropertyType<T>> -
Returns the value of the property on the Node with the matching id.
Type Parameters
-
T extends string
Parameters
-
nodeID: number
The id of the Node whose property should be read.
-
property: T
The name of the property whose value should be read.
Returns Promise<PropertyType<T>>
The retrieved value of the Node property.
-
get Root Node Id
- get
Root Node Id(target: number | TopologyHandle, includeTarget?: boolean): number -
Returns the root Node id of the given Node or Topology Element.
- The root Node id of the given Node id or Topology handle.
Parameters
-
target: number | TopologyHandle
Specifies the target Node or Topology Element.
-
Optional
includeTarget: booleanControls if the target Node itself can be returned as root Node. If set to false and a root Node id is passed in, it returns the next higher root Node id.
Returns number
get Statistics
- get
Statistics(nodeType?: NodeType, nodeID?: number): Promise<any> -
Traverses the subtree of a given nodeID and collects all statistics (currently only available for AUX-Nodes).
Parameters
-
Optional
nodeType: NodeTypeSpecifies the target Node type.
-
Optional
nodeID: numberSpecifies the entry point of the subtree traversal (default: 0).
Returns Promise<any>
An Object of Type/Count pairs.
-
invert Enabled States
is Node Deletable
is Node Type
register Custom Property
- register
Custom Property(name: string, defaultValue: any, recursive?: boolean): void -
Registering a new custom property.
Parameters
-
name: string
The name of the new property.
-
defaultValue: any
Specifies the default value.
-
Optional
recursive: booleanDefines whether the property is recursive.
Returns void
-
remove
request Active Scene Volume
request Aux Root Node Ids
request Full Scene Volume
request L3DInformation
request Node Ids By Box Volume
- request
Node Ids By Box Volume(boxVolume: BoxVolume, includeOverlappingNodes?: boolean, includeDisabledNodes?: boolean, forceExpand?: boolean, scopeNodeId?: number): Promise<number[]> -
Returns a List of all Node ids which are included or overlapped by the specified 3D world space Bounding Volume.
Parameters
-
boxVolume: BoxVolume
Specifies the 3D world space Bounding Volume.
-
Optional
includeOverlappingNodes: booleanSpecifies that the result should include Nodes which overlap the specified 3D world space Bounding Volume as well.
-
Optional
includeDisabledNodes: booleanSpecifies that the result should include Nodes which are disabled as well.
-
Optional
forceExpand: boolean -
Optional
scopeNodeId: numberSpecifies the top one Node id of the subtree to be searched.
Returns Promise<number[]>
List of all NodeIds which are included or overlapped by the specified 3D world space Bounding Volume.
-
request Root Node Ids
- request
Root Node Ids(scopeNodeId?: number, recursive?: boolean): Promise<number[]> -
Returns a list of all existing root Node ids below the specified subtree.
Parameters
-
Optional
scopeNodeId: numberSpecifies the top one Node id of the subtree to be searched.
-
Optional
recursive: booleanSpecifies if the subtree is traversed recursively.
Returns Promise<number[]>
A list of root Node ids.
-
reset Properties
- reset
Properties<T>(nodeID: number, properties: T[]): Promise<void> -
Resets the value of the specified properties on the given Node.
Type Parameters
-
T extends string
Parameters
-
nodeID: number
The id of the Node whose property should be reset.
-
properties: T[]
List of properties which should be reset.
Returns Promise<void>
-
reset Property
- reset
Property<T>(nodeID: number, property: T): Promise<void> -
Resets the value of the property on the Node with the matching id.
Type Parameters
-
T extends string
Parameters
-
nodeID: number
The id of the Node whose property should be reset.
-
property: T
Property which should be reset.
Returns Promise<void>
-
set Parent
set Property
- set
Property<T>(nodeID: number | number[], property: T, value: PropertyType<T>, silent?: boolean): Promise<void> -
Sets the property named property to value on the Node with id nodeID.
Type Parameters
-
T extends string
Parameters
-
nodeID: number | number[]
The id of the Node whose property has to be set.
-
property: T
The name of the property that has to be set.
-
value: PropertyType<T>
The new value of the specified property.
-
Optional
silent: booleanThe silent flag indicates that no NODE_CHANGED event is fired.
Returns Promise<void>
-
With the InstanceGraphAPI the content of webvis can be controlled and manipulated. It resembles a scene graph like tree structure of Nodes. Every Node can contain links to 3D geometry and/or group other Nodes.
The get- and set-Property functions allow setting and retrieving properties of arbitrary type on the Nodes. Properties are used to modify any Node dependent data like color, local transformation, etc. There is a set of predefined Node properties that webvis will react on, but the surrounding application might add any other property to the Nodes.