You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3 KiB
C++

#ifndef META_SCAN_H
#define META_SCAN_H
#include "scan.h"
#include <vector>
class MetaScan : public Scan {
public:
MetaScan(std::vector<Scan*> 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<Scan*> m_scans;
};
#endif //META_SCAN_H