#ifndef MY_MESH_H #define MY_MESH_H #include #include #include #include #include #include #include struct MyTraits : public OpenMesh::DefaultTraits { using Point = Eigen::Vector3; using Normal = Eigen::Vector3; using Color = Eigen::Vector3; VertexAttributes(OpenMesh::Attributes::Normal | OpenMesh::Attributes::Color); HalfedgeAttributes(OpenMesh::Attributes::PrevHalfedge); FaceAttributes(OpenMesh::Attributes::Normal); // EdgeAttributes(OpenMesh::Attributes::Color); }; class MyMesh : public OpenMesh::TriMesh_ArrayKernelT { public: Color default_color {.5, .5, .5}; QMatrix4x4 transform; std::vector> holes; }; typedef MyMesh::FaceHandle FaceHandle; typedef MyMesh::VertexHandle VertexHandle; typedef MyMesh::HalfedgeHandle HalfedgeHandle; typedef MyMesh::EdgeHandle EdgeHandle; typedef MyMesh::Point Point; #endif