NodeDummy Class
Inherits: | Node |
A dummy node is a zero-sized node that has no visual representation. It is used to organize the other nodes into a hierarchy: the dummy node serves as a parent node and enables to organize the other nodes that are made its children into a group.
A bounding box of the dummy node is equal to the bounding boxes of all its child nodes combined together.
Creating a Dummy Node
To create a dummy node, perform as follows:
- Create an instance of the NodeDummy class.
- Release script ownership so that the node can be added to UnigineEditor.
- Add the node to UnigineEditor (wherein, node ownership will be passed to the editor automatically).
You can also specify such settings as a name, transformation and so on.
#include <core/unigine.h>
int init() {
// create a dummy node
NodeDummy dummy = new NodeDummy();
// set a name
dummy.setName("DummyNode");
// release script ownership
class_remove(dummy);
// add the dummy node to the editor
engine.editor.addNode(dummy);
}
Organizing a Nodes Hierarchy
To organize nodes in a hierarchy, perform as follows:
- Create an instance of the NodeDummy class.
- Release script ownership so that the node can be added to UnigineEditor.
- Create a node and add it as a child to the created dummy node.
- Add the dummy node to UnigineEditor (wherein, node ownership will be passed to the editor automatically).
#include <core/unigine.h>
int init() {
// create a dummy node
NodeDummy root = new NodeDummy();
// set a name for the node
root.setName("root");
// release script ownership
class_remove(root);
// create child nodes
for (int y = -10; y <= 10; y++)
{
for (int x = -10; x <=10; x++)
{
// create a mesh
Mesh mesh = new Mesh();
mesh.addBoxSurface("box_0", vec3(1.0f));
// create a node (an instance of the ObjectMeshStatic class)
ObjectMeshStatic node = new ObjectMeshStatic(mesh);
// assign a material and a property to the node
for (int i = 0; i < node.getNumSurfaces(); i++)
{
node.setMaterial("mesh_base", i);
node.setProperty("surface_base", i);
}
// set node transformation
node.setWorldTransform(translate(Vec3(x * 2, y * 2, 0.0f)));
// set a name for the node
node.setName(format("mesh_%d_%d", x + 10, y + 10));
// release script ownership
class_remove(node);
// add the node as a child to the root dummy node
root.addWorldChild(node);
}
}
// add the root dummy node with its children to UnigineEditor
engine.editor.addNode(root);
}
NodeDummy Class
Members
static NodeDummy()
Constructor. Creates a dummy node.NodeDummy cast(Node node)
Casts a NodeDummy out of the Node instance.Arguments
- Node node - Node instance.
Return value
NodeDummy instance.int type()
Returns the type of the node.Return value
NodeDummy type identifier.Last update: 2018-08-10
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)