By looking back at our usecases, we might notice that the composition's main responsibilities from a logical point of view are as follows:
- Expose a list of elements that are contained in it
- Keep track of the selected element's id so that it can be removed from the composition when the user requires it
Furthermore, as we are not clearly separating the business entity from its visual representation, we will also define a few properties regarding the composition's look, the 3D scene representation, and input handling. Not very clean indeed, but hey, we are still prototyping!
Composition will be a Qt 3D entity containing a few more entities: a camera, a cameraController, and a group of Elements. It will also have a ...