Commit fa9b1ba6 authored by alexandre burton's avatar alexandre burton
Browse files

Ajout d'une classe Calibration pour afficher des boîtes via config JSON

parent abe9296c
#ifndef Calibration_h
#define Calibration_h
#include "ofMain.h"
class Marqueur {
public:
Marqueur(size_t id, glm::vec3 position, glm::vec3 dimension) {
position_=position;
dimension_=dimension;
id_=id;
}
void draw() {
ofPushStyle();
ofPushMatrix();
ofDrawBox(position_, dimension_.x, dimension_.y, dimension_.z);
ofTranslate(position_);
ofDrawBitmapString("M"+ofToString(id_),0,0);
ofPopMatrix();
ofPopStyle();
}
glm::vec3 position_;
glm::vec3 dimension_;
size_t id_;
};
class Calibration {
public:
Calibration () {};
void setup(std::string json_path) {
ofFile file(json_path);
if(file.exists()){
file >> js_;
for(auto & marqueur: js_["marqueurs"]){
marqueurs_.push_back(make_unique<Marqueur>(marqueur["id"],
glm::vec3(marqueur["position"][0], marqueur["position"][1], marqueur["position"][2]),
glm::vec3(marqueur["dimension"][0],marqueur["dimension"][1],marqueur["dimension"][2])));
}
return true;
} else {
std::cout << "Calibration: configuration non-existante: " << json_path << std::endl;
return false;
}
}
void draw() {
for (const auto & marqueur: marqueurs_) {
marqueur->draw();
}
}
std::vector<std::unique_ptr<Marqueur>> marqueurs_;
ofJson js_;
};
#endif /* Calibration_h */
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment