About Link Nodes

Link nodes implement the concept of included content at the level of node. Like includes or pointers in C++, link nodes can be tricky to understand unless you understand how linking works before you try to implement a heavily virtualized database.

NOTE: It is possible, and may be useful in some cases, to point a link node at any type of file on the hard disk. Please be aware that this may cause problems if not properly managed: ScenomePlatform will try to load the file, and if successful, will attempt to "render" its contents. You results may vary.

Link nodes have three primary functions:

Same Database References

Link nodes can point at any node in the scene graph. For example, in ScenomePlatform all mesh nodes have a palette group.

Figure 1.1. In the following example, the mesh node uses the link node to provide the pointer to its palette group. ParametricMeshNode points at Link: Mesh-to-Group. The link node points at MeshPaletteGroup.

  • Root
    • MeshPaletteGroup
      • MaterialNode
    • ParametricMeshNode
      • RectangleGeometryModifier

Pointing At An External Database

Link nodes can point at an external database.

Figure 1.2. In the following example, the link node points at an external database. This database is rendered as if it is part of the local database.

  • Root

Pointing At A Specific Node In An External Database

Link nodes can point at an external database.

Figure 1.3. In the following example, the first link node, Link: InfiniteLight points at a specific light inside an external database. The second link node, Link: GrassMaterial points at a specific material inside an external database. A link node can point an entire database or a single node and all the node's children; a link node cannot point at multiple nodes.

  • Root
    • MeshPaletteGroup
    • ParametricMeshNode
      • RectangleGeometryModifier
      • GeographicProjectionModifier
      • DisplaceModifier
      • CalculateNormalsModifier

Database Structure

The need to separate large databases into a set of smaller databases introduces significant difficulties. The link node solves many of these difficulties by allowing you to create relationships between data in separate files.

Registration

Class registration and implementation information is as follows:

Category TypeInformation
ImplementationC++
ModuleGEOMETRY.DLL
CoreYes
Class HierarchyNode » Link
Outgoing DependenciesNode, External File Path, External Node Path