Package com.j3d.engine.scene
Da Scene
The entire idea is that, everything should be made up from smaller pieces before constructing the entire huge piece.
Which ties into the idea of a SceneObject. In the simplest terms, it represents any node that can participate
within the scene.
All SceneObjects are extremely fundamental in that, many subsystems have to explicit use, check or apply them
multiple times. These subsystems are: properties, the entirety of the command line interface.
Node Structure
The "simplest" set of similar SceneObjects are GObject(s) (Graphics Objects), which store state about
simple shapes/geometry that the user can edit directly. E.g. a point, a line, a triangle, (future) a polyline, etc...
GObjects tend to reference each other, say a GTri references 3 GLine + 3 GPoint.
The next, is a container for multiple GObjects, being a Thing. This does have extra logic such as
transforming multiple GObjects in unison, but other than that no GObject can actually be drawn or
interacted with unless it is part of a parent Thing
And lastly, a Layer hodls multiple Things. Layers at the moment are really for organisation and just
handling multiple Things at once. It's a glorified ArrayList
Package Structure
Classes
-
SceneManager, the most important class to even think about interacting with anything related to the scene. It holds all the state about the scene being: the entire scene graph, the history, and more. The main instance link any other single-instance property should be accessed viaStaticRefs -
Camera, which controls the viewpoint and projection of the 3D scene, determining what is visible to the user. Similar toSceneManager, the user's main camera can be accessed viaStaticRefs -
SceneObject, base interface which all scene elements implement to participate i n the 3D environment.
Sub-packages
-
com.j3d.engine.scene.nodescontains all the classes and interfaces relating to the scene graph's fundamental building blocks, includingThings,Layers, and variousGObjects. -
com.j3d.engine.scene.findcontains everything you could possibly need to find a specific instance without the scene graph without having to traverse it yourself. -
com.j3d.engine.scene.copycontains the classes responsible for copy operations relating toGObjects in particular for CTRL+C and CTRL+V -
com.j3d.engine.scene.drawcontains classes and interfaces responsible for the actual rendering and drawing of scene elements onto the display.
- Author:
- Lehlogonolo Poole
- See Also:
-
ClassDescriptionRepresents the virtual camera in the 3D scene.Exception thrown when a default object, essential for the engine's operation, is removed from the scene.Represents an exception that occurs within the 3D scene or engine.SceneManager is the class.A generic object within the scene.