Commit Graph
145 Commits
Author SHA1 Message Date
Garux bf9feb943a minor refactoring 2025-01-11 12:53:41 +05:00
Garux 4ea3f36f4f don't deselect only primitive in a component mode by alt+m1, as this quits component mode 2025-01-09 13:36:58 +05:00
Garux e9c842f493 do SelectionSystem highlights, manipulations and selections only with intended kb/mouse inputs 2025-01-09 11:49:59 +05:00
Garux 49e7c61d85 switch to g_modifiers use in SelectionSystem 2025-01-07 10:57:19 +05:00
Garux d8290c4ac3 * update SelectionSystem highlights, manipulations immediately onModifierDown(), onModifierUp() 2025-01-06 08:56:08 +05:00
Garux 1a895c1984 prevent simultaneous mouse presses in SelectionSystemWindowObserver
fixes e.g. shift+m2 drag, +m1 -m1
2025-01-05 07:37:40 +05:00
Garux 159a063da8 * fix surface inspector updates on patch texturing changes, on UV Tool edits 2024-12-18 05:28:35 +05:00
Garux 55dc6e677d use std::set std::map contains() 2024-12-01 06:01:52 +05:00
Garux 8202b5a6ba fix some warnings 2024-11-24 02:00:56 +05:00
Garux 679ebd945a improve rotate-snap to align bbox axially as much as possible 2024-10-28 16:55:56 +05:00
Garux 4909d5996d use typedef DeviceVector 2024-10-20 15:23:03 +05:00
Garux 6f4cc1b4d5 use override keyword 2024-10-20 03:12:56 +05:00
Garux 1fe5016022 * m1 drag + ctrl (Drag tool, 3D view): move-snap selecton bbox corner to pointed position in scene
* m1 drag + alt + ctrl: rotate-snap selection bbox to pointed brush face plane
	* m1 drag + ctrl + shift: move selection along initially pointed brush face plane
2024-10-20 03:12:29 +05:00
Garux 1127fd5fbc add RadiantSelectionSystem::AllTransformable interface 2024-10-20 01:38:44 +05:00
Garux 80394171ee class ClipperSelector -> class ScenePointSelector 2024-10-20 01:32:04 +05:00
Garux 68fa1828a6 refactor class RepeatableTransforms, class TransformModifier, class BrushTransformModifier 2024-10-20 00:20:14 +05:00
Garux df02774ff5 tweak StringOutputStream use
auto str = StringOutputStream()(bla) use form was not doing copy elision or move, but copy
2024-01-29 16:54:08 +06:00
Garux e02571ff6c * preferences.Selection.Create brushes in 3D (by m1 drag)
remove "Left mouse click tunnel selector" option (now always ON)
closes #134
2024-01-13 19:08:27 +06:00
Garux 9ca1d9354f * UV Tool: measure snapping distance in screenspace 2023-05-09 06:27:50 +06:00
Garux 860ba8906b * UV Tool::skew: snap lines to vertices; change snapping measure to distance 2023-05-07 23:35:18 +06:00
Garux d41adc5e93 * use bounding box for misc_model transformations 2022-12-16 00:53:04 +06:00
Garux 9bbb84ea5a fix some clang warnings & errors 2022-10-29 01:07:30 +03:00
Garux 9d3d204018 Qt 2022-10-27 09:10:31 +03:00
Garux e62483970f double precision clipper points 2021-11-23 16:33:16 +03:00
Garux 6c129e546f store winding points in double precision 2021-11-23 14:48:00 +03:00
Garux 0c390241c8 fix formatting 2021-10-26 18:16:24 +03:00
Garux d812cbd4d4 replace ArrayRange by tcb::span (reproduction of std::span) 2021-10-24 08:32:10 +03:00
Garux ce2e458f4f handle selected noncontributing face case in clipper-init-from-face 2021-10-18 17:14:43 +03:00
Garux 4471302857 add and use BasicVector3.vec2() 2021-06-23 16:51:03 +03:00
Garux 6c00419653 fix spelling 2021-05-24 20:23:09 +03:00
Garux 2222100316 indent classes, align by spaces 2021-03-24 00:25:15 +03:00
Garux b111d28053 * set clipper points to selected face on clipper tool switching-on 2020-06-17 19:36:33 +03:00
Garux a0a47640b0 * new rendering system for volatile text
(symbols rendered to atlas texture)
deliver position via glRasterPos + glGet GL_CURRENT_RASTER_POSITION to avoid adding calculations of screen coords in many spots
solves problem: pango 1.44 switch freetype->harfbuzz = bitmap fonts aren't available, in particular no gdk_gl_font_use_pango_font()
text is rendered from font bottom (was from baseline)(latter is wanted less often)
wgl bitmap<->pango sizes do not match, thus realign all text positions, increase default font size
make 2D axes labels, view type text, sizing info adaptive to font size
#24
fixes #42
2020-05-14 07:51:34 +03:00
Garux 5fb3d587a4 use std::next instead of std::advance 2020-03-19 03:07:19 +03:00
Garux 7acdf92d50 * QE tool mouse move: highlight PlaneSelectables with alt/ctrl+alt, components in component modes
improve bestPlaneIndirect pickup (resolve, when corner is closest)
support 2d in class DragPlanes::bestPlaneIndirect
2020-03-19 00:00:28 +03:00
Garux 380d5547c5 use GlobalSelectionSystem().foreachSelected instead of GlobalSceneGraph().traverse in alt+m1 PlaneSelectable pickup 2020-03-09 06:34:28 +03:00
Garux e7b8e36db6 * DragExtrudeFaces: process with selected faces only, i.e. w/o objects selection 2020-03-09 05:53:14 +03:00
Garux 6e88e7b746 * DragExtrudeFaces: diagonal extruded brushes joints if extruding multiple faces per brush 2020-03-08 17:23:02 +03:00
Thomas Debesse 9f29864f50 lessen code duplication 2020-03-03 02:24:36 +03:00
Thomas Debesse 66e6781c9b use Instance_isSelected() function 2020-03-03 02:00:15 +03:00
Thomas Debesse 1acf0bb221 * alt + m1 2D view face vertex manipulator: use 'faces on the only best plane' pickup strategy 2020-03-03 01:57:56 +03:00
Garux 53676dcf31 * csg tool: +faces face specification mode (only process selected faces)
* csg tool: also process unselected brushes with selected faces
2020-02-24 21:43:27 +03:00
Thomas Debesse 07a06b5b89 * ctrl + alt + m1: extrude pointed faces of selected brushes and selected faces inside/outside
* improve alt + m1 resizing camera for slanted faces
2020-02-22 04:14:45 +03:00
Garux 2426697f65 UV Tool: add patch support
patch controls move modifiers: shift = only move along the axis with the biggest move, ctrl = snap hard to grid and povit lines
fix a couple of Patch::Calculate_AvgNormal() and Patch::NaturalTexture() problems
2019-06-10 15:17:57 +03:00
Garux 684187c4ec fix clipping whole brush by clipper after 3ce07bb310
fix rotate manipulator selection after aa99f4d254
2019-06-01 19:25:01 +03:00
Garux aa99f4d254 * UV Tool (edit texture alignment of selected face) modifiers:
pivot control point and lines: ctrl = snap hard to face vertices and grid
		grid density controls: shift = change density of both axes synchronously, ctrl = power of two grid
		scale lines: shift = scale axes synchronously, ctrl = snap hard to vertices
		alt + m1 on grid = skew texture (is possible alright in BP and Valve220 map formats, not in AP); ctrl = snap hard to edges
		texture move: shift = only move along the axis with the biggest move, ctrl = snap grid lines hard to vertices and pivot
		rotate: shift = rotate with step of 15 degrees, ctrl = snap hard to edges
2019-05-19 10:30:44 +03:00
Garux 3ce07bb310 change points order in plane3_for_points( const BasicVector3<Element>& p0, const BasicVector3<Element>& p1, const BasicVector3<Element>& p2 )
to be consistent over the related code
to omit points swap there and there
2019-05-01 12:38:58 +03:00
Garux 71c63fbdc6 * fix alt + m1 indirect faces picking, when object is partially or fully out of camera view
refactor math functions
2019-04-28 20:54:29 +03:00
Garux 1628abfd0f calm down -Wdelete-non-virtual-dtor warnings
remove -Wno-non-virtual-dtor from makefile (what does it do anyway? -Wdelete-non-virtual-dtor is part of -Wall)
2019-02-26 19:08:47 +03:00
Garux 07d3008b96 calm down fall through warnings 2019-02-22 23:50:10 +03:00