#pragma once

#include <array>
#include <iostream>
#include <string>
#include <vector>

// =================================================================================================

struct Camera
{
    std::string name;
    std::array<std::array<float, 3>, 3> K;
    std::vector<float> DC;
    std::array<std::array<float, 3>, 3> R;
    std::array<std::array<float, 1>, 3> T;
    int width;
    int height;
    std::string type;

    friend std::ostream &operator<<(std::ostream &out, Camera const &camera);
    std::string to_string() const;
};
