Helios++
Helios software for LiDAR simulations
PyMeasurementVectorWrapper.h
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyMeasurementWrapper.h>
6 #include <PyHeliosUtils.h>
7 #include <vector>
8 
19 public:
20  // *** ATTRIBUTES *** //
21  // ******************** //
22  std::vector<Measurement> allMeasurements;
23 
24  // *** CONSTRUCTION / DESTRUCTION *** //
25  // ************************************ //
26  PyMeasurementVectorWrapper(std::vector<Measurement> &allMeasurements) :
27  allMeasurements(allMeasurements) {}
28  virtual ~PyMeasurementVectorWrapper() {}
29 
30  // *** GETTERS and SETTERS *** //
31  // ***************************** //
32  PyMeasurementWrapper * get(long index){
33  return new PyMeasurementWrapper(allMeasurements[
34  PyHeliosUtils::handlePythonIndex(index, allMeasurements.size())
35  ]);
36  }
37  void erase(long index){
38  allMeasurements.erase(
39  allMeasurements.begin() +
40  PyHeliosUtils::handlePythonIndex(index, allMeasurements.size())
41  );
42  }
43  size_t length() {return allMeasurements.size();}
44 
45 };
46 
47 #endif
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:14
Wrapper for Measurement class.
Definition: PyMeasurementWrapper.h:15
Wrapper for std::vector<Measurement> class.
Definition: PyMeasurementVectorWrapper.h:18