Removed an obsolete variable from MeshRaycaster

This commit is contained in:
Lukas Matena 2019-12-12 13:19:16 +01:00
parent 537260494d
commit 9805b02a25
2 changed files with 7 additions and 8 deletions

View file

@ -195,10 +195,10 @@ Vec3f MeshRaycaster::get_closest_point(const Vec3f& point, Vec3f* normal) const
Vec3d closest_point; Vec3d closest_point;
m_emesh.squared_distance(point.cast<double>(), idx, closest_point); m_emesh.squared_distance(point.cast<double>(), idx, closest_point);
if (normal) { if (normal) {
const stl_triangle_vertex_indices& indices = m_mesh->its.indices[idx]; auto indices = m_emesh.F().row(idx);
Vec3f a(m_mesh->its.vertices[indices(1)] - m_mesh->its.vertices[indices(0)]); Vec3d a(m_emesh.V().row(indices(1)) - m_emesh.V().row(indices(0)));
Vec3f b(m_mesh->its.vertices[indices(2)] - m_mesh->its.vertices[indices(0)]); Vec3d b(m_emesh.V().row(indices(2)) - m_emesh.V().row(indices(0)));
*normal = Vec3f(a.cross(b)); *normal = Vec3f(a.cross(b).cast<float>());
} }
return closest_point.cast<float>(); return closest_point.cast<float>();
} }

View file

@ -105,10 +105,10 @@ private:
// whether certain points are visible or obscured by the mesh etc. // whether certain points are visible or obscured by the mesh etc.
class MeshRaycaster { class MeshRaycaster {
public: public:
// The class saves a const* to the mesh, calledz is responsible // The class makes a copy of the mesh as EigenMesh3D.
// for making sure it does not get invalid. // The pointer can be invalidated after constructor returns.
MeshRaycaster(const TriangleMesh& mesh) MeshRaycaster(const TriangleMesh& mesh)
: m_emesh(mesh), m_mesh(&mesh) : m_emesh(mesh)
{} {}
// Given a mouse position, this returns true in case it is on the mesh. // Given a mouse position, this returns true in case it is on the mesh.
@ -138,7 +138,6 @@ public:
private: private:
sla::EigenMesh3D m_emesh; sla::EigenMesh3D m_emesh;
const TriangleMesh* m_mesh = nullptr;
}; };