InstanceGraphAPI¶
Interface InstanceGraphAPI
add(options: AddNodeOptions): number;
add(
dataURI: string,
parentID?: number,
usage?: UsageString,
label?: string,
contentType?: string,
initialProperties?: InitialNodeProperties,
cacheStrategy?: CacheStrategy,
): number;
addCustomNode(
customNodeType: string,
data: any,
dataType?: AttachmentType,
): number;
collectRuntimeNodesOfType(nodeType: NodeType, subType?: string): number[];
getEnabledAuxNodes(nodeID?: number): Promise<number[]>;
getMetadata(nodeID: number): Promise<{ [key: string]: string }>;
getProperties<T extends string>(
nodeID: number,
properties: T[],
): Promise<PropertyType<T>[]>;
getProperty<T extends string>(
nodeID: number,
property: T,
): Promise<PropertyType<T>>;
getRootNodeId(
target: number | TopologyHandle,
includeTarget?: boolean,
): number;
getStatistics(
nodeType?: NodeType,
nodeID?: number,
recursive?: boolean,
): Promise<any>;
invertEnabledStates(): void;
isNodeDeletable(nodeID: number): boolean;
isNodeType(nodeID: number, nodeType: NodeType): boolean;
registerCustomProperty(
name: string,
defaultValue: any,
recursive?: boolean,
): void;
remove(nodeID?: number | number[], safe?: boolean): Promise<RemoveState>;
requestActiveSceneVolume(): Promise<BoxVolume>;
requestAuxRootNodeIds(scopeNodeId?: number): Promise<number[]>;
requestFullSceneVolume(): Promise<BoxVolume>;
requestL3DInformation(targetNodeId: number): Promise<any>;
requestNodeIdsByBoxVolume(
boxVolume: BoxVolume,
includeOverlappingNodes?: boolean,
includeDisabledNodes?: boolean,
forceExpand?: boolean,
scopeNodeId?: number,
): Promise<number[]>;
requestRootNodeIds(
scopeNodeId?: number,
recursive?: boolean,
): Promise<number[]>;
resetProperties<T extends string>(
nodeID: number,
properties: T[],
recursive?: boolean,
): Promise<void>;
resetProperty<T extends string>(
nodeID: number,
property: T,
recursive?: boolean,
): Promise<void>;
setParent(nodeID: number, newParentID: number): void;
setProperty<T extends string>(
nodeID: number | number[],
property: T,
value: PropertyType<T>,
silent?: boolean,
): Promise<void>;
}
Hierarchy (View Summary)
- InstanceGraphAPI
Index
Methods
Methods
add
- add(options: AddNodeOptions): number
Adds a new Node to the InstanceGraph.
Parameters
- options: AddNodeOptions
Specifies the options for the new Node.
Returns number
The id of added Node
- options: AddNodeOptions
- add(
dataURI: string,
parentID?: number,
usage?: UsageString,
label?: string,
contentType?: string,
initialProperties?: InitialNodeProperties,
cacheStrategy?: CacheStrategy,
): number Parameters
- dataURI: string
Specifies the URI to the data resource.
Optional
parentID: numberSpecifies the parent Node ID of the added Node.
Optional
usage: UsageStringThe usage parameter allows to define how the resource should be inserted in the InstanceGraph.
Optional
label: stringSpecifies a custom label for the added Node.
Optional
contentType: stringSpecifies the MimeType of the data resource.
Optional
initialProperties: InitialNodePropertiesSpecifies initialProperties of the added Node.
Optional
cacheStrategy: CacheStrategySpecifies the strategy which is used when a data cache is requested from the Hub.
Returns number
The id of added Node
- dataURI: string
add Custom Node
- addCustomNode(
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
- customNodeType: string
collect Runtime Nodes Of Type
- collectRuntimeNodesOfType(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.
- nodeType: NodeType
get Enabled Aux Nodes
get Metadata
get Properties
- getProperties<T extends string>(
nodeID: number,
properties: T[],
): Promise<PropertyType<T>[]> Returns the values of the properties on the Node with the matching id.
Type Parameters
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.
- nodeID: number
get Property
- getProperty<T extends string>(
nodeID: number,
property: T,
): Promise<PropertyType<T>> Returns the value of the property on the Node with the matching id.
Type Parameters
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.
- nodeID: number
get Root Node Id
- getRootNodeId(target: number | TopologyHandle, includeTarget?: boolean): number
Returns the root Node id of the given Node or Topology Element.
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
- The root Node id of the given Node id or Topology handle.
- target: number | TopologyHandle
get Statistics
- getStatistics(
nodeType?: NodeType,
nodeID?: number,
recursive?: boolean,
): 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).
Optional
recursive: boolean
Returns Promise<any>
An Object of Type/Count pairs.
invert Enabled States
is Node Deletable
is Node Type
register Custom Property
remove
- remove(nodeID?: number | number[], safe?: boolean): Promise<RemoveState>
Removes the Node for the given nodeID from the Scene and all related Snapshots. If no nodeID is supplied all Nodes are deleted.
Parameters
Optional
nodeID: number | number[]The id of the Node that should be removed.
Optional
safe: booleanPerforms a safe remove which interrupt the removal process if the Node is part of one or more Snapshots.
Returns Promise<RemoveState>
request Active Scene Volume
request Aux Root Node Ids
request Full Scene Volume
request L3DInformation
request Node Ids By Box Volume
- requestNodeIdsByBoxVolume(
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: booleanOptional
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.
- boxVolume: BoxVolume
request Root Node Ids
- requestRootNodeIds(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
- resetProperties<T extends string>(
nodeID: number,
properties: T[],
recursive?: boolean,
): Promise<void> Resets the value of the specified properties on the given Node.
Type Parameters
Parameters
- nodeID: number
The id of the Node whose property should be reset.
- properties: T[]
List of properties which should be reset.
Optional
recursive: booleanIf set to true, the properties are reset recursively.
Returns Promise<void>
- nodeID: number
reset Property
- resetProperty<T extends string>(
nodeID: number,
property: T,
recursive?: boolean,
): Promise<void> Resets the value of the property on the Node with the matching id.
Type Parameters
Parameters
- nodeID: number
The id of the Node whose property should be reset.
- property: T
Property which should be reset.
Optional
recursive: booleanIf set to true, the properties are reset recursively.
Returns Promise<void>
- nodeID: number
set Parent
set Property
- setProperty<T extends string>(
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
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>
- nodeID: number | number[]
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.