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
Garux
f4149f1549
* Valve220: use face projection by default
...
* Valve220: Project {axial, ortho, cam, from face} functions
* conversions between AP, BP and Valve220 brush types; conversions to Brush Primitives and Valve220 formats are lossless
* detect brush format and automatically convert to current one on map Import and Paste
* Valve220: fixed Reset function, implemented Rotate one
* Valve220: fix overwriting basis on brush clone/map import ( in Face( Face ) constructor )
* BP: fix: normalize shift values during import, arbitrary projections and face->fit
* Valve220: fix texture lock for scaling, fix for negative texdef.scale
2017-10-02 18:11:43 +03:00
Garux
0b3f42ffbc
* "BrushAlwaysCaulk" option is saveable for brush types other than q3
...
* brush format is preference for [maptypes, brushtypes]: [mapq1, quake], [mapq2, quake2], [mapq3, quake3]:
preferences->Brush->Brush type: Axial projection, Brush primitives, Valve 220
* autodetect brush type on map opening
* brush face surfaceflags are optional on loading for flexibility
* 'Snap planes to integer grid' option is always off by default
2017-09-16 16:37:39 +03:00
Garux
56997e1c66
* brush resize, face shear: select single face with angle, closest to view direction (or multiple ones with equal angles)
2017-08-12 18:40:50 +03:00
Garux
3f1c97ebeb
Radiant:
...
misc...
* selection system: fixes of: selecting point behind point (not perfectly precise distance)
selecting occluded objects and faces via direct and indirect hits
* select models from back in 2d
2017-08-02 09:53:56 +03:00
Garux
2e3529798d
Radiant:
...
misc...
* prefs->cam->Selected faces wireframe option (def = yes)
* Textured+Wireframe camera render mode
2017-08-02 09:51:41 +03:00
Garux
c3d11bca70
Radiant:
...
misc...
* experimental fix of rendering scene and evaluating brush/patch representation TWICE on every transform (literally after every mouse move fraction)
2017-08-02 09:48:29 +03:00
Garux
6fa612373e
Radiant:
...
misc...
* new texture lock algorithm for BP map format, supporting any affine transformations
* more robust texture lock algorithm for AP map format, locking what is possible to; also improves seamless face2face tex paste function
2017-08-02 09:48:12 +03:00