implemented gazebo system (server) plugin interface - Configure, PreUpdate and PostUpdate functions
connected RGL using FetchContent
added mesh detection from gazebo internals (both primitive and external meshes)
added the meshes to rgl scene
implemented rgl lidar entity in gazebo
pose updates from gazebo to rgl for both lidar and other entities
rgl ray tracing hits visible in GUI if RGLGuiPlugin is loaded
divided RGLGazeboPlugin into three parts: RGLServerPluginManager, RGLServerPluginInstance and RGLGuiPlugin (since the visualization does not need rgl)
RGLServerPluginManager manages adding meshes and entities to the rgl scene, while RGLServerPluginInstance takes care of raycasting and publishing PointCloudPacked messages. You can create as many RGLServerPluginInstances as you like - there is multiple lidar support