mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	WIP
This commit is contained in:
		
							parent
							
								
									7fa430c56d
								
							
						
					
					
						commit
						8391e73416
					
				
					 2 changed files with 21 additions and 39 deletions
				
			
		|  | @ -557,23 +557,21 @@ Vec3d model_coord(const ModelInstance& object, const Vec3f& mesh_coord) { | |||
|     return object.transform_vector(mesh_coord.cast<double>()); | ||||
| } | ||||
| 
 | ||||
| double ray_mesh_intersect(const Vec3d& s, | ||||
|                           const Vec3d& dir, | ||||
|                           const EigenMesh3D& m); | ||||
| 
 | ||||
| double pinhead_mesh_intersect(const Vec3d& jp, | ||||
|                               const Vec3d& dir, | ||||
|                               double r1, | ||||
|                               double r2, | ||||
|                               const EigenMesh3D& m); | ||||
| inline double ray_mesh_intersect(const Vec3d& s, | ||||
|                                  const Vec3d& dir, | ||||
|                                  const EigenMesh3D& m) | ||||
| { | ||||
|     return m.query_ray_hit(s, dir); | ||||
| } | ||||
| 
 | ||||
| // Wrapper only
 | ||||
| inline double pinhead_mesh_intersect(const Head& head, const EigenMesh3D& m) { | ||||
|     return pinhead_mesh_intersect(head.junction_point(), | ||||
|                                   head.dir, | ||||
|                                   head.r_pin_mm, | ||||
|                                   head.r_back_mm, | ||||
|                                   m); | ||||
| //    return pinhead_mesh_intersect(head.junction_point(),
 | ||||
| //                                  head.dir,
 | ||||
| //                                  head.r_pin_mm,
 | ||||
| //                                  head.r_back_mm,
 | ||||
| //                                  m);
 | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| PointSet normals(const PointSet& points, const EigenMesh3D& mesh, | ||||
|  |  | |||
|  | @ -146,9 +146,17 @@ EigenMesh3D &EigenMesh3D::operator=(const EigenMesh3D &other) | |||
| 
 | ||||
| double EigenMesh3D::query_ray_hit(const Vec3d &s, const Vec3d &dir) const | ||||
| { | ||||
|     return 0; | ||||
|     igl::Hit hit; | ||||
|     hit.t = std::numeric_limits<float>::infinity(); | ||||
|     m_aabb->intersect_ray(m_V, m_F, s, dir, hit); | ||||
| 
 | ||||
|     return double(hit.t); | ||||
| } | ||||
| 
 | ||||
| /* ****************************************************************************
 | ||||
|  * Misc functions | ||||
|  * ****************************************************************************/ | ||||
| 
 | ||||
| bool point_on_edge(const Vec3d& p, const Vec3d& e1, const Vec3d& e2, | ||||
|                    double eps = 0.05) | ||||
| { | ||||
|  | @ -294,30 +302,6 @@ PointSet normals(const PointSet& points, const EigenMesh3D& mesh, | |||
|     return ret; | ||||
| } | ||||
| 
 | ||||
| double ray_mesh_intersect(const Vec3d& s, | ||||
|                           const Vec3d& dir, | ||||
|                           const EigenMesh3D& m) | ||||
| { | ||||
|     igl::Hit hit; | ||||
|     hit.t = std::numeric_limits<float>::infinity(); | ||||
| 
 | ||||
|     // Fck: this does not use any kind of spatial index acceleration...
 | ||||
|     igl::ray_mesh_intersect(s, dir, m.V(), m.F(), hit); | ||||
|     return double(hit.t); | ||||
| } | ||||
| 
 | ||||
| // An enhanced version of ray_mesh_intersect for the pinheads. This will shoot
 | ||||
| // multiple rays to detect collisions more accurately.
 | ||||
| double pinhead_mesh_intersect(const Vec3d& jp, | ||||
|                               const Vec3d& dir, | ||||
|                               double r1, | ||||
|                               double r2, | ||||
|                               const EigenMesh3D& m) | ||||
| { | ||||
| 
 | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| // Clustering a set of points by the given criteria
 | ||||
| ClusteredPoints cluster( | ||||
|         const sla::PointSet& points, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 tamasmeszaros
						tamasmeszaros