diff --git a/src/user/user_mesh.cc b/src/user/user_mesh.cc index 21f05cbe..a1c30cbe 100644 --- a/src/user/user_mesh.cc +++ b/src/user/user_mesh.cc @@ -62,7 +62,6 @@ #include "user/user_objects.h" #include "user/user_resource.h" #include "user/user_util.h" -#include extern "C" { #include "qhull_ra.h" @@ -395,7 +394,7 @@ void mjCMesh::CacheMesh(mjCCache* cache, const mjResource* resource, + (sizeof(int) * vertex_index_.size()) + (sizeof(int) * normal_index_.size()) + (sizeof(int) * texcoord_index_.size()) - + (sizeof(unsigned char) * num_face_vertices_.size()); + + (sizeof(face_vertices_type) * num_face_vertices_.size()); std::shared_ptr cached_data(mesh, +[](const void* data) { const mjCMesh* mesh = static_cast(data); diff --git a/src/user/user_objects.h b/src/user/user_objects.h index 8d853946..073182b3 100644 --- a/src/user/user_objects.h +++ b/src/user/user_objects.h @@ -31,6 +31,10 @@ #include #include "user/user_cache.h" #include "user/user_util.h" +#include + +using face_vertices_type = + decltype(tinyobj::mesh_t::num_face_vertices)::value_type; // forward declarations of all mjC/X classes class mjCError; @@ -1010,7 +1014,7 @@ class mjCMesh: public mjCMesh_, private mjsMesh { std::vector vertex_index_; std::vector normal_index_; std::vector texcoord_index_; - std::vector num_face_vertices_; + std::vector num_face_vertices_; // compute the volume and center-of-mass of the mesh given the face center void ComputeVolume(double CoM[3], mjtGeomInertia gtype, const double facecen[3]);