26 Commits

Author SHA1 Message Date
enricoturri1966
6201dad245 Tech ENABLE_COLOR_CLASSES set as default 2022-01-14 08:19:00 +01:00
enricoturri1966
a2dc1cd446 Fixed conflicts after merge with dev branch 2022-01-12 15:54:48 +01:00
Lukas Matena
a554f1fb08 One more speedup of place on face 2022-01-03 16:29:26 +01:00
Lukas Matena
b034402912 Fix of slow place on face on complex models #7587 2022-01-03 15:20:14 +01:00
enricoturri1966
cd4094743e Tech ENABLE_COLOR_CLASSES - 1st installment -> Introduction of classes ColorRGB and ColorRGBA to unify color data definition and manipulation 2021-12-22 10:45:35 +01:00
Vojtech Bubnik
cc44089440 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01: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
Lukas Matena
a4300b8e64 Naming of the entering/leaving snapshots is now more generic,
it uses the actual name of the gizmo. Also, the keyboard shortcut
is now appended to the name, instead of being duplicated in it.
2021-09-03 13:53:07 +02:00
Lukas Matena
021688fe50 Fix place on bed and sinking instances:
all sinking objects were incorrectly shifted to bed when
'place on face' was applied to any object.
2021-08-12 10:17:59 +02:00
enricoturri1966
b24488ce51 Tech ENABLE_SINKING_CONTOURS -> Sinking contours shown while dragging Move/Rotate/Scale gizmos and show contours for gizmo cut 2021-07-27 13:02:06 +02:00
enricoturri1966
844ec8447d ENABLE_PAN_ROTATE_SCENE_IN_GIZMOS set as default 2020-10-22 11:01:30 +02:00
enricoturri1966
d31da5bbe0 Follow-up of 68a7e5ce41217a123758996bc145350339922473 -> Disable GLGizmoFlatten markers when CTRL is pressed 2020-10-21 10:30:25 +02:00
Lukas Matena
2cc1dffc82 Fix of several issues related to gizmos updating and undo/redo
Common gizmos data cannot be used in on_set_state method
Also prevented calling render on empty GLVertexArrays
2020-06-03 15:33:39 +02:00
Lukas Matena
94b0ab603f Include cleanup: Selection.hpp
It does not need 3DScene.hpp and Model.hpp
And it does not to be included by GLGizmoBase.hpp
2020-05-26 13:46:59 +02:00
Lukas Matena
ae7bb123a9 Fix win build 2020-05-21 11:27:47 +02:00
Lukas Matena
9c365da828 Removed immediate OpenGL mode calls in place on face gizmo 2020-05-21 10:25:31 +02:00
Lukas Matena
593e7a1546 Flattening gizmo now uses the new CommonDataPool to store pointer to active object 2020-04-07 16:35:52 +02:00
bubnikv
2d7f478dac Finished picking by color with a checksum in the alpha channel
to guard against unwanted alpha blending and / or multi sampling.
2019-08-07 14:15:38 +02:00
bubnikv
a0ea96968d Storing the active printer technology onto the Undo / Redo stack,
remembering the last selected Printer profile for the SLA and FDM
technologies separately, and activating them on Undo / Redo.

When switching the technologies, user is asked whether to discard
the modified profiles or not.
2019-07-18 17:41:47 +02:00
Lukas Matena
2b9d285a16 'Place on face' gizmo fix (it used invalid pointer after undo/redo was implemented) 2019-07-17 15:39:58 +02:00
Enrico Turri
da1fa0b6e3 Refactoring of GLGizmosXX classes to cleanup their interface 2019-07-17 12:06:23 +02:00
Enrico Turri
cc70c8dff9 Tech ENABLE_SVG_ICONS set as default 2019-07-12 10:13:35 +02:00
bubnikv
8126ec33fc Fixed localization of 3D scene toolbar tips. 2019-05-09 17:18:03 +02:00
Enrico Turri
d795f07e7b Added glsafe() around OpenGL calls where missing 2019-03-27 14:42:09 +01:00
Enrico Turri
80c1a8d8e4 GLCanvas3D::Selection as a standalone class 2019-03-19 13:30:21 +01:00
Lukas Matena
d3c8e3166e Separated gizmos into individual files 2019-03-18 11:45:15 +01:00