Commit Graph

80 Commits

Author SHA1 Message Date
Garux 9d3d204018 Qt 2022-10-27 09:10:31 +03:00
Garux 6c129e546f store winding points in double precision 2021-11-23 14:48:00 +03:00
Garux af14a811af disable quantiseFloating of brush plane points (why was this needed?) 2021-11-23 14:47:03 +03:00
Garux bf6389fc26 use #pragma once 2021-10-22 02:19:50 +03:00
Garux 8d71aea059 * Q2::surface inspector::brush face flags: add "Unset flags" button 2021-08-24 18:57:59 +03:00
Garux b58408344c Q2 optional brush face flags in BP, 220 mapformats 2021-08-24 18:55:34 +03:00
Garux 6c00419653 fix spelling 2021-05-24 20:23:09 +03:00
Garux dc5dea6d21 delete copy constructors and assignment operators explicitly 2021-03-24 15:48:29 +03:00
Garux 2222100316 indent classes, align by spaces 2021-03-24 00:25:15 +03:00
Garux 77439d8b66 fix [-Wdeprecated-copy] 2021-01-01 19:22:30 +03:00
Garux ef2fdfa127 make bestPlaneDirect, bestPlaneIndirect const 2020-05-05 19:49:01 +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 e7b8e36db6 * DragExtrudeFaces: process with selected faces only, i.e. w/o objects selection 2020-03-09 05:53:14 +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
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 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 f45f759b43 * bigger components handles
* render occluded brush vertices differently
disable NV_DRIVER_BUG workaround
remove RenderableWireframe::glColorPointer call
2019-04-16 00:07:50 +03:00
Garux bfc66aa6af * prevent resizing brushes to zero volume by faces drag, try to stop at minimal configuration 2019-04-04 17:34:08 +03:00
Garux 2ef794539c * fix sloped brushes evaluation at big coordinates (aka disappearing faces and brushes)
add windingTestInfinity() to bruteforce test maxWorldCoord's multiplier, lending reliable winding infinity
experimental Winding_createInfinite() percision improvements, borrowed from q3map2's BaseWindingForPlaneAccu()
2019-04-02 00:17:26 +03:00
Garux eb95c73416 Winding_Draw fix use after scope 2019-02-22 23:44:51 +03:00
Garux 90d272e0a8 fix commit 9186d18353 , handle 'no vertices selected' case properly 2018-12-25 22:50:18 +03:00
Garux 4dc9b18f70 * fix brush shader names handling by bobtoolz (was writting empty shader name = crash on map save, at least "textures/" is expected)
complain about patch and brush shader names harder
2018-12-24 23:44:57 +03:00
Garux 9186d18353 optimize vertices reselection during vertex manipulations 2018-12-24 00:08:55 +03:00
Garux 2f867c99d9 * fix crashy assertions on vertices/edges selection (also = during vertex manipulations)
by removing not needed anymore update_move_planepts_vertex code
	* disable points snapping to .125 grid during edge manipulation (already disabled for vertex mode)
2018-12-23 23:44:13 +03:00
Garux bcbbde0b35 remove debug prints 2018-12-13 19:31:23 +03:00
Garux 9eff327c70 refactor brush transform evaluation code to reduce amount of unneeded evaluations to 0
improvable: don't evaluateBRep on shader changed, perhaps more
fix: brush vertex manip: no vertexModeFree() after identity transform (mouse forth and back / rotate dialog 0 / insertion w/o move) = selects vertices on undo
fix: brush vertex manip: tex vertex lock: broken for 220
use brush::vertexmode code to delete selected brush components
2018-12-13 19:13:26 +03:00
Garux 868ff8fe50 * insert brush vertices in vertex mode by clicking with no ones selected 2018-12-11 13:19:07 +03:00
Garux 51c798fd9c * Snap to grid in a component mode: snap whole objects, if no components selected
* Snap brush/its vertices to grid: rebuild brush from snapped vertices with optional texture vertex lock
2018-12-10 21:00:33 +03:00
Garux 3f3230ed2a remove debug prints 2018-12-10 17:51:41 +03:00
Garux 435c41b73b * new vertex editing mode, preserving non modified vertices (=adding/removing faces automatically)
with debug prints
2018-12-10 17:50:40 +03:00
Garux 389030e05d fix cached brush face centroid tracking 2018-12-05 15:19:12 +03:00
Garux 0f7af6aaa4 binds... * shift + u: new uniform CSG wrap merge algorithm, merging selected brushes and/or components 2018-10-16 01:20:09 +03:00
Garux 9c91f4fa78 binds... * alt + m1 in camera: new resizing mode for brushes, curves and doom3 lights with direct and indirect selection methods 2018-10-06 02:31:05 +03:00
Garux 6f8a0668a3 add and use VolumeTest/View.getViewDir() 2018-05-18 01:55:20 +03:00
Garux 4542d9da3c * Valve220: transform basis in special way with texture lock off 2018-05-16 16:40:54 +03:00
Garux ae1bd2c066 matrix4_for_normal_transform, matrix4_transformed_normal, plane3_transformed_affine_full functions 2018-05-16 14:16:43 +03:00
Garux 3ae4188e3d simplify planeselectables if( camera ) check 2018-04-13 00:14:32 +03:00
Garux 48d75b777d * brush creation in camera; alt = modify height 2018-04-06 12:26:06 +03:00
Garux 8fbc462525 * select only plane of planeselectables in camera (since it's not easy to select multiple ones on purpose anyway) 2018-03-29 00:53:43 +03:00
Garux 73605bf94b robust algorithm for indirect Brush faces selection 2018-03-27 01:15:16 +03:00
Garux b1e2f26124 use globalWarningStream() 2018-03-21 04:21:07 +03:00
Garux eae7ac024a clean namedentity, forward declarations, ostream_write 2018-02-22 18:56:53 +03:00
Garux c878333c7b * m2 in Surface Inspector->fit width/height = fit width/height, keep height/width 2018-02-19 17:28:05 +03:00
Garux 9f1690ed64 * fix unwanted brush face texture transformations on brush resizing with texture lock on 2017-12-11 16:53:01 +03:00
Garux 723a615110 * texture locking during vertex and edge manipulations 2017-12-06 13:57:40 +03:00
Garux 1658f27ee6 * Valve220: keep basis on 'paintTexture&Projection' (shift+m3); 'projectTexture' (ctrl+shift+m3) performs basis copy 2017-11-10 14:56:35 +03:00
Garux 3d3592c1f0 * preferences->Camera->Colorize selection option (filling highlighting), def=on
* fix: selected faces wire color is updated immediately on colour theme change
2017-10-27 10:47:15 +03:00
Garux 62a5122ff8 rename TEXDEFTYPEID_HALFLIFE -> TEXDEFTYPEID_VALVE for consistency 2017-10-18 23:35:56 +03:00