View Issue Details

IDProjectCategoryView StatusLast Update
0005128DarkRadiantMap Editingpublic16.06.2022 12:58
Reporterkingsal Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
Product Version2.6.0 
Target Version2.14.0Fixed in Version2.14.0 
Summary0005128: Texture Tools: rotate function
DescriptionIt would be great to beef up the texture tool in DR to include a rotate function and some other basic tools in addition to what is in the surface editor (even if it creates a redundancy). Maybe in the future this should all just be one menu. See attached image.

USABILITY NOTES
- It would be great to not have to hold SHIFT in here when marque selecting.
- Would like to be able to click outside the selected face to deselect.
TagsNo tags attached.
Attached Files
image.png (1,813,651 bytes)

Relationships

related to 0005746 closedgreebo Texture Tool Improvements 

Activities

kingsal

kingsal

14.01.2020 02:59

reporter   ~0012144

I should also note that in the image the absolute and relative move parameters should just be X and Y , not UVW. That was just an example from 3DS MAX's uv tools.
greebo

greebo

30.09.2021 19:09

administrator   ~0014382

Implemented the rotate manipulator. The other requests need to go into separate issues if they are important.
greebo

greebo

30.10.2021 06:55

administrator   ~0014451

textool_rotate.gif (1,001,696 bytes)

Related Changesets

DarkRadiant: textool 9e2d6510

11.09.2021 13:51

greebo


Details Diff
0005128: Move Manipulator interface to separate file Affected Issues
0005128
add - include/imanipulator.h Diff File
mod - include/iselection.h Diff File
mod - radiantcore/selection/manipulators/TranslateManipulator.cpp Diff File
mod - tools/msvc/include.vcxproj Diff File

DarkRadiant: textool 813de903

12.09.2021 11:25

greebo


Details Diff
0005128: WIP code, attempting to integrate the existing Manipulator framework with the Texture Tool. Affected Issues
0005128
mod - install/input.xml Diff File
mod - radiant/CMakeLists.txt Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
add - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
add - 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 08b271e5

12.09.2021 11:37

greebo


Details Diff
0005128: Rename Manipulator interface type to IManipulator. Affected Issues
0005128
mod - include/imanipulator.h Diff File
mod - include/iselection.h Diff File
mod - radiant/selection/ManipulateMouseTool.cpp Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiant/ui/ManipulatorToggle.h Diff File
mod - radiantcore/clipper/Clipper.cpp Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - radiantcore/selection/RadiantSelectionSystem.h Diff File
mod - radiantcore/selection/algorithm/Transformation.cpp Diff File
mod - radiantcore/selection/manipulators/ManipulatorBase.h Diff File
mod - radiantcore/selection/manipulators/ManipulatorComponents.h Diff File
mod - test/Selection.cpp Diff File

DarkRadiant: textool bdff5ea6

12.09.2021 12:15

greebo


Details Diff
0005128: Split off the interface parts that won't be fit into the texture tool world Affected Issues
0005128
mod - include/imanipulator.h Diff File
mod - include/iselection.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - radiantcore/selection/RadiantSelectionSystem.h Diff File
mod - radiantcore/selection/manipulators/ManipulatorBase.h Diff File

DarkRadiant: textool 80473fb1

12.09.2021 13:48

greebo


Details Diff
0005128: Add IManipulatorManager interface, since I want the manipulator algorithms to be part of the core module. Affected Issues
0005128
mod - include/imanipulator.h Diff File
mod - radiantcore/CMakeLists.txt Diff File
add - radiantcore/selection/manipulators/ManipulatorManager.cpp Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: textool 7057b977

12.09.2021 14:24

greebo


Details Diff
0005128: Add TextureToolRotateManipulator stub Affected Issues
0005128
mod - include/imanipulator.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - radiantcore/selection/manipulators/ManipulatorBase.h Diff File
mod - radiantcore/selection/manipulators/ManipulatorManager.cpp Diff File
add - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
add - radiantcore/selection/manipulators/TextureToolRotateManipulator.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: textool 3836a9e3

12.09.2021 16:53

greebo


Details Diff
0005128: Working on the rotate manipulator Affected Issues
0005128
mod - include/imanipulator.h Diff File
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/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.h Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.h Diff File

DarkRadiant: textool de4fc12f

12.09.2021 18:04

greebo


Details Diff
0005128: Highlight the selected circle Affected Issues
0005128
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File

DarkRadiant: textool 1520dbbf

13.09.2021 04:27

greebo


Details Diff
0005128: Do the math to get the desired angle in radians Affected Issues
0005128
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.h Diff File

DarkRadiant: textool b3a93fbd

14.09.2021 18:18

greebo


Details Diff
0005128: Some rough steps towards the rotation functionality Affected Issues
0005128
mod - include/ibrush.h Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.h Diff File
mod - radiantcore/selection/textool/FaceNode.h Diff File

DarkRadiant: textool a7616360

15.09.2021 17:35

greebo


Details Diff
0005128: All textool nodes are SelectionTestable Affected Issues
0005128
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 e50ad5f9

15.09.2021 18:41

greebo


Details Diff
0005128: More interface definitions of methods we're going to need Affected Issues
0005128
mod - include/ibrush.h Diff File
mod - include/itexturetoolmodel.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/brush/Face.h Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/textool/FaceNode.h Diff File
mod - radiantcore/selection/textool/PatchNode.h Diff File

DarkRadiant: textool 00521e91

16.09.2021 15:43

greebo


Details Diff
0005128: Face rotation seems to be working now Affected Issues
0005128
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File

DarkRadiant: textool 2a4ee5fa

16.09.2021 16:45

greebo


Details Diff
0005128: Refresh texture tool in GlobalMainFrame().updateAllViews() Affected Issues
0005128
mod - radiant/textool/tools/TextureToolManipulateMouseTool.cpp Diff File
mod - radiant/ui/mainframe/MainFrame.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/textool/FaceNode.h Diff File

DarkRadiant: textool 4712eb55

16.09.2021 19:00

greebo


Details Diff
0005128: Display the angle of rotation (WIP) Affected Issues
0005128
mod - radiant/selection/ManipulateMouseTool.cpp Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - radiantcore/selection/manipulators/ManipulatorComponents.h Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.h Diff File

DarkRadiant: textool 15bfb65b

16.09.2021 20:14

greebo


Details Diff
0005128: Display the angle of rotation Affected Issues
0005128
mod - radiantcore/selection/manipulators/TextureToolRotateManipulator.cpp Diff File

DarkRadiant: textool 074c4c8c

18.09.2021 17:57

greebo


Details Diff
0005128: Add manipulator toggle buttons to Texture Tool Affected Issues
0005128
mod - install/user.xml Diff File
add - radiant/textool/TexToolManipulatorToggle.h Diff File
mod - radiant/ui/UserInterfaceModule.cpp Diff File
mod - radiant/ui/UserInterfaceModule.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: textool 696a9ad0

18.09.2021 18:41

greebo


Details Diff
0005128: Manipulator toggle behaviour test Affected Issues
0005128
mod - radiantcore/patch/Patch.cpp Diff File
mod - test/TextureTool.cpp Diff File

DarkRadiant: textool 52d73686

24.09.2021 06:22

greebo


Details Diff
0005128: Add cross hair to rotate renderable Affected Issues
0005128
mod - radiantcore/selection/textool/TextureToolRotateManipulator.cpp Diff File

DarkRadiant: textool abd3ae2c

24.09.2021 10:39

greebo


Details Diff
0005128: Circle is now scaled to compensate the view projection Affected Issues
0005128
mod - include/imanipulator.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiantcore/selection/textool/TextureToolDragManipulator.cpp Diff File
mod - radiantcore/selection/textool/TextureToolDragManipulator.h Diff File
mod - radiantcore/selection/textool/TextureToolRotateManipulator.cpp Diff File
mod - radiantcore/selection/textool/TextureToolRotateManipulator.h Diff File

DarkRadiant: textool 33868c1f

24.09.2021 10:56

greebo


Details Diff
0005128: Introduce ManipulatorModeToggleRequest to support the Texture Tool manipulators binding to the same shortcuts Affected Issues
0005128
mod - include/imessagebus.h Diff File
add - libs/messages/ManipulatorModeToggleRequest.h Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: textool e8174775

24.09.2021 12:03

greebo


Details Diff
0005128: Texture Tool is monitoring the manipulator mode toggle request message. When the Window or the GL widget has focus, the shortcut will switch the Texture Tool manipulators, otherwise the regular SelectionSystem manipulators will be toggled. Affected Issues
0005128
mod - include/itexturetoolmodel.h Diff File
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.h Diff File
mod - test/TextureTool.cpp Diff File

DarkRadiant: textool b1d91be9

24.09.2021 17:37

greebo


Details Diff
0005128: Add ComponentSelectionModeToggleRequest to make it interceptable by client code.
Move SelectionSystem interface to selection namespace. Move ComponentSelectionMode enumeration to selection namespace and refactor the references.
Affected Issues
0005128
mod - include/imessagebus.h Diff File
mod - include/iselection.h Diff File
mod - include/iselectiontest.h Diff File
mod - include/itexturetoolmodel.h Diff File
add - libs/messages/ComponentSelectionModeToggleRequest.h Diff File
mod - libs/render/RenderableCollectionWalker.h Diff File
mod - libs/scene/GroupNodeChecker.h Diff File
mod - libs/scene/ModelFinder.h Diff File
mod - libs/scene/PrefabBoundsAccumulator.h Diff File
mod - libs/shaderlib.h Diff File
mod - plugins/script/interfaces/SelectionInterface.cpp Diff File
mod - plugins/script/interfaces/SelectionInterface.h Diff File
mod - radiant/selection/SceneManipulateMouseTool.cpp Diff File
mod - radiant/selection/SelectionMouseTools.cpp Diff File
mod - radiant/textool/tools/TextureToolSelectionTool.h Diff File
mod - radiant/ui/SelectionModeToggle.h Diff File
mod - radiant/ui/einspector/EntityInspector.h Diff File
mod - radiant/ui/entitylist/EntityList.h Diff File
mod - radiant/ui/lightinspector/LightInspector.cpp Diff File
mod - radiant/ui/merge/MergeControlDialog.h Diff File
mod - radiant/ui/patch/PatchInspector.h Diff File
mod - radiantcore/brush/Brush.cpp Diff File
mod - radiantcore/brush/Brush.h Diff File
mod - radiantcore/brush/BrushNode.cpp Diff File
mod - radiantcore/brush/BrushNode.h Diff File
mod - radiantcore/brush/FaceInstance.cpp Diff File
mod - radiantcore/brush/FaceInstance.h Diff File
mod - radiantcore/clipper/SplitAlgorithm.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.cpp Diff File
mod - radiantcore/entity/doom3group/Doom3GroupNode.h Diff File
mod - radiantcore/entity/light/LightNode.cpp Diff File
mod - radiantcore/entity/light/LightNode.h Diff File
mod - radiantcore/entity/speaker/SpeakerNode.cpp Diff File
mod - radiantcore/entity/speaker/SpeakerNode.h Diff File
mod - radiantcore/layers/AddToLayerWalker.h Diff File
mod - radiantcore/layers/MoveToLayerWalker.h Diff File
mod - radiantcore/layers/RemoveFromLayerWalker.h Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/RegionManager.cpp Diff File
mod - radiantcore/map/algorithm/Models.cpp Diff File
mod - radiantcore/patch/PatchNode.cpp Diff File
mod - radiantcore/patch/PatchNode.h Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File
mod - radiantcore/selection/RadiantSelectionSystem.h Diff File
mod - radiantcore/selection/SceneWalkers.h Diff File
mod - radiantcore/selection/SelectionTestWalkers.h Diff File
mod - radiantcore/selection/TransformationVisitors.h Diff File
mod - radiantcore/selection/algorithm/Curves.cpp Diff File
mod - radiantcore/selection/algorithm/General.cpp Diff File
mod - radiantcore/selection/algorithm/Primitives.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.cpp Diff File
mod - radiantcore/selection/textool/TextureToolSelectionSystem.h Diff File
mod - test/Selection.cpp Diff File
mod - test/TextureTool.cpp Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: textool 284b2b9d

25.09.2021 05:03

greebo


Details Diff
0005128: Intercept the component mode toggle requests in the Texture Tool to allow switching between Surface and Vertex modes. Affected Issues
0005128
mod - radiant/textool/TexTool.cpp Diff File
mod - radiant/textool/TexTool.h Diff File
mod - radiantcore/selection/RadiantSelectionSystem.cpp Diff File

Issue History

Date Modified Username Field Change
13.01.2020 21:04 kingsal New Issue
13.01.2020 21:04 kingsal File Added: image.png
13.01.2020 21:05 kingsal Category General => Map Editing
13.01.2020 21:05 kingsal Description Updated
14.01.2020 02:59 kingsal Note Added: 0012144
14.01.2020 03:27 greebo Summary DR texture tools => Texture Tools: rotate function and selection improvements
14.01.2020 03:30 greebo Status new => acknowledged
10.09.2021 05:18 greebo Relationship added related to 0005746
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 9e2d6510
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 813de903
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 08b271e5
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool bdff5ea6
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 80473fb1
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 7057b977
12.09.2021 16:57 greebo Changeset attached => DarkRadiant textool 3836a9e3
13.09.2021 18:03 greebo Changeset attached => DarkRadiant textool de4fc12f
13.09.2021 18:03 greebo Changeset attached => DarkRadiant textool 1520dbbf
15.09.2021 18:42 greebo Changeset attached => DarkRadiant textool b3a93fbd
15.09.2021 18:42 greebo Changeset attached => DarkRadiant textool a7616360
15.09.2021 18:42 greebo Changeset attached => DarkRadiant textool e50ad5f9
16.09.2021 18:30 greebo Changeset attached => DarkRadiant textool 00521e91
16.09.2021 18:30 greebo Changeset attached => DarkRadiant textool 2a4ee5fa
17.09.2021 18:00 greebo Changeset attached => DarkRadiant textool 4712eb55
17.09.2021 18:00 greebo Changeset attached => DarkRadiant textool 15bfb65b
18.09.2021 18:41 greebo Changeset attached => DarkRadiant textool 074c4c8c
18.09.2021 18:41 greebo Changeset attached => DarkRadiant textool 696a9ad0
24.09.2021 08:09 greebo Changeset attached => DarkRadiant textool 52d73686
24.09.2021 10:39 greebo Changeset attached => DarkRadiant textool abd3ae2c
25.09.2021 05:14 greebo Changeset attached => DarkRadiant textool 33868c1f
25.09.2021 05:14 greebo Changeset attached => DarkRadiant textool e8174775
25.09.2021 05:14 greebo Changeset attached => DarkRadiant textool b1d91be9
25.09.2021 05:14 greebo Changeset attached => DarkRadiant textool 284b2b9d
25.09.2021 16:07 greebo Target Version => 2.14.0
25.09.2021 16:07 greebo Assigned To => greebo
25.09.2021 16:07 greebo Status acknowledged => assigned
30.09.2021 19:08 greebo Status assigned => resolved
30.09.2021 19:08 greebo Resolution open => fixed
30.09.2021 19:08 greebo Fixed in Version => 2.14.0
30.09.2021 19:09 greebo Note Added: 0014382
30.09.2021 19:09 greebo Summary Texture Tools: rotate function and selection improvements => Texture Tools: rotate function
30.10.2021 06:55 greebo Note Added: 0014451
30.10.2021 06:55 greebo File Added: textool_rotate.gif
16.06.2022 12:58 greebo Status resolved => closed