diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/scene/scene.md | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/docs/scene/scene.md b/docs/scene/scene.md index 71214da8e3..6a624d3641 100644 --- a/docs/scene/scene.md +++ b/docs/scene/scene.md @@ -2,6 +2,12 @@ Scene ==== The 3D scene in Cura is designed as a [Scene Graph](https://en.wikipedia.org/wiki/Scene_graph), which is common in many 3D graphics applications. The scene graph of Cura is usually very flat, but has the possibility to have nested objects which inherit transformations from each other. +Scene Graph +---- +Cura's scene graph is a mere tree data structure. This tree contains all scene nodes, which represent the objects in the 3D scene. + +The main idea behind the scene tree is that each scene node has a transformation applied to it. The scene nodes can be nested beneath other scene nodes. The transformation of the parents is then also applied to the children. This way you can have scene nodes grouped together and transform the group as a whole. Since the transformations are all linear, this ensures that the elements of this group stay in the same relative position and orientation. It will look as if the whole group is a single object. This idea is very common for games where objects are often composed of multiple 3D models but need to move together as a whole. For Cura it is used to group objects together and to transform the collision area correctly. + Class Diagram ==== @@ -11,11 +17,6 @@ The following class diagram depicts the classes that interact with the Scene The scene lives in the Controller of the Application, and it is primarily interacting with SceneNode objects, which are the components of the Scene Graph. -Scene Graph ----- -Cura's scene graph is a mere tree data structure. This tree contains all scene nodes, which represent the objects in the 3D scene. - -The main idea behind the scene tree is that each scene node has a transformation applied to it. The scene nodes can be nested beneath other scene nodes. The transformation of the parents is then also applied to the children. This way you can have scene nodes grouped together and transform the group as a whole. Since the transformations are all linear, this ensures that the elements of this group stay in the same relative position and orientation. It will look as if the whole group is a single object. This idea is very common for games where objects are often composed of multiple 3D models but need to move together as a whole. For Cura it is used to group objects together and to transform the collision area correctly. A Typical Scene ---- |