Compilers — VAT

class GrayscaleCompiler
#include <grayscale_compiler.h>

Public Functions

void compile()
GrayscaleCompiler(const std::shared_ptr<Node> &m_root, glm::vec3 voxel_size, glm::vec3 printer_volume, uint8_t low_material, uint8_t high_material, const std::string &output_directory, const std::string &file_prefix)
inline std::tuple<size_t, size_t, size_t> resolution() const
void setProgressCallback(const std::function<void(double)> &progress_callback)

Private Functions

void remove_empty_images_from_beginning(std::vector<size_t> active_voxel_counts, const std::string &filename_root)
void remove_empty_images_from_end(std::vector<size_t> active_voxel_counts, const std::string &filename_root)

Private Members

const std::string m_file_prefix
uint8_t m_high_material
uint8_t m_low_material
glm::vec3 m_max
glm::vec3 m_min
const std::string m_output_directory
glm::vec3 m_printer_volume
std::function<void(double)> m_progress_callback = nullptr
std::shared_ptr<Node> m_root
glm::vec3 m_voxel_size
size_t m_x_resolution
size_t m_y_resolution
size_t m_z_resolution