18 #ifndef GZ_SIM_GUI_VISUALIZEFRUSTUM_HH_
19 #define GZ_SIM_GUI_VISUALIZEFRUSTUM_HH_
24 #include "gz/msgs/camera_info.pb.h"
25 #include "gz/msgs/header.pb.h"
26 #include "gz/msgs/logical_camera_sensor.pb.h"
35 inline namespace GZ_SIM_VERSION_NAMESPACE
37 class VisualizeFrustumPrivate;
62 double horizontalFov{1.0471975512};
65 double aspectRatio{1.3333333333};
81 public:
void LoadConfig(
const tinyxml2::XMLElement *_pluginElem)
override;
84 public:
bool eventFilter(QObject *_obj, QEvent *_event)
override;
92 public:
void OnScan(
const msgs::LogicalCameraSensor &_msg);
114 public: Q_INVOKABLE
void OnTopic(
const QString &_topicName);
126 private:
std::string FrameIdFromHeader(
const msgs::Header &_header)
const;
132 private:
bool FrustumDataFromLogicalCamera(
133 const msgs::LogicalCameraSensor &_msg,
140 private:
bool FrustumDataFromCameraInfo(
141 const msgs::CameraInfo &_msg,
146 private:
void ApplyFrustumData(
const FrustumData &_data);