57 Commits

Author SHA1 Message Date
tamasmeszaros
fc9b7ed59c Merge branch 'master' into et_tm_sla_volumes_6-SPE-1285 2023-01-13 11:02:06 +01:00
tamasmeszaros
a4e50f8219 Fix gizmo cut previews
When using legacy hole drilling algorithm
2023-01-11 14:54:09 +01:00
Filip Sykala - NTB T15p
e8e50b50f1 Project text origin on object surface when use surface is set. When no intersection thans closest point is selected
(@vojta wants it)
2022-12-15 19:27:58 +01:00
Lukas Matena
595ef873ad Change the way how cut gizmo detects hits on cut plane:
it did not work well on meshes with overlapping surfaces
2022-12-07 16:15:25 +01:00
enricoturri1966
43c195e227 Fixed conflicts after merge with master 2022-12-07 15:44:27 +01:00
enricoturri1966
028dfb5d9e Tech ENABLE_LEGACY_OPENGL_REMOVAL set as default 2022-12-06 12:17:01 +01:00
enricoturri1966
8eb12cbaf0 Fixed conflicts after merge with master 2022-12-05 13:29:28 +01:00
enricoturri1966
6f18f8f784 Tech ENABLE_RAYCAST_PICKING set as default 2022-12-05 10:24:30 +01:00
tamasmeszaros
2144f81bf1 Useful backend improvements from sla volumes branch 2022-11-29 11:10:52 +01:00
YuSanka
18edc71254 Cut WIP: Code refactoring for ae21667786
+ ObjectList: Fixed list of the types for "Change type" dialog, when object is cut.
+ CutGizmo:
  * Warning line is extended for information about invalid connectors
  * Fixed a crash on undo/Redo, when cutGizmo is active
2022-10-25 15:54:52 +02:00
YuSanka
ae21667786 Cut WIP: First implementation for detection of the invalid connectors position
Implemented cases:
* overlap of some connectors
* check if some connector position is outside of clipper
2022-10-24 16:57:02 +02:00
Lukas Matena
d7f55253cd Cut: allow enabling/disabling an island 2022-09-19 11:19:18 +02:00
YuSanka
2ac3861b2a Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-08-08 10:57:38 +02:00
enricoturri1966
ca34518bcc Fixed conflicts after merge with master 2022-07-21 08:55:52 +02:00
tamasmeszaros
d23f9d7674 Refactoring and performance optimization for support trees in SLA 2022-06-29 10:43:46 +02:00
enricoturri1966
ae76468f7c Tech ENABLE_RAYCAST_PICKING - Partial revert of 89ac9326280083de5325bc19950299842902d5b1 - Restored rectangle selection using encoded colors rendering 2022-06-28 14:12:57 +02:00
enricoturri1966
cfc3988b9f Tech ENABLE_RAYCAST_PICKING - 1st installment - Raytraced picking of printbed 2022-06-10 13:20:52 +02:00
Lukas Matena
ef26b1abeb Cut gizmo: cut by line does not rely on mesh raycasters 2022-05-16 11:44:30 +02:00
YuSanka
90e359c5d4 Cut WIP: Implemented "Cut By Line" 2022-05-09 11:23:05 +02:00
YuSanka
91a1cd30a0 Merge remote-tracking branch 'origin/master' into ys_cut 2022-04-14 10:04:45 +02:00
YuSanka
f9e22513c1 Cut WIP:
* Added a first detection if a connector position is valid
* Code cleaning: Deleted unused set_range_and_pos function
* Some code refactoring
2022-03-31 13:59:04 +02:00
enricoturri1966
0763a48ce5 Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed OpenGL clipping planes while rendering picking pass 2022-03-31 13:23:04 +02:00
YuSanka
e5b10ae289 Merge remote-tracking branch 'origin/master' into ys_cut 2022-03-11 15:58:14 +01:00
enricoturri1966
5ffe010a9d Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL merged into ENABLE_LEGACY_OPENGL_REMOVAL 2022-03-08 14:50:32 +01:00
Lukas Matena
016a7feb3d Extender MeshRaycaster so it can also provide hits on the clipping plane 2022-02-16 13:42:34 +01:00
Lukas Matena
389b7ce4bd MeshClipper extended:
- direction and range of the clipping plane can be now set from the outside
- it is now able to show a contour of the cut (not yet ideal with multipart objects that overlap)
2022-02-16 13:42:31 +01:00
Lukáš Hejl
69019ae4bb Added a missing include (GCC11.1 without PCH). 2022-02-14 08:20:57 +01:00
enricoturri1966
be6922795d Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel: MeshClipper::m_vertex_array 2022-02-10 08:24:36 +01:00
Lukáš Hejl
7bb38840e1 Replaced the repeated application of Cursors (Sphere or Circle) in painting using 2D and 3D Capsules.
Previously, the Cursor (Sphere or Circle) was repeatedly applied between two mouse positions, creating brushstrokes with ripples on the edges between those mouse positions.
Now, a single capsule (3D or 2D) is applied between those mouse positions, which creates brushstrokes without these ripples.
2021-12-02 12:36:48 +01:00
Lukáš Hejl
d8a0d0523f Allowed painting in the FDM supports, seam, and multi-material gizmo to only triangles not clipped by a clipping plane. 2021-10-21 08:49:24 +02:00
enricoturri1966
57749d6f09 Small refactoring into ClippingPlane to ensure that the normal is always a unit vector 2021-09-15 13:36:44 +02:00
Vojtech Bubnik
58d8ab3dea Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
Vojtech Bubnik
1c76df89ea Fix of paint on supports don't work for object that has been scaled up #6718
The triangle-ray intersection function used a hard coded epsilon,
which did not work for triangle meshes, that were either too small
or too large. Newly the epsilon may be provided to the AABBTreeIndirect
search functions externally and IndexedMesh calculates a suitable
epsilon on demand from an average triangle mesh edge length.
2021-08-27 21:04:18 +02:00
Lukas Matena
13604469fd Painting gizmos and sinking objects:
1. Do not show what's below the bed when a gizmo is open
2. Triangulate the cut so people don't see inside
3. If regular clipping plane is used, the cuts are mutually clipped by one another
4. Painting itself ignores the hidden part of the object
2021-08-09 10:47:51 +02:00
Vojtech Bubnik
70b4915f9c TriangleMeshSlicer: Got rid of admesh! 2021-05-18 15:05:30 +02:00
Vojtech Bubnik
308d6b7809 WIP: Reworked slicing
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp
2) Refactored to use as little as possible of admesh.
2021-05-17 20:25:59 +02:00
tamasmeszaros
06bf02df69 Fix Gizmo preview with hollowed mesh 2021-03-08 17:38:10 +01:00
tamasmeszaros
1eec6c473c Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
Lukas Matena
55395e046f EigenMesh3D does not store a copy of the mesh
Instead, it stores a pointer to extern TriangleMesh (which must not be destroyed before the EigenMesh3D object)
2020-05-27 00:51:11 +02:00
Lukas Matena
6e597bb1ee Removed immediate OpenGL mode calls for clipping plane rendering 2020-05-21 10:25:31 +02:00
Lukas Matena
e312f3be43 FDM supports gizmo: caching triangle normals in order to increase performance 2020-05-18 16:08:21 +02:00
Lukas Matena
f275461354 WIP: FDM supports gizmo now works with multiple part objects into some extent 2020-03-19 11:15:17 +01:00
Lukas Matena
2e71dcefc3 WIP: Added a circle cursor and naive logic to select triangles inside
Deselection is possible when holding shift
Triangles obscured by the mesh are selected nonetheless (so far)
2020-03-19 11:15:17 +01:00
Lukas Matena
08daddb5de WIP: First working implementation of the triangle selector for the FDM support gizmo 2020-03-19 11:15:17 +01:00
Lukas Matena
9805b02a25 Removed an obsolete variable from MeshRaycaster 2019-12-12 13:19:16 +01:00
Lukas Matena
537260494d Merge branch 'master' into lm_tm_hollowing 2019-12-12 11:37:33 +01:00
Lukas Matena
f6e217171a Added comments in MeshUtils.hpp
PIMPL in MeshRaycaster now uses std::unique_ptr instead of raw pointer
2019-12-10 09:53:34 +01:00
tamasmeszaros
d4d037792d Holes are now visible on slices in preview. 2019-11-13 15:55:37 +01:00
tamasmeszaros
c22423a219 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
Lukas Matena
b4795e1292 Unified igl calls in MeshRaycaster and EigenMesh3D
MeshRaycaster is still aware of the clipping plane but it now uses EigenMesh3D internally
Public interface of both classes is unchanged
2019-11-08 20:18:14 +01:00