diff --git a/src/processor/processor_bundle_adjustment.cpp b/src/processor/processor_bundle_adjustment.cpp index 627296b8bae01036c90c69a98436e9125b05fc7f..d70e7e7dc79f9aed9c88d099657412f102ce7355 100644 --- a/src/processor/processor_bundle_adjustment.cpp +++ b/src/processor/processor_bundle_adjustment.cpp @@ -62,7 +62,8 @@ void ProcessorBundleAdjustment::configure(SensorBasePtr _sensor) { //TODO: Implement if needed //Initialize camera sensor pointer - camera = std::static_pointer_cast<SensorCamera>(_sensor); + camera = std::dynamic_pointer_cast<SensorCamera>(_sensor); + assert(camera != nullptr && "Sensor is not of type Camera"); } diff --git a/src/processor/processor_tracker_feature_image.cpp b/src/processor/processor_tracker_feature_image.cpp index 8d8149ba240a2c0ac76eea576289a82c3b4612d7..2f8d8195ca8046ac74f0412c9ad2f84bb37f5483 100644 --- a/src/processor/processor_tracker_feature_image.cpp +++ b/src/processor/processor_tracker_feature_image.cpp @@ -44,7 +44,8 @@ ProcessorTrackerFeatureImage::~ProcessorTrackerFeatureImage() void ProcessorTrackerFeatureImage::configure(SensorBasePtr _sensor) { - SensorCameraPtr camera = std::static_pointer_cast<SensorCamera>(_sensor); + SensorCameraPtr camera = std::dynamic_pointer_cast<SensorCamera>(_sensor); + assert(camera != nullptr && "Sensor is not of type Camera"); image_.width_ = camera->getImgWidth(); image_.height_ = camera->getImgHeight(); diff --git a/src/processor/processor_tracker_feature_trifocal.cpp b/src/processor/processor_tracker_feature_trifocal.cpp index d170ec5313c9d16d7511c60242707720d8e70cdf..b67609dc4020ac861dce2f7a445602273c9364b6 100644 --- a/src/processor/processor_tracker_feature_trifocal.cpp +++ b/src/processor/processor_tracker_feature_trifocal.cpp @@ -448,6 +448,8 @@ void ProcessorTrackerFeatureTrifocal::setParams(const ProcessorParamsTrackerFeat void ProcessorTrackerFeatureTrifocal::configure(SensorBasePtr _sensor) { + SensorCameraPtr camera = std::dynamic_pointer_cast<SensorCamera>(_sensor); + assert(camera != nullptr && "Sensor is not of type Camera"); _sensor->setNoiseStd(Vector2d::Ones() * params_tracker_feature_trifocal_->pixel_noise_std); } diff --git a/src/processor/processor_tracker_landmark_image.cpp b/src/processor/processor_tracker_landmark_image.cpp index 841d501c8ca9a62c5adec7dbdd1e808c8a7607f7..a0024e3ef668aeb353cd52f582e010a0e7143816 100644 --- a/src/processor/processor_tracker_landmark_image.cpp +++ b/src/processor/processor_tracker_landmark_image.cpp @@ -58,6 +58,10 @@ ProcessorTrackerLandmarkImage::~ProcessorTrackerLandmarkImage() void ProcessorTrackerLandmarkImage::configure(SensorBasePtr _sensor) { + + auto sensor = std::dynamic_pointer_cast<SensorCamera>(_sensor); + assert(sensor != nullptr && "Sensor is not of type Camera"); + SensorCameraPtr camera(std::static_pointer_cast<SensorCamera>(_sensor)); image_.width_ = camera->getImgWidth(); image_.height_ = camera->getImgHeight();