File plugin.hpp
File List > ada > mesh_decompression_grey > plugin.hpp
Go to the documentation of this file
#pragma once
#include "illixr/data_format/draco.hpp"
#include "illixr/data_format/mesh.hpp"
#include "illixr/phonebook.hpp"
#include "illixr/plugin.hpp"
#include "illixr/relative_clock.hpp"
#include "illixr/switchboard.hpp"
// draco_illixr related libraries
#include "draco_illixr/compression/decode.h"
#include "draco_illixr/io/file_utils.h"
#include "draco_illixr/io/ply_decoder.h"
#include "draco_illixr/io/ply_property_writer.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace ILLIXR {
using VoxelBlockIndex = std::tuple<int, int, int>;
using NewVB = std::tuple<VoxelBlockIndex, std::vector<Eigen::Vector3d>, std::vector<Eigen::Vector3d>>;
class mesh_decompression : public plugin {
public:
[[maybe_unused]] mesh_decompression(const std::string& name_, phonebook* pb_);
~mesh_decompression() override;
void process_frame(switchboard::ptr<const data_format::mesh_type> datum);
private:
uint mesh_count_;
const std::shared_ptr<switchboard> switchboard_;
std::shared_ptr<switchboard::writer<data_format::draco_type>> decoded_mesh_;
std::vector<std::thread> decompress_thread_;
};
} // namespace ILLIXR