#ifndef META_SCAN_H #define META_SCAN_H #include "scan.h" #include class MetaScan : public Scan { public: MetaScan(std::vector scans, int nns_method = -1, bool cuda_enabled = false); virtual ~MetaScan(); //! How many scans this meta scan contains unsigned int size() const; //! Return the contained scan Scan* getScan(unsigned int i) const; virtual void setRangeFilter(double max, double min) {} virtual void setHeightFilter(double top, double bottom) {} virtual const char* getIdentifier() const { return "metascan"; } virtual DataPointer get(const std::string& identifier) { return DataPointer(0, 0); } virtual void get(unsigned int types) {} virtual DataPointer create(const std::string& identifier, unsigned int size) { return DataPointer(0, 0); } virtual void clear(const std::string& identifier) {} virtual unsigned int readFrames() { return 0; } virtual void saveFrames() {} virtual unsigned int getFrameCount() { return 0; } virtual void getFrame(unsigned int i, const double*& pose_matrix, AlgoType& type) {} protected: virtual void createSearchTreePrivate(); virtual void calcReducedOnDemandPrivate() {} virtual void calcNormalsOnDemandPrivate() {} virtual void addFrame(AlgoType type) {} private: std::vector m_scans; }; #endif //META_SCAN_H