View Issue Details

IDProjectCategoryView StatusLast Update
0005638DarkRadiantMap Editingpublic02.04.2022 05:55
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status closedResolutionfixed 
Product Version2.13.0 
Target Version2.13.0Fixed in Version2.13.0 
Summary0005638: Support Selection Groups when merging Maps
DescriptionRelated to 0005623, the merge algorithm should keep groups intact as far as possible.
TagsNo tags attached.

Relationships

related to 0005623 closedgreebo Differential Map Merge 
related to 0005639 closedgreebo Support Layers when merging Maps 

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: merge_groups 62270d5e

03.06.2021 19:33

greebo


Details Diff
0005638: Start working on group difference algorithm Affected Issues
0005638
mod - libs/scene/merge/ComparisonResult.h Diff File
mod - libs/scene/merge/GraphComparer.cpp Diff File
mod - libs/scene/merge/GraphComparer.h Diff File

DarkRadiant: merge_groups 6623fa28

04.06.2021 04:34

greebo


Details Diff
0005638: Fix test method performComparison always using the same map... copy & paste error Affected Issues
0005638
mod - test/MapMerging.cpp Diff File
add - test/resources/tdm/maps/merging_groups_1.mapx Diff File

DarkRadiant: merge_groups e2648161

04.06.2021 06:38

greebo


Details Diff
0005638: Unit test assuming the node ordering within a group doesn't make a difference Affected Issues
0005638
mod - test/MapMerging.cpp Diff File

DarkRadiant: merge_groups e9066be7

04.06.2021 06:48

greebo


Details Diff
0005638: Unit test checking the member difference detection Affected Issues
0005638
mod - test/MapMerging.cpp Diff File

DarkRadiant: merge_groups 7d4de868

04.06.2021 13:17

greebo


Details Diff
0005638: Selection Group comparison of all entities that are fully matching up otherwise Affected Issues
0005638
mod - libs/scene/merge/GraphComparer.cpp Diff File
mod - test/MapMerging.cpp Diff File

DarkRadiant: merge_groups 83066238

04.06.2021 14:46

greebo


Details Diff
0005638: Another test case of a matching entity having different group memberships Affected Issues
0005638
mod - test/MapMerging.cpp Diff File
mod - test/resources/tdm/maps/merging_groups_1.mapx Diff File

DarkRadiant: merge_groups a1bac311

04.06.2021 16:10

greebo


Details Diff
0005638: Test case of a mismatching entity or its children having different group memberships Affected Issues
0005638
mod - test/MapMerging.cpp Diff File

DarkRadiant: merge_groups a098155a

04.06.2021 17:13

greebo


Details Diff
0005638: More test cases. Change group fingerprint calculation to only look at an entity's name instead of its fingerprint.
For verifying links between entities a matching name is enough.
Affected Issues
0005638
mod - libs/scene/merge/GraphComparer.cpp Diff File
mod - libs/scene/merge/GraphComparer.h Diff File
mod - test/MapMerging.cpp Diff File

DarkRadiant: merge_groups 6e8dfc25

04.06.2021 18:19

greebo


Details Diff
0005638: Expose option to merge selection group information in the dialog Affected Issues
0005638
mod - include/imapmerge.h Diff File
mod - install/ui/mergecontroldialog.fbp Diff File
mod - install/ui/mergecontroldialog.xrc Diff File
mod - libs/scene/merge/MergeOperation.cpp Diff File
mod - libs/scene/merge/MergeOperation.h Diff File
mod - radiant/ui/merge/MergeControlDialog.cpp Diff File

DarkRadiant: merge_groups 6a72e589

05.06.2021 08:42

greebo


Details Diff
0005638: First untested implementation of a SelectionGroupMerger class performing the base scene group adjustment Affected Issues
0005638
mod - libs/scene/merge/GraphComparer.cpp Diff File
mod - libs/scene/merge/MergeOperation.cpp Diff File
add - libs/scene/merge/NodeUtils.h Diff File
add - libs/scene/merge/SelectionGroupMerger.h Diff File
mod - tools/msvc/scenelib.vcxproj Diff File
mod - tools/msvc/scenelib.vcxproj.filters Diff File

DarkRadiant: merge_groups 5dd4473c

05.06.2021 09:58

greebo


Details Diff
0005638: Log everything that is happening during selection group merge, will need that at least during feature development Affected Issues
0005638
mod - libs/scene/merge/MergeOperation.cpp Diff File
mod - libs/scene/merge/NodeUtils.h Diff File
mod - libs/scene/merge/SelectionGroupMerger.h Diff File

DarkRadiant: merge_groups 9cbc1a07

05.06.2021 11:26

greebo


Details Diff
0005638: Start fleshing out the unit tests to validate the selection group merge behaviour Affected Issues
0005638
mod - libs/scene/merge/SelectionGroupMerger.h Diff File
mod - test/MapMerging.cpp Diff File
add - test/resources/tdm/maps/merging_groups_2.mapx Diff File

DarkRadiant: merge_groups b73da854

05.06.2021 16:03

greebo


Details Diff
0005638: Tests for basic merge scenarios Affected Issues
0005638
mod - libs/scene/merge/SelectionGroupMerger.h Diff File
mod - test/MapMerging.cpp Diff File
add - test/resources/tdm/maps/merging_groups_3.mapx Diff File
add - test/resources/tdm/maps/merging_groups_4.mapx Diff File

DarkRadiant: merge_groups 14e962b7

05.06.2021 18:18

greebo


Details Diff
0005638: Tests for merging new entities with grouping Affected Issues
0005638
mod - test/MapMerging.cpp Diff File
add - test/resources/tdm/maps/merging_groups_5.mapx Diff File

DarkRadiant: merge_groups 85c23db5

05.06.2021 19:00

greebo


Details Diff
0005638: Tests for keeping group links alive between nodes that have been chosen by the user to be kept during merge.
The groups are kept intact as far as it is only affecting base-exclusive nodes, all links to nodes that are present in the source map too are cut off.
Affected Issues
0005638
mod - test/MapMerging.cpp Diff File
add - test/resources/tdm/maps/merging_groups_6.mapx Diff File

DarkRadiant: merge_groups 73fa88cd

05.06.2021 19:10

greebo


Details Diff
0005638: Make summary panel insensitive when no merge is active Affected Issues
0005638
mod - install/ui/mergecontroldialog.fbp Diff File
mod - install/ui/mergecontroldialog.xrc Diff File
mod - radiant/ui/merge/MergeControlDialog.cpp Diff File

DarkRadiant: merge_groups 80f054e3

06.06.2021 03:50

greebo


Details Diff
0005638: Add a test covering the MergeOperation flag to include selection groups Affected Issues
0005638
mod - test/MapMerging.cpp Diff File

Issue History

Date Modified Username Field Change
03.06.2021 19:33 greebo New Issue
03.06.2021 19:33 greebo Status new => acknowledged
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups 62270d5e
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups 6623fa28
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups e2648161
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups e9066be7
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups 7d4de868
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups 83066238
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups a1bac311
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups a098155a
04.06.2021 18:20 greebo Changeset attached => DarkRadiant merge_groups 6e8dfc25
05.06.2021 14:43 greebo Assigned To => greebo
05.06.2021 14:43 greebo Status acknowledged => assigned
05.06.2021 14:43 greebo Product Version => 2.13.0
05.06.2021 14:43 greebo Target Version => 2.13.0
05.06.2021 16:42 greebo Changeset attached => DarkRadiant merge_groups 6a72e589
05.06.2021 16:42 greebo Changeset attached => DarkRadiant merge_groups 5dd4473c
05.06.2021 16:42 greebo Changeset attached => DarkRadiant merge_groups 9cbc1a07
05.06.2021 16:42 greebo Changeset attached => DarkRadiant merge_groups b73da854
05.06.2021 19:00 greebo Changeset attached => DarkRadiant merge_groups 14e962b7
05.06.2021 19:00 greebo Changeset attached => DarkRadiant merge_groups 85c23db5
06.06.2021 03:50 greebo Changeset attached => DarkRadiant merge_groups 73fa88cd
06.06.2021 03:50 greebo Changeset attached => DarkRadiant merge_groups 80f054e3
06.06.2021 03:58 greebo Status assigned => resolved
06.06.2021 03:58 greebo Resolution open => fixed
06.06.2021 03:58 greebo Fixed in Version => 2.13.0
06.06.2021 04:28 greebo Relationship added related to 0005639
06.06.2021 04:28 greebo Relationship added related to 0005623
02.04.2022 05:55 greebo Status resolved => closed