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
Lukas Matena
c1e3be9b27
MeshUtils.cpp: MeshRaycaster is now aware of the clipping plane
2019-09-24 12:58:12 +02:00
Enrico Turri
cd7895065a
Fixed typo
2019-09-17 15:48:39 +02:00
Lukas Matena
6bcafd7c83
SLA gizmo no more uses IGL code directly, all was moved to the new MeshRaycaster class
2019-09-17 14:57:57 +02:00
Lukas Matena
1dfd8a0e62
MeshRaycaster class is now used in SLA gizmo when selecting by rectangle
2019-09-17 14:57:54 +02:00
Lukas Matena
3694bf3da9
Added functions get_hit_pos, get_hit_normal, ready to implement intersect_ray
2019-09-17 14:57:49 +02:00
Lukas Matena
b6292247e8
Unproject on mesh in the SLA gizmo is now performed by the MeshRaycaster class
2019-09-17 14:57:45 +02:00
Lukas Matena
70c0c87598
Renamed MeshClipper.cpp/.hpp to MeshUtils.cpp/.hpp
...
More helper classes like the MeshClipper could live here
Moved ClippingPlane class in here to start
2019-09-13 12:03:53 +02:00