10 #include <mrpt/core/lock_helper.h>
11 #include <mrpt/opengl/CFrustum.h>
12 #include <mrpt/opengl/COpenGLScene.h>
13 #include <mrpt/opengl/stock_objects.h>
14 #include <mrpt/random.h>
15 #include <mrpt/version.h>
22 using namespace mvsim;
43 sensor_params_.cameraPose = mrpt::poses::CPose3D(0, 0, 0.5, 90.0_deg, 0, 90.0_deg);
61 params[
"cx"] =
TParamEntry(
"%lf", &rgbCam.intrinsicParams(0, 2));
62 params[
"cy"] =
TParamEntry(
"%lf", &rgbCam.intrinsicParams(1, 2));
63 params[
"fx"] =
TParamEntry(
"%lf", &rgbCam.intrinsicParams(0, 0));
64 params[
"fy"] =
TParamEntry(
"%lf", &rgbCam.intrinsicParams(1, 1));
66 unsigned int rgb_ncols = rgbCam.ncols, rgb_nrows = rgbCam.nrows;
76 rgbCam.ncols = rgb_ncols;
77 rgbCam.nrows = rgb_nrows;
84 const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& viz,
85 [[maybe_unused]]
const mrpt::optional_ref<mrpt::opengl::COpenGLScene>& physical,
86 [[maybe_unused]]
bool childrenOnly)
91 #if MRPT_VERSION >= 0x270
122 const float frustumScale = 0.4e-3;
124 mrpt::opengl::CFrustum::Create(
last_obs2gui_->cameraParams, frustumScale);
130 using namespace mrpt;
134 (-mrpt::poses::CPose3D::FromYawPitchRoll(-90.0_deg, 0.0_deg, -90.0_deg)));
149 const auto globalSensorPose = pp +
sensor_params_.cameraPose.asTPose();
157 using namespace mrpt;
169 auto curObs = mrpt::obs::CObservationImage::Create(
sensor_params_);
177 mrpt::opengl::CFBORender::Parameters p;
185 auto viewport = world3DScene.getViewport();
189 const auto fixedAxisConventionRot =
190 mrpt::poses::CPose3D(0, 0, 0, -90.0_deg, 0.0_deg, -90.0_deg);
195 cam.set6DOFMode(
true);
196 cam.setProjectiveFromPinhole(curObs->cameraParams);
205 const auto rgbSensorPose = vehiclePose + curObs->cameraPose;
207 cam.setPose(
world()->applyWorldRenderOffset(rgbSensorPose));
250 const auto globalSensorPose = p +
sensor_params_.cameraPose.asTPose();