From 69344c29c08446dc1d9b2ec145989d3407078d9e Mon Sep 17 00:00:00 2001
From: Julian Smith <jules@op59.net>
Date: Tue, 26 Oct 2021 17:22:10 +0100
Subject: [PATCH] src/Viewer/CameraGroup.*: give const access to 'CameraList
 _cameras;' member.

E.g. this allows callers to find Compositor(s) owned by CameraGroup.
---
 src/Viewer/CameraGroup.cxx | 5 +++++
 src/Viewer/CameraGroup.hxx | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/Viewer/CameraGroup.cxx b/src/Viewer/CameraGroup.cxx
index 586e5bbad..2d31ebe71 100644
--- a/src/Viewer/CameraGroup.cxx
+++ b/src/Viewer/CameraGroup.cxx
@@ -913,6 +913,11 @@ osg::Camera* getGUICamera(CameraGroup* cgroup)
     return cgroup->getGUICamera()->compositor->getPass(0)->camera;
 }
 
+const CameraGroup::CameraList& CameraGroup::getCameras()
+{
+    return _cameras;
+}
+
 static bool
 computeCameraIntersection(const CameraGroup *cgroup,
                           const CameraInfo *cinfo,
diff --git a/src/Viewer/CameraGroup.hxx b/src/Viewer/CameraGroup.hxx
index ce5ccf363..076c6f660 100644
--- a/src/Viewer/CameraGroup.hxx
+++ b/src/Viewer/CameraGroup.hxx
@@ -206,6 +206,9 @@ public:
 
     CameraInfo *getGUICamera() const;
 
+    typedef std::vector<osg::ref_ptr<CameraInfo>> CameraList;
+    const CameraList& getCameras();
+
 protected:
     friend CameraGroupListener;
     friend bool computeIntersections(const CameraGroup* cgroup,
@@ -214,7 +217,6 @@ protected:
                                      intersections);
     friend void reloadCompositors(CameraGroup *cgroup);
 
-    typedef std::vector<osg::ref_ptr<CameraInfo>> CameraList;
     CameraList _cameras;
     osg::ref_ptr<osgViewer::View> _viewer;
     static osg::ref_ptr<CameraGroup> _defaultGroup;