3D Scene
3D Scene contains 3D objects, materials, animations, attributes and relations
between these components.
3D Scene may be saved and loaded from file (3d file). If format is not
native to application some information may be lost, during import or export.
Node
Item in scene tree with optional children nodes and parent nodes. Node is an abstract version of 3d object. It has name, transformation and attributes.
Object
Object is almost equal to node, but has some real 3d data: geometry, light source or camera. In most cases Object is a geomtry. It has some visual representation in 3d window.
Scene Tree
This is structure and organization of nodes. Scene itself is single root node. It may have single or many children nodes. Each child of scene may have many sub-nodes as well. In result structure of objects looks like tree. If node has at lest one child we may call it group. Each node may be inserted into another node. It may be inserted many times to single parent node or to different parents.
Parent - Child relations
Since FinalMesh supports multiple parents for one node, there is a need to store insertion specific information: transformation, animation, materials outside of child node. Otherwise, all instances of this object will have same location and same attributes, which makes idea of instancing almost useless. For this reason insertion specific information is stored separetelly from child and parent. We call this item - link. Link keeps transformation, appearance, visibility attributes and few more things.
This explanation was given for better understanding of what happens when single objects is inserted multiple times, which information may be changed for single insertion only.
Material
Materials are attached to link between parent and child. Thus, each child may have its own material.