mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
EigenMesh upgraded with inside check capability.
This commit is contained in:
parent
7a677a673f
commit
e160cf3ffb
3 changed files with 95 additions and 27 deletions
|
@ -120,16 +120,21 @@ public:
|
|||
~EigenMesh3D();
|
||||
|
||||
EigenMesh3D(const EigenMesh3D& other);
|
||||
// EigenMesh3D(EigenMesh3D&&) = default;
|
||||
EigenMesh3D& operator=(const EigenMesh3D&);
|
||||
// EigenMesh3D& operator=(EigenMesh3D&&) = default;
|
||||
|
||||
inline double ground_level() const { return m_ground_level; }
|
||||
|
||||
inline const Eigen::MatrixXd& V() const { return m_V; }
|
||||
inline const Eigen::MatrixXi& F() const { return m_F; }
|
||||
|
||||
// Casting a ray on the mesh, returns the distance where the hit occures.
|
||||
double query_ray_hit(const Vec3d &s, const Vec3d &dir) const;
|
||||
|
||||
// The signed distance from a point to the mesh. Outputs the distance,
|
||||
// the index of the triangle and the closest point in mesh coordinate space.
|
||||
std::tuple<double, unsigned, Vec3d> signed_distance(const Vec3d& p) const;
|
||||
|
||||
bool inside(const Vec3d& p) const;
|
||||
};
|
||||
|
||||
using PointSet = Eigen::MatrixXd;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue