Skip to content
Snippets Groups Projects
frame_impl.hpp 806 B
Newer Older
Nicolas Pope's avatar
Nicolas Pope committed
#pragma once

#include <voltu/types/frame.hpp>
#include <voltu/types/image.hpp>
#include <voltu/types/channel.hpp>
#include <ftl/data/new_frameset.hpp>

namespace voltu
{
namespace internal
{

class FrameImpl : public voltu::Frame
{
public:
	FrameImpl();
	~FrameImpl() override;
Nicolas Pope's avatar
Nicolas Pope committed

	std::list<voltu::ImagePtr> getImageSet(voltu::Channel) override;

	voltu::PointCloudPtr getPointCloud(voltu::PointCloudFormat cloudfmt, voltu::PointFormat pointfmt) override;

	std::vector<std::string> getMessages() override;

Nicolas Pope's avatar
Nicolas Pope committed
	int64_t getTimestamp() override;

	void pushFrameSet(const std::shared_ptr<ftl::data::FrameSet> &fs);

	inline const std::list<std::shared_ptr<ftl::data::FrameSet>> &getInternalFrameSets() const { return framesets_; }

private:
	std::list<std::shared_ptr<ftl::data::FrameSet>> framesets_;
};

}
}