<commit_before>#pragma once

#include "eigen.hh"

#include "geometry/ray.hh"

namespace slam {

class CameraModel {
 public:
  using Vec2    = Eigen::Vector2d;
  using Vec3    = Eigen::Vector3d;
  using Vec4    = Eigen::Vector4d;
  using ProjMat = Eigen::Matrix<double, 3, 3>;

  CameraModel(const ProjMat& K) : K_(K){};

  //
  // @param *: use google pls<commit_msg>More rename ray<commit_after>#pragma once

#include "eigen.hh"

#include "geometry/shapes/ray.hh"

namespace slam {

class CameraModel {
 public:
  using Vec2    = Eigen::Vector2d;
  using Vec3    = Eigen::Vector3d;
  using Vec4    = Eigen::Vector4d;
  using ProjMat = Eigen::Matrix<double, 3, 3>;

  CameraModel(const ProjMat& K) : K_(K){};

  //
  // @param *: use google pls
{'fraction_non_alphanumeric': 0.14093959731543623, 'fraction_numerical': 0.021476510067114093, 'mean_word_length': 3.6049382716049383, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5488070', 'n_tokens_mistral': 293, 'n_tokens_neox': 273, 'n_words': 67}