From 67fb28a4eddba173dbb607bcecd0fe949d5b6d5a Mon Sep 17 00:00:00 2001 From: joanvallve <jvallve@iri.upc.edu> Date: Fri, 14 Oct 2016 13:11:41 +0200 Subject: [PATCH] destruct instead of delete --- src/capture_base.cpp | 2 +- src/examples/test_processor_odom_3D.cpp | 7 ++++--- src/feature_base.cpp | 2 +- src/frame_base.cpp | 2 +- src/frame_base.h | 4 ++-- src/hardware_base.cpp | 2 +- src/hardware_base.h | 2 +- src/landmark_base.cpp | 1 + 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/capture_base.cpp b/src/capture_base.cpp index 1cceb9197..24f54d1e2 100644 --- a/src/capture_base.cpp +++ b/src/capture_base.cpp @@ -26,7 +26,7 @@ CaptureBase::~CaptureBase() is_deleting_ = true; while (!feature_list_.empty()) { - delete feature_list_.front(); + feature_list_.front()->destruct(); feature_list_.pop_front(); } } diff --git a/src/examples/test_processor_odom_3D.cpp b/src/examples/test_processor_odom_3D.cpp index da3511e90..9dbc7cf26 100644 --- a/src/examples/test_processor_odom_3D.cpp +++ b/src/examples/test_processor_odom_3D.cpp @@ -106,15 +106,16 @@ int main (int argc, char** argv) Scalar dt = 0.1; + CaptureMotion* cap_odo = new CaptureMotion(TimeStamp(0), sen, data); + cout << "t: " << 0 << " \t\t\t x = ( " << problem->getCurrentState().transpose() << ")" << endl; print(problem); cout << "--------------------------------------------------------------" << endl; for (TimeStamp t = dt; t < tf - Constants::EPS; t += dt) { - - CaptureMotion* cap_odo = new CaptureMotion(t, sen, data); - + cap_odo->setTimeStamp(t); + cap_odo->setData(data); cap_odo->process(); cout << "t: " << t.get() << " \t\t x = ( " << problem->getCurrentState().transpose() << ")" << endl; diff --git a/src/feature_base.cpp b/src/feature_base.cpp index 4b49c9dd7..4fb1db87f 100644 --- a/src/feature_base.cpp +++ b/src/feature_base.cpp @@ -51,7 +51,7 @@ FeatureBase::~FeatureBase() while (!constraint_list_.empty()) { - delete constraint_list_.front(); + constraint_list_.front()->destruct(); constraint_list_.pop_front(); } diff --git a/src/frame_base.cpp b/src/frame_base.cpp index 910d64ff5..af86a010c 100644 --- a/src/frame_base.cpp +++ b/src/frame_base.cpp @@ -76,7 +76,7 @@ FrameBase::~FrameBase() while (!capture_list_.empty()) { - delete capture_list_.front(); + capture_list_.front()->destruct(); capture_list_.pop_front(); } diff --git a/src/frame_base.h b/src/frame_base.h index 5317e643e..be960ba39 100644 --- a/src/frame_base.h +++ b/src/frame_base.h @@ -234,14 +234,14 @@ inline void FrameBase::removeCapture(const CaptureBaseIter& _capt_iter) { //std::cout << "removing capture " << (*_capt_iter)->nodeId() << " from Frame " << nodeId() << std::endl; capture_list_.erase(_capt_iter); - delete *_capt_iter; + //delete *_capt_iter; } inline void FrameBase::removeCapture(const CaptureBasePtr _capt_ptr) { //std::cout << "removing capture " << (*_capt_iter)->nodeId() << " from Frame " << nodeId() << std::endl; capture_list_.remove(_capt_ptr); - delete _capt_ptr; + //delete _capt_ptr; } inline StateStatus FrameBase::getStatus() const diff --git a/src/hardware_base.cpp b/src/hardware_base.cpp index 0b9c3fef9..221d824ce 100644 --- a/src/hardware_base.cpp +++ b/src/hardware_base.cpp @@ -38,7 +38,7 @@ SensorBasePtr HardwareBase::addSensor(SensorBasePtr _sensor_ptr) void HardwareBase::removeSensor(SensorBasePtr _sensor_ptr) { sensor_list_.remove(_sensor_ptr); - delete _sensor_ptr; +// delete _sensor_ptr; } } // namespace wolf diff --git a/src/hardware_base.h b/src/hardware_base.h index 663f62c25..410157e8c 100644 --- a/src/hardware_base.h +++ b/src/hardware_base.h @@ -55,7 +55,7 @@ namespace wolf { inline void HardwareBase::removeSensor(const SensorBaseIter& _sensor_iter) { sensor_list_.erase(_sensor_iter); - delete * _sensor_iter; +// delete * _sensor_iter; // removeDownNode(_sensor_iter); } diff --git a/src/landmark_base.cpp b/src/landmark_base.cpp index 52a35b928..3516fb855 100644 --- a/src/landmark_base.cpp +++ b/src/landmark_base.cpp @@ -46,6 +46,7 @@ LandmarkBase::~LandmarkBase() { //std::cout << "destruct() constraint " << (*constrained_by_list_.begin())->nodeId() << std::endl; constrained_by_list_.front()->destruct(); + constrained_by_list_.pop_front(); //std::cout << "deleted " << std::endl; } //std::cout << "constraints deleted" << std::endl; -- GitLab