Program Listing for File Object.h

Return to documentation for file (libs/mcg/include/mcg/Object.h)

#pragma once
#include "Block.h"

class Object {

  private:
    std::string id;
    std::string type;
    std::unique_ptr<Block> block;

  public:
    void shiftX(int shift);

    void shiftY(int shift);

    void shiftZ(int shift);

    void shift(int shiftX, int shiftY, int shiftZ);

    void virtual toSemanticMapJSON(nlohmann::json& json_base);

    void virtual toLowLevelMapJSON(nlohmann::json& json_base);

    Object(std::string id, std::string type, std::unique_ptr<Block> block);

    ~Object();
};