// Copyright 2024 SquareBlock Inc. All Rights Reserved. // Author: tianlei.richard@qq.com (tianlei.richard) #pragma once #include #include using Vector3d = Eigen::Vector3d; using Point2d = Eigen::Vector2d; using Point3d = Eigen::Vector3d; using BBox = cv::Rect2i; using TransformMatrix = Eigen::Matrix; typedef struct Vertex { Vertex(const Point3d &p, const Vector3d &n, const Point2d &tex_coor) : position(p), normal(n), texture_coordinate({tex_coor, 1.}) {} Point3d position; Vector3d normal; std::pair texture_coordinate; } Vertex;