View Issue Details

IDProjectCategoryView StatusLast Update
0006308Spring engineGeneralpublic2019-09-28 12:36
ReporterRampoina Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status newResolutionopen 
Product Version104.0 +git 
Summary0006308: Use selection volumes in the box selection algorithm
DescriptionAdd the possibility to use selection volumes when selecting units using box select, like it's done with the normal click selection.
TagsNo tags attached.
Checked infolog.txt for ErrorsIrrelevant

Activities

Kloot

2019-09-24 21:37

developer   ~0020149

Last edited: 2019-09-24 21:53

This is much more work to implement than anyone will reasonably commit to because selection volumes can be ellipsoids, boxes, and cylinders in addition to spheres, which are all plane-intersection-unfriendly. Taking the selvol's bounding radius into account for each plane test is about the best you can hope for here, but that obviously also has edge cases to consider.

Rampoina

2019-09-24 22:32

reporter   ~0020150

I see.
What about a simple bounding box collision?

Rampoina

2019-09-24 22:40

reporter   ~0020151

With the current box selection implementation you can get some results that are a bit off from a UX point of view. You can have 1/3 of the unit covered visually, but because it doesn't pass the mid point it won't get selected.

I was only suggesting selection volumes because it seemed the more generic solution, but of course if the collision tests are not already implemented it's a lot of work.

A compromise like a bounding box collision would be great

Kloot

2019-09-28 12:36

developer   ~0020152

You can add OOBB-based selection handling, but I would start simple and just test more sample points first.

Issue History

Date Modified Username Field Change
2019-09-24 19:26 Rampoina New Issue
2019-09-24 21:37 Kloot Note Added: 0020149
2019-09-24 21:53 Kloot Note Edited: 0020149
2019-09-24 22:32 Rampoina Note Added: 0020150
2019-09-24 22:40 Rampoina Note Added: 0020151
2019-09-28 12:36 Kloot Note Added: 0020152