class sap.ui.vk.threejs.NodeHierarchy

Visiblity: public
UX Guidelines:
Implements:
Available since: N/A
Module: sap/ui/vk/threejs/NodeHierarchy
Application Component: CA-UI5-VTK

Provides the ability to explore a Scene object's node structure.

The objects of this class should not be created directly, and should only be created via a call to sap.ui.vk.Scene#getDefaultNodeHierarchy.


Constructor

Constructor for a new NodeHierarchy.

new sap.ui.vk.threejs.NodeHierarchy()

Methods Overview

Method Description
createLayerProxy

Creates a layer proxy object.

The layer proxy object must be destroyed with the destroyLayerProxy method.

createNode

Creates a new node.

createNodeCopy

Creates a copy of an existing node.

createNodeProxy

Creates a node proxy object.

The node proxy object must be destroyed with the destroyNodeProxy method.

destroyLayerProxy

Destroys the layer proxy object.

destroyNodeProxy

Destroys the node proxy object.

enumerateAncestors

Enumerates the ancestor nodes of a particular node in the Scene object.

This method enumerates the ancestor nodes of a particular node, and then calls the callback function, to which it passes the ancestor nodes to one by one.
The BaseNodeProxy objects passed to callback are temporary objects, they are reset after each call to the callback function.
The ancestor nodes are enumerated starting from the top level node, and progresses down the node hierarchy.

enumerateChildren

Enumerates the child nodes of a particular node in the Scene object.

This method gets the child nodes of a particular node, and then calls the callback function to which it passes the child nodes to one by one.
The BaseNodeProxy objects passed to the callback function are temporary objects, which are reset after each call to the callback function.

sap.ui.vk.threejs.NodeHierarchy.extend

Creates a new subclass of class sap.ui.vk.threejs.NodeHierarchy with name sClassName and enriches it with the information contained in oClassInfo.

oClassInfo might contain the same kind of information as described in sap.ui.vk.NodeHierarchy.extend.

findNodesByName

Finds nodes in a scene via node name.

getAncestors

Returns a list of reference objects belonging to the ancestors of a particular node.

getChildren

Returns a list of reference objects belonging to the children of a particular node.

getHotspotNodeIds

Returns a list of hotspot IDs.

getLayers

Returns a list of layer IDs.

sap.ui.vk.threejs.NodeHierarchy.getMetadata

Returns a metadata object for class sap.ui.vk.threejs.NodeHierarchy.

getNodeContentType

Get node content type

getScene

Gets the Scene object the node hierarchy belongs to.

getSceneRef

Gets the scene reference that this NodeHierarchy object wraps.

removeNode

Deletes a node and destroys it.

createLayerProxy

Creates a layer proxy object.

The layer proxy object must be destroyed with the destroyLayerProxy method.

Param Type DefaultValue Description
layerId string

The layer ID for which to create a proxy object.

createNode

Creates a new node.

Param Type DefaultValue Description
parentNode THREE.Object3D

The reference object of the parent node where the created node is added to. If equals null the newly created node is a top level node.

name string

The name of the new node.

insertBeforeNode THREE.Object3D

The created node is added before this specified node. If equals null the newly created node is added at the end of the parent's list of nodes.

nodeContentType sap.ui.vk.NodeContentType sap.ui.vk.NodeContentType.Regular

The created node content type.

content object

Optional Json structure used to define node properties.

createNodeCopy

Creates a copy of an existing node.

Param Type DefaultValue Description
nodeToCopy any

The reference object of the node to copy.

parentNode any

The reference object of the parent node where the created node is added to. If equals null the newly created node is a top level node.

name string

The name of the new node.

insertBeforeNode any

The created node is added before this specified node. If equals null the newly created node is added at the end of the parent's list of nodes.

createNodeProxy

Creates a node proxy object.

The node proxy object must be destroyed with the destroyNodeProxy method.

Param Type DefaultValue Description
nodeRef any

The reference object for which to create a proxy object.

destroyLayerProxy

Destroys the layer proxy object.

Param Type DefaultValue Description
layerProxy sap.ui.vk.LayerProxy

The layer proxy object.

destroyNodeProxy

Destroys the node proxy object.

Param Type DefaultValue Description
nodeProxy sap.ui.vk.NodeProxy

The node proxy object.

enumerateAncestors

Enumerates the ancestor nodes of a particular node in the Scene object.

This method enumerates the ancestor nodes of a particular node, and then calls the callback function, to which it passes the ancestor nodes to one by one.
The BaseNodeProxy objects passed to callback are temporary objects, they are reset after each call to the callback function.
The ancestor nodes are enumerated starting from the top level node, and progresses down the node hierarchy.

Param Type DefaultValue Description
nodeRef any

The reference object of a node whose ancestor nodes we want enumerated.

callback function

A function to call when the ancestor nodes are enumerated. The function takes one parameter of type sap.ui.vk.BaseNodeProxy, or string if parameter passNodeRef parameter is true.

passNodeRef boolean false

Indicates whether to pass the node references of the ancestor nodes, or the whole node proxy to the callback function.
If true, then only the node references of the ancestor nodes are passed to the callback function.
If false, then the node proxies of the ancestor nodes are passed to the callback function.

enumerateChildren

Enumerates the child nodes of a particular node in the Scene object.

This method gets the child nodes of a particular node, and then calls the callback function to which it passes the child nodes to one by one.
The BaseNodeProxy objects passed to the callback function are temporary objects, which are reset after each call to the callback function.

Param Type DefaultValue Description
nodeRef any

The reference object of a node whose child nodes we want enumerated.
When nodeRef is specified, the child nodes of this node are enumerated.
When no nodeRef is specified, only the top level nodes are enumerated.

callback function

A function to call when the child nodes are enumerated. The function takes one parameter of type sap.ui.vk.BaseNodeProxy, or string if parameter passNodeRef parameter is true.

stepIntoClosedNodes boolean false

Indicates whether to enumerate the child nodes if the node is closed.
If true, the children of that closed node will be enumerated
If false, the children of that node will not be enumerated

passNodeRef boolean false

Indicates whether to pass the node references of the child nodes, or the whole node proxy to the callback function.
If true, then only the node references of the child nodes are passed to the callback function.
If false, then the node proxies created from the child node references are passed to the callback function.

sap.ui.vk.threejs.NodeHierarchy.extend

Creates a new subclass of class sap.ui.vk.threejs.NodeHierarchy with name sClassName and enriches it with the information contained in oClassInfo.

oClassInfo might contain the same kind of information as described in sap.ui.vk.NodeHierarchy.extend.

Param Type DefaultValue Description
sClassName string

Name of the class being created

oClassInfo object

Object literal with information about the class

FNMetaImpl function

Constructor function for the metadata object; if not given, it defaults to the metadata implementation used by this class

findNodesByName

Finds nodes in a scene via node name.

Param Type DefaultValue Description
query object

JSON object containing the search parameters.
The following example shows what the structure of the query object should look like:

query = {
	value: string | string[],
	predicate: "equals" | "contains" | "startsWith",
	caseSensitive: true | false
}

  • query.value
    A string or an array of strings containing the name of a node or names of nodes. If no value is specified, then all nodes in the scene will be returned.
    The following example shows a single string being passed in:
    value: "Box #14"
    The following example shows an array of strings being passed in:
    value: ["Box #3", "box #4", "BOX #5"]
  • query.predicate
    Represents a search mode. The available search modes are "equals", "contains", and "startsWith".
    Using "equals" will search for nodes with names that exactly match the provided string or array of strings.
    Using "contains" will search for nodes with names containing all or part of the provided string or array of strings.
    Using "startsWith" will search for nodes with names starting with the provided string or array of strings.
    If no value is specified, the search mode will default to "equals".

  • query.caseSensitive
    Indicates whether the search should be case sensitive or not.
    If true, the search will be case sensitive, and false indicates otherwise.
    If no value is specified, caseSensitive will default to false (that is, the search will be a case-insensitive search).

getAncestors

Returns a list of reference objects belonging to the ancestors of a particular node.

Param Type DefaultValue Description
nodeRef any

The reference object of the node whose ancestors will be returned.

getChildren

Returns a list of reference objects belonging to the children of a particular node.

Param Type DefaultValue Description
nodeRef any

The reference object of the node whose children will be returned. If nodeRef is not passed to the getChildren function, the reference objects of the root nodes will be returned.

stepIntoClosedNodes boolean false

Indicates whether to return only the child nodes of a closed node or not. If true, then the children of that closed node will be returned. If false, then the children of that closed node will not be returned.

getHotspotNodeIds

Returns a list of hotspot IDs.

getLayers

Returns a list of layer IDs.

sap.ui.vk.threejs.NodeHierarchy.getMetadata

Returns a metadata object for class sap.ui.vk.threejs.NodeHierarchy.

getNodeContentType

Get node content type

Param Type DefaultValue Description
nodeRef any

The node reference

getScene

Gets the Scene object the node hierarchy belongs to.

getSceneRef

Gets the scene reference that this NodeHierarchy object wraps.

removeNode

Deletes a node and destroys it.

Param Type DefaultValue Description
nodeRef any

The reference object of a node or an array of nodes to destroy.