I'd like some advice on the design of a mesh class. Currently I have a Mesh class that holds instance data such as local Position, Orientation, etc. I also have a Geometry class which holds the low-level data such as buffers, array of vertices/indices, etc. Geometry objects are unique and there might be a 1:N relationship with mesh objects. Meshes can then be part of a scene tree used to chain transformations.
Everything works as long as each model imported consists exactly of one submesh. Should I implement a MeshGroup class having an array of Geometry objects? Another approach that I was thinking of was to let each complex object specify the number of Meshes it needs (each Mesh would be a different field variable). Then for rendering purposes, each class would specify how to properly build a scene tree branch holding the different mesh parts.
I am aware that in the long run it is probably better to fuse static meshes together in a bigger VBO, but for the moment I am not even close to needing this kind of optimization.