View Issue Details

IDProjectCategoryView StatusLast Update
0005746DarkRadiantMap Editingpublic16.09.2021 18:30
Reportergreebo Assigned To 
PrioritynormalSeveritynormalReproducibilityhave not tried
Status confirmedResolutionopen 
Product Version2.13.0 
Summary0005746: Texture Tool Improvements
DescriptionThe texture tool has a couple of usability issues at the moment. The plan is to adjust the TexTool class to use the same mouse tool infrastructure as XYWnd and CamWnd and to adjust the texturing algorithms to be more useful.
TagsNo tags attached.

Relationships

related to 0005731 acknowledged Texture Tool: UI contrast 
related to 0005732 acknowledged Texture Tool: intercept keystrokes for grid resizing & snap to grid 
related to 0005733 assignedgreebo Texture Tool: use aspect ratio of material 
related to 0005128 acknowledged Texture Tools: rotate function and selection improvements 
related to 0002272 acknowledged Prevent Texture Tool "face jump" on rescaling textures 
related to 0005747 confirmed Texture Tool: drag operation doesn't capture the mouse 
related to 0005748 confirmed Texture Tool: Constrain operations to axes by holding down Shift 
related to 0005749 confirmed Texture Tool: Select items by clicking the UV space they cover 
related to 0005750 confirmed Texture Tool: Grid lines are getting too dense when zooming out a lot 

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: textool a03ba973

2021-09-10 03:58:21

greebo

Details Diff
0005746: Implement a few interfaces (WIP) Affected Issues
0005746
mod - include/imousetoolmanager.h Diff File
mod - libs/selection/SelectionVolume.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
add - radiant/textool/tools/TextureToolMouseEvent.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: textool 47170db3

2021-09-10 04:36:37

greebo

Details Diff
0005746: Connect more dots to get the mouse tools into play when handling the mouse input in the TexTool Affected Issues
0005746
mod - install/input.xml Diff File
mod - radiant/eventmanager/MouseToolManager.cpp Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
add - radiant/textool/tools/TexToolMoveViewTool.h Diff File
mod - radiant/ui/mousetool/RegistrationHelper.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: textool aee11c02

2021-09-10 05:16:26

greebo

Details Diff
0005746: Implement the texture tool's drag-move tool Affected Issues
0005746
mod - include/iinteractiveview.h Diff File
add - include/itexturetoolview.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
mod - radiant/textool/tools/TexToolMoveViewTool.h Diff File
mod - radiant/textool/tools/TextureToolMouseEvent.h Diff File
mod - tools/msvc/include.vcxproj Diff File

DarkRadiant: textool 7b9689c1

2021-09-10 09:13:24

greebo

Details Diff
0005746: Maintain a render::View in the Texture Tool, to be able to construct selection tests in the mouse tools. Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File

DarkRadiant: textool c077ce2c

2021-09-10 11:13:29

greebo

Details Diff
0005746: Remove dead code Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File

DarkRadiant: textool e2ee64b2

2021-09-10 12:01:49

greebo

Details Diff
0005746: Both the texture tool view and the xy views share parts of their interfaces, this way the existing MoveViewTool can be re-used with very little changes. Affected Issues
0005746
mod - include/imousetoolevent.h Diff File
mod - include/iorthoview.h Diff File
mod - include/itexturetoolview.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
rm - radiant/textool/tools/TexToolMoveViewTool.h Diff File
mod - radiant/textool/tools/TextureToolMouseEvent.h Diff File
mod - radiant/ui/mousetool/RegistrationHelper.h Diff File
mod - radiant/xyview/XYWnd.cpp Diff File
mod - radiant/xyview/XYWnd.h Diff File
mod - radiant/xyview/tools/MoveViewTool.h Diff File
mod - radiant/xyview/tools/XYMouseToolEvent.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: textool d2bd2516

2021-09-10 14:29:34

greebo

Details Diff
0005746: Re-use the ZoomTool for the TextureTool Affected Issues
0005746
mod - include/iorthoview.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
mod - radiant/ui/mousetool/RegistrationHelper.h Diff File
mod - radiant/xyview/tools/ZoomTool.h Diff File

DarkRadiant: textool f0735884

2021-09-10 14:36:14

greebo

Details Diff
0005746: Add the mouse tool overlay render calls to the workflow Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File

DarkRadiant: textool 1517261a

2021-09-10 15:53:15

greebo

Details Diff
0005746: Start setting up the selection tool Affected Issues
0005746
mod - install/input.xml Diff File
mod - radiant/eventmanager/MouseToolGroup.cpp Diff File
mod - radiant/selection/SelectionMouseTools.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
add - radiant/textool/tools/TextureToolSelectionTool.h Diff File
mod - radiant/ui/mousetool/RegistrationHelper.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: textool 713ea9a1

2021-09-10 17:47:56

greebo

Details Diff
0005746: More work on getting the ISelectable interfaces into play Affected Issues
0005746
mod - include/itexturetoolview.h Diff File
mod - radiant/selection/SelectionMouseTools.cpp Diff File
mod - radiant/selection/SelectionMouseTools.h Diff File
mod - radiant/textool/Selectable.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
mod - radiant/textool/tools/TextureToolSelectionTool.h Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: textool de81adb6

2021-09-10 18:42:17

greebo

Details Diff
0005746: Experimental testSelect code for FaceItems. Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
mod - radiant/textool/item/FaceItem.cpp Diff File
mod - radiant/textool/item/FaceItem.h Diff File

DarkRadiant: textool 53d16bbf

2021-09-10 18:46:55

greebo

Details Diff
0005746: Fix the strange floating point format of the grid labels Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File

DarkRadiant: textool 004cc0ed

2021-09-11 05:09:03

greebo

Details Diff
0005746: Polygonal face selection test is working Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/item/FaceItem.cpp Diff File

DarkRadiant: textool 5a012c8a

2021-09-11 09:01:05

greebo

Details Diff
0005746: Better resize behaviour Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File

DarkRadiant: textool da668f91

2021-09-11 12:17:18

greebo

Details Diff
0005746: Remove the old selection-related code Affected Issues
0005746
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File

DarkRadiant: textool 050efe5b

2021-09-13 15:22:14

greebo

Details Diff
0005746: Introduce a texture tool scene graph module which is going to be hosted in the core module. It will collect and represent the editable faces, patches and their vertices, and expose them to both the UI module for rendering as well as to the Manipulator algorithms which are in the same binary. Affected Issues
0005746
add - include/itexturetoolmodel.h Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.h Diff File
mod - tools/msvc/include.vcxproj Diff File

DarkRadiant: textool 7ec6b22a

2021-09-13 17:13:08

greebo

Details Diff
0005746: Add first unit test case Affected Issues
0005746
mod - test/CMakeLists.txt Diff File
add - test/TextureTool.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: textool 3e263a31

2021-09-13 17:21:24

greebo

Details Diff
0005746: Start implementing the TextureToolSceneGraph Affected Issues
0005746
mod - radiantcore/CMakeLists.txt Diff File
add - radiantcore/selection/textool/TextureToolSceneGraph.cpp Diff File
add - radiantcore/selection/textool/TextureToolSceneGraph.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: textool 0bfb0de6

2021-09-13 17:56:46

greebo

Details Diff
0005746: Add some stub textool::INode implementations Affected Issues
0005746
mod - include/itexturetoolmodel.h Diff File
add - radiantcore/selection/textool/FaceNode.h Diff File
add - radiantcore/selection/textool/NodeBase.h Diff File
add - radiantcore/selection/textool/PatchNode.h Diff File
mod - radiantcore/selection/textool/TextureToolSceneGraph.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSceneGraph.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: textool 175bf4f7

2021-09-13 18:03:23

greebo

Details Diff
0005746: More basic unit tests Affected Issues
0005746
mod - test/TextureTool.cpp Diff File

DarkRadiant: textool a81c4c42

2021-09-13 18:50:07

greebo

Details Diff
0005746: All textool::INodes are implementing Bounded, to return their bounds in UV space.
Un-hook the old selection traversal code in the TexTool, use the Texture Tool SceneGraph.
Affected Issues
0005746
mod - include/itexturetoolmodel.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiantcore/selection/textool/FaceNode.h Diff File
mod - radiantcore/selection/textool/PatchNode.h Diff File

DarkRadiant: textool b224625c

2021-09-13 19:25:30

greebo

Details Diff
0005746: PatchNode bounds check Affected Issues
0005746
mod - test/TextureTool.cpp Diff File

DarkRadiant: textool 5d314e9c

2021-09-14 17:50:56

greebo

Details Diff
0005746: Every textool node is selectable, add foreachSelectedNode method Affected Issues
0005746
mod - include/itexturetoolmodel.h Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/textool/NodeBase.h Diff File
mod - radiantcore/selection/textool/TextureToolSceneGraph.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSceneGraph.h Diff File
mod - test/TextureTool.cpp Diff File

DarkRadiant: textool 193ea54f

2021-09-16 17:15:08

greebo

Details Diff
0005746: Some refactoring efforts to reduce code redundancy Affected Issues
0005746
mod - radiant/selection/ManipulateMouseTool.cpp Diff File
mod - radiant/selection/ManipulateMouseTool.h Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.h Diff File

DarkRadiant: textool 62ecec21

2021-09-16 17:37:02

greebo

Details Diff
0005746: Throw out tons of unneeded code, introduce a few virtuals to ManipulateMouseTool. Affected Issues
0005746
mod - radiant/selection/ManipulateMouseTool.cpp Diff File
mod - radiant/selection/ManipulateMouseTool.h Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.h Diff File

DarkRadiant: textool 0bf8b3d1

2021-09-16 17:53:42

greebo

Details Diff
0005746: Move the few methods that are specifically dealing with the GlobalSelectionSystem to a subclass of ManipulateMouseTool which serves now as an abstract base class. Affected Issues
0005746
mod - radiant/CMakeLists.txt Diff File
mod - radiant/selection/ManipulateMouseTool.cpp Diff File
mod - radiant/selection/ManipulateMouseTool.h Diff File
add - radiant/selection/SceneManipulateMouseTool.cpp Diff File
add - radiant/selection/SceneManipulateMouseTool.h Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.h Diff File
mod - radiant/ui/mousetool/RegistrationHelper.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: textool 962b3736

2021-09-16 18:26:46

greebo

Details Diff
0005746: Eliminate more redundant code Affected Issues
0005746
mod - radiant/selection/ManipulateMouseTool.cpp Diff File
mod - radiant/selection/ManipulateMouseTool.h Diff File
mod - radiant/selection/SceneManipulateMouseTool.cpp Diff File
mod - radiant/selection/SceneManipulateMouseTool.h Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.h Diff File

Issue History

Date Modified Username Field Change
10.09.2021 03:57 greebo New Issue
10.09.2021 03:57 greebo Status new => confirmed
10.09.2021 05:17 greebo Relationship added related to 0005731
10.09.2021 05:17 greebo Relationship added related to 0005732
10.09.2021 05:17 greebo Relationship added related to 0005733
10.09.2021 05:18 greebo Relationship added related to 0005128
10.09.2021 05:18 greebo Relationship added related to 0002272
10.09.2021 05:24 greebo Relationship added related to 0005747
10.09.2021 05:25 greebo Relationship added related to 0005748
10.09.2021 05:27 greebo Relationship added related to 0005749
10.09.2021 05:29 greebo Relationship added related to 0005750
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool a03ba973
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool 47170db3
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool aee11c02
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool 7b9689c1
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool c077ce2c
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool e2ee64b2
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool d2bd2516
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool f0735884
10.09.2021 17:08 greebo Changeset attached => DarkRadiant textool 1517261a
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 713ea9a1
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool de81adb6
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 53d16bbf
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 004cc0ed
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 5a012c8a
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool da668f91
13.09.2021 18:03 greebo Changeset attached => DarkRadiant textool 050efe5b
13.09.2021 18:03 greebo Changeset attached => DarkRadiant textool 7ec6b22a
13.09.2021 18:03 greebo Changeset attached => DarkRadiant textool 3e263a31
13.09.2021 18:03 greebo Changeset attached => DarkRadiant textool 0bfb0de6
13.09.2021 18:03 greebo Changeset attached => DarkRadiant textool 175bf4f7
13.09.2021 19:25 greebo Changeset attached => DarkRadiant textool a81c4c42
13.09.2021 19:25 greebo Changeset attached => DarkRadiant textool b224625c
15.09.2021 18:42 greebo Changeset attached => DarkRadiant textool 5d314e9c
16.09.2021 18:30 greebo Changeset attached => DarkRadiant textool 193ea54f
16.09.2021 18:30 greebo Changeset attached => DarkRadiant textool 62ecec21
16.09.2021 18:30 greebo Changeset attached => DarkRadiant textool 0bf8b3d1
16.09.2021 18:30 greebo Changeset attached => DarkRadiant textool 962b3736