diff --git a/src/capture_base.cpp b/src/capture_base.cpp index 1cceb9197f5d6f119463160fd568c0767ce78faa..24f54d1e2efbf2aac83427a1776e807f27686c48 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 da3511e90a046a781fb9ca218cafdccec36ddfce..9dbc7cf2662751853ddba30da57663a66e4befd5 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 4b49c9dd76048d62bd3a158f7895d91dfe209043..4fb1db87f1256a23abd9cb6976b1665dee977bde 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 910d64ff558b8545568c58126ffb096e9972b268..af86a010ca4a650f9b1a3743118db47f8f1d9648 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 5317e643e45751e348c96350dc7f0b504395dc3b..be960ba39d46dfcdc8788568a989ba4d5446589d 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 0b9c3fef9c9af7feb465a2f7a47d17e16e28990e..221d824cecba9e3dbc41f75b58182892150eb6f6 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 663f62c2596f47dbb0c1b3e289a60700f6be6a99..410157e8c600d65939bbb9dd1dc7b96b0af109a1 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 52a35b92831f81305cf17504e6ffa32a539755a5..3516fb855641fea701924dca79ababc3b51e7d8d 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;