230 Commits

Author SHA1 Message Date
enricoturri1966
4846b504a2 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Improved detection and removal of skew in matrices
Fixed conflicts during rebase with master
2022-06-06 12:43:42 +02:00
enricoturri1966
b76f9fc2ee Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Scaling using object manipulator fields
Fixed conflicts during rebase with master
2022-06-06 12:38:20 +02:00
enricoturri1966
3b3edb5a97 Fixed build and warnings on Linux and Mac
Fixed conflicts during rebase with master
2022-06-06 12:22:42 +02:00
enricoturri1966
2602c6bf92 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Implemented reset skew button for the case when volume world matrix contains skew while volume and instance matrices do not
Fixed conflicts during rebase with master
2022-06-06 12:07:45 +02:00
enricoturri1966
e4fb142afc Tech ENABLE_WORLD_COORDINATE_SCALE_REVISITED merged into tech ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-06 12:01:44 +02:00
enricoturri1966
ebb9a4aadb Tech ENABLE_WORLD_COORDINATE_SHOW_AXES merged into tech ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-06 11:39:15 +02:00
enricoturri1966
7c86cf84a3 Tech ENABLE_COORDINATE_DEPENDENT_SELECTION_BOX merged into tech ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-06 10:53:26 +02:00
enricoturri1966
882a5ffec5 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Fixed uniform scale using object manipulator panel
Fixed conflicts during rebase with master
2022-06-06 10:22:05 +02:00
enricoturri1966
3fcfd04921 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Fixed translation of volumes in local coordinate system
Fixed conflicts during rebase with master
2022-06-06 10:17:43 +02:00
enricoturri1966
19712749c3 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Added reset button to remove skew, when detected, in object manipulator panel
Fixed conflicts during rebase with master
2022-06-06 10:00:28 +02:00
enricoturri1966
88ce6ccdef Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::scale(const Vec3d& scale, TransformationType transformation_type) to use matrix multiplication
Fixed conflicts during rebase with master
2022-06-06 09:54:19 +02:00
enricoturri1966
63c9ce23df Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void synchronize_unselected_instances(SyncRotationType sync_rotation_type) to use the new matrix only implementation of Geometry::Transformation
Fixed conflicts during rebase with master
2022-06-06 09:04:12 +02:00
enricoturri1966
c8d93e69be Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::synchronize_unselected_volumes() to use the new matrix only implementation of Geometry::Transformation
Fixed conflicts during rebase with master
2022-06-06 08:55:38 +02:00
enricoturri1966
f9f7e6e759 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::flattening_rotate(const Vec3d& normal) to use matrix multiplication
Fixed conflicts during rebase with master
2022-06-06 08:50:57 +02:00
enricoturri1966
0e3490620e Added method const GLVolume* Selection::get_first_volume() const to simplify client code
Fixed conflicts during rebase with master
2022-06-06 08:44:11 +02:00
enricoturri1966
9f503b95e8 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::rotate(const Vec3d& rotation, TransformationType transformation_type) to use matrix multiplication
Fixed conflicts during rebase with master
2022-06-03 15:44:45 +02:00
enricoturri1966
55be16d158 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::translate(unsigned int object_idx, unsigned int instance_idx, const Vec3d& displacement) to use matrix multiplication and removed unused method void Selection::translate(unsigned int object_idx, const Vec3d& displacement)
Fixed conflicts during rebase with master
2022-06-03 15:05:44 +02:00
enricoturri1966
2f6f73e10f Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::translate(const Vec3d& displacement, ECoordinatesType type) to use matrix multiplication
Fixed conflicts during rebase with master
2022-06-03 14:56:07 +02:00
enricoturri1966
7e72963293 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - 1st installment. Geometry::Transformation modified to store data in a single matrix, without store the matrix components
Fixed conflicts during rebase with master
2022-06-03 13:58:36 +02:00
enricoturri1966
8c95f47d4a Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed rendering of sidebar hints reference system
Fixed conflicts during rebase with master
2022-06-03 13:00:10 +02:00
enricoturri1966
155c3e8895 Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed rendering of selection bounding box
Fixed conflicts during rebase with master
2022-06-03 12:42:30 +02:00
enricoturri1966
e86cbf0d8c Tech ENABLE_WORLD_COORDINATE_SCALE_REVISITED - Detection of required transformation baking done on mouse dragging event in place of mouse up event for gizmo scale
Fixed conflicts during rebase with master
2022-06-03 12:27:24 +02:00
enricoturri1966
622796e9e3 Tech ENABLE_WORLD_COORDINATE_SCALE_REVISITED - Alternate implementation of manipulating scale for instances and volumes using gizmo scale and sidebar object manipulator fields - 1st installment
Fixed conflicts during rebase with master
2022-06-03 12:17:12 +02:00
enricoturri1966
558bccec48 Tech ENABLE_WORLD_COORDINATE_SHOW_AXES - Show axes of the current reference system when sidebar hints are active for non-world reference systems
Fixed conflicts during rebase with master
2022-06-03 11:45:22 +02:00
enricoturri1966
912d781446 Tech ENABLE_COORDINATE_DEPENDENT_SELECTION_BOX - Render the selection bounding box in the current reference system
Fixed conflicts during rebase with master
2022-06-03 11:05:49 +02:00
enricoturri1966
9706f16e69 Tech ENABLE_WORLD_COORDINATE - Revisited rotation of single volume
Fixed conflicts during rebase with master
2022-06-03 10:26:37 +02:00
enricoturri1966
90e54e5821 Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES merged into tech ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-03 09:57:07 +02:00
enricoturri1966
cd4704e493 Fixed warnings
Fixed conflicts during rebase with master
2022-06-03 09:11:06 +02:00
enricoturri1966
6e92b4fc3b Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - Mirror transform in local system for volumes and a few fixes in rotation
Fixed conflicts during rebase with master
2022-06-03 08:41:23 +02:00
enricoturri1966
fb31bcd0f0 Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - Volumes scaling in all reference systems using Scale gizmo and part manipulator fields
Fixed conflicts during rebase with master
2022-06-03 08:25:08 +02:00
enricoturri1966
65adbd5b0d Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - Volumes rotation in all reference systems using Rotate gizmo and part manipulator fields
Fixed conflicts during rebase with master
2022-06-02 16:03:27 +02:00
enricoturri1966
5e5fdc4844 Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - Volumes translation in all reference systems using Move gizmo and part manipulator fields
Fixed conflicts during rebase with master
2022-06-02 15:45:06 +02:00
enricoturri1966
79bdcefbde Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - 1st installment: introduction of instance reference system in part manipulation
Fixed conflicts during rebase with master
2022-06-02 14:58:44 +02:00
enricoturri1966
9e0bb83041 Follow-up of 9ddf2ba41ccc59650c277d5a5b4604afa8702f3b - Code cleanup
Fixed conflicts during rebase with master
2022-06-02 13:34:21 +02:00
enricoturri1966
ad6dcf3f10 Tech ENABLE_WORLD_COORDINATE - Fixed constrained scaling of instances in local coordinates
Fixed conflicts during rebase with master
2022-06-02 13:30:23 +02:00
enricoturri1966
4aac01a221 Tech ENABLE_WORLD_COORDINATE - Fixed scaling using the Part Manipulation fields in world coordinates for volumes
Fixed conflicts during rebase with master
2022-06-02 13:26:02 +02:00
enricoturri1966
0eaa4c5dea Tech ENABLE_WORLD_COORDINATE - Fixed unconstrained scaling in world coordinates for volumes
Fixed conflicts during rebase with master
2022-06-02 13:21:24 +02:00
enricoturri1966
1191ab42cb Tech ENABLE_WORLD_COORDINATE - Added constrained uniform scaling in world coordinates for instances
Fixed conflicts during rebase with master
2022-06-02 13:09:30 +02:00
enricoturri1966
d7753fc476 Tech ENABLE_WORLD_COORDINATE - Fixed constrained non-uniform scaling in world coordinates for rotated instances
Fixed conflicts during rebase with master
2022-06-02 13:05:12 +02:00
enricoturri1966
856e0caea6 Tech ENABLE_WORLD_COORDINATE - Fixed rotation in local coordinate for single instance selection
Fixed conflicts during rebase with master
2022-06-02 12:27:49 +02:00
enricoturri1966
f89a902bbb Tech ENABLE_WORLD_COORDINATE - Fixed translation in local coordinate for single instance selection
Fixed conflicts during rebase with master
2022-06-02 12:23:01 +02:00
enricoturri1966
ca5c04bab2 Tech ENABLE_WORLD_COORDINATE - Modified method Selection::requires_uniform_scale()
Fixed conflicts during rebase with master
2022-06-02 12:13:52 +02:00
enricoturri1966
6433d3af91 Tech ENABLE_WORLD_COORDINATE - Fixed volumes rotation in world coordinate
Added sub-tech ENABLE_WORLD_COORDINATE_VOLUMES_LOCAL_OFFSET which enable showing world coordinates of volumes' offset relative to the instance containing them

Show 'Drop to bed' button in sidebar whenever the selected instance or volume is not laying on the printbed

Fixed conflicts during rebase with master
2022-06-02 12:07:00 +02:00
enricoturri1966
bd58b1c1c5 Fixed build when tech ENABLE_WORLD_COORDINATE is disabled
Fixed conflicts during rebase with master
2022-06-02 10:57:33 +02:00
enricoturri1966
c968ba05fb Tech ENABLE_WORLD_COORDINATE - Resize Move and Rotate gizmos in dependence of the selected coordinate system
Fixed conflicts during rebase with master
2022-06-02 10:50:22 +02:00
enricoturri1966
ca5742c401 Tech ENABLE_WORLD_COORDINATE - Gizmo rotate oriented in dependence of the selected coordinate system
Fixed conflicts during rebase with master
2022-06-02 10:16:07 +02:00
enricoturri1966
ebe411aefb Tech ENABLE_WORLD_COORDINATE - 1st installment
1) Added combo to select world/local coordinate to part manipulator in sidebar

2) Gizmo move oriented in dependence of the selected coordinate system

3) Sidebar hints for position oriented in dependence of the selected coordinate system

Fixed conflicts during rebase with master
2022-06-02 08:57:07 +02:00
enricoturri1966
910db38ae8 Fixed rotation, using gizmo, for instances whose offset does not match with bounding box center 2022-05-19 12:34:43 +02:00
enricoturri1966
76d1d4949b Tech ENABLE_GL_SHADERS_ATTRIBUTES - Added shaders for glsl version 140 2022-03-21 13:10:47 +01:00
enricoturri1966
f8ce187262 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Refactoring of GLModel to automatically detect the data type to use into the index buffer in dependence of vertices count 2022-03-09 11:51:02 +01:00