From fa260f0dd11c6d806d6284bf13167bc02420774f Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Tue, 26 Apr 2022 19:53:04 +0100 Subject: [PATCH 01/11] #5878: RenderableSemiCircle uses Matrix4 for axis substitution Instead of using a RemapPolicy struct passed via a template parameter (which results in a separate copy of this non-trivial constructor being generated for each axis), pass in a simple Matrix4 which is used to substitute the axes. --- .../selection/manipulators/Renderables.h | 32 ++++++++++++++----- .../manipulators/RotateManipulator.cpp | 21 +++++++++--- .../manipulators/RotateManipulator.h | 6 ++-- 3 files changed, 44 insertions(+), 15 deletions(-) diff --git a/radiantcore/selection/manipulators/Renderables.h b/radiantcore/selection/manipulators/Renderables.h index ab70701e05..b8ad37fa3b 100644 --- a/radiantcore/selection/manipulators/Renderables.h +++ b/radiantcore/selection/manipulators/Renderables.h @@ -171,20 +171,36 @@ class RenderableLineStrip : }; /// Line strip in the shape of a semicircle -template class RenderableSemiCircle : public RenderableLineStrip { public: - RenderableSemiCircle(std::size_t segments, double radius, const Matrix4& localToWorld) : - RenderableLineStrip((segments << 2) + 1, localToWorld) + + /** + * @brief Construct a new RenderableSemiCircle object + * + * @param segments + * Number of linear segments to divide the semicircle into. + * + * @param radius + * Radius of the semicircle in world units. + * + * @param localToWorld + * Local space transformation matrix. + * + * @param axisRemap + * Optional matrix to reassign axes, used to orient the semicircle in 3D space. + */ + RenderableSemiCircle(std::size_t segments, double radius, const Matrix4& localToWorld, + const Matrix4& axisRemap) + : RenderableLineStrip((segments << 2) + 1, localToWorld) { const double increment = math::PI / double(segments << 2); std::size_t count = 0; double x = radius; double y = 0; - RemapPolicy::set(_rawPoints[segments << 2], -radius, 0, 0); + _rawPoints[segments << 2] = axisRemap * Vertex3(-radius, 0, 0); while (count < segments) { auto& i = _rawPoints[count]; @@ -193,8 +209,8 @@ class RenderableSemiCircle : auto& k = _rawPoints[count + (segments << 1)]; auto& l = _rawPoints[(segments << 1) - (count + 1) + (segments << 1)]; - RemapPolicy::set(i, x, -y, 0); - RemapPolicy::set(k, -y, -x, 0); + i = axisRemap * Vertex3(x, -y, 0); + k = axisRemap * Vertex3(-y, -x, 0); ++count; @@ -202,8 +218,8 @@ class RenderableSemiCircle : x = radius * cos(theta); y = radius * sin(theta); - RemapPolicy::set(j, y, -x, 0); - RemapPolicy::set(l, -x, -y, 0); + j = axisRemap * Vertex3(y, -x, 0); + l = axisRemap * Vertex3(-x, -y, 0); } } }; diff --git a/radiantcore/selection/manipulators/RotateManipulator.cpp b/radiantcore/selection/manipulators/RotateManipulator.cpp index 657f0b8036..1dcd07bf2e 100644 --- a/radiantcore/selection/manipulators/RotateManipulator.cpp +++ b/radiantcore/selection/manipulators/RotateManipulator.cpp @@ -14,6 +14,19 @@ namespace constexpr static auto CircleSegments = 8; constexpr static auto CircleRadius = 64.0; const Vector4 AngleTextColour(0.75, 0, 0, 1); + + static const Matrix4 REMAP_YZX = Matrix4::byRows( + 0, 0, 1, 0, + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 0, 1 + ); + static const Matrix4 REMAP_ZXY = Matrix4::byRows( + 0, 1, 0, 0, + 0, 0, 1, 0, + 1, 0, 0, 0, + 0, 0, 0, 1 + ); } RotateManipulator::RotateManipulator(ManipulationPivot& pivot, std::size_t segments, float radius) : @@ -23,9 +36,9 @@ RotateManipulator::RotateManipulator(ManipulationPivot& pivot, std::size_t segme _rotateAxis(*this), _translatePivot(_pivotTranslatable), _localPivotPoint(0,0,0), - _circleX(CircleSegments, CircleRadius, _local2worldX), - _circleY(CircleSegments, CircleRadius, _local2worldY), - _circleZ(CircleSegments, CircleRadius, _local2worldZ), + _circleX(CircleSegments, CircleRadius, _local2worldX, REMAP_YZX), + _circleY(CircleSegments, CircleRadius, _local2worldY, REMAP_ZXY), + _circleZ(CircleSegments, CircleRadius, _local2worldZ, Matrix4::getIdentity()), _circleScreen(CircleSegments, CircleRadius * 1.15, _pivot2World._viewpointSpace), _circleSphere(CircleSegments, CircleRadius, _pivot2World._viewpointSpace), _pivotPoint(_localPivotPoint, _pivot2World._worldSpace), @@ -116,7 +129,7 @@ void RotateManipulator::onPreRender(const RenderSystemPtr& renderSystem, const V } _pivot2World.update(_pivot.getMatrix4(), volume.GetModelview(), volume.GetProjection(), volume.GetViewport()); - + updateCircleTransforms(); updateColours(); updateAngleText(); diff --git a/radiantcore/selection/manipulators/RotateManipulator.h b/radiantcore/selection/manipulators/RotateManipulator.h index d9f286f6f1..d1d40d2b50 100644 --- a/radiantcore/selection/manipulators/RotateManipulator.h +++ b/radiantcore/selection/manipulators/RotateManipulator.h @@ -34,9 +34,9 @@ class RotateManipulator : Vector3 _axisScreen; Vertex3 _localPivotPoint; - RenderableSemiCircle _circleX; - RenderableSemiCircle _circleY; - RenderableSemiCircle _circleZ; + RenderableSemiCircle _circleX; + RenderableSemiCircle _circleY; + RenderableSemiCircle _circleZ; RenderableCircle _circleScreen; RenderableCircle _circleSphere; RenderablePoint _pivotPoint; From 69522de8122074ed309b9545696b47994bcd141b Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Wed, 27 Apr 2022 20:11:45 +0100 Subject: [PATCH 02/11] Add simple test for initialising a RenderVertex --- test/Renderer.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/test/Renderer.cpp b/test/Renderer.cpp index 0b6af2fc95..36891d85ae 100644 --- a/test/Renderer.cpp +++ b/test/Renderer.cpp @@ -22,6 +22,43 @@ IEntityNodePtr createByClassName(const std::string& className) using V4 = Vector4; using V3 = Vector3; +TEST_F(RendererTest, ConstructRenderVertex) +{ + using render::RenderVertex; + + { + // Default constructor + RenderVertex deflt; + EXPECT_EQ(deflt.vertex, Vector3f(0, 0, 0)); + EXPECT_EQ(deflt.tangent, Vector3f(0, 0, 0)); + EXPECT_EQ(deflt.bitangent, Vector3f(0, 0, 0)); + EXPECT_EQ(deflt.colour, Vector4f(1, 1, 1, 1)); + } + + { + // Initialise without colour or tangents + RenderVertex v(Vector3f(128, -64, 59), Vector3f(1, -1, 0), Vector2f(0.5, 0.75)); + EXPECT_EQ(v.vertex, Vector3f(128, -64, 59)); + EXPECT_EQ(v.normal, Vector3f(1, -1, 0)); + EXPECT_EQ(v.texcoord, Vector2f(0.5, 0.75)); + EXPECT_EQ(v.tangent, Vector3f(0, 0, 0)); + EXPECT_EQ(v.bitangent, Vector3f(0, 0, 0)); + EXPECT_EQ(v.colour, Vector4f(1, 1, 1, 1)); + } + + { + // Initialise with colour but no tangents + RenderVertex v(Vector3f(-275, -0.1, 1.15), Vector3f(0.5, -0.5, 0.8), Vector2f(0.25, 0.37), + Vector4f(1.0, 0.5, 0.5, 0.6)); + EXPECT_EQ(v.vertex, Vector3f(-275, -0.1, 1.15)); + EXPECT_EQ(v.normal, Vector3f(0.5, -0.5, 0.8)); + EXPECT_EQ(v.texcoord, Vector2f(0.25, 0.37)); + EXPECT_EQ(v.tangent, Vector3f(0, 0, 0)); + EXPECT_EQ(v.bitangent, Vector3f(0, 0, 0)); + EXPECT_EQ(v.colour, Vector4f(1.0, 0.5, 0.5, 0.6)); + } +} + // Wrapper for a light entity and its respective node interfaces struct Light { From 99cfd69c849291b82d78948bbb3217e0ddc0545c Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Wed, 27 Apr 2022 20:23:49 +0100 Subject: [PATCH 03/11] RenderVertex test exercises all constructors --- test/Renderer.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/test/Renderer.cpp b/test/Renderer.cpp index 36891d85ae..e049157d3b 100644 --- a/test/Renderer.cpp +++ b/test/Renderer.cpp @@ -57,6 +57,44 @@ TEST_F(RendererTest, ConstructRenderVertex) EXPECT_EQ(v.bitangent, Vector3f(0, 0, 0)); EXPECT_EQ(v.colour, Vector4f(1.0, 0.5, 0.5, 0.6)); } + + { + // Initialise all values + RenderVertex v(Vector3f(-275, -0.1, 1.15), Vector3f(0.5, -0.5, 0.8), Vector2f(0.25, 0.37), + Vector4f(1.0, 0.5, 0.5, 0.6), Vector3f(0.75, -16, 320), + Vector3f(200, 800, 1056.6)); + EXPECT_EQ(v.vertex, Vector3f(-275, -0.1, 1.15)); + EXPECT_EQ(v.normal, Vector3f(0.5, -0.5, 0.8)); + EXPECT_EQ(v.texcoord, Vector2f(0.25, 0.37)); + EXPECT_EQ(v.tangent, Vector3f(0.75, -16, 320)); + EXPECT_EQ(v.bitangent, Vector3f(200, 800, 1056.6)); + EXPECT_EQ(v.colour, Vector4f(1.0, 0.5, 0.5, 0.6)); + } + + { + // Initialise with double-precision (no tangents) + RenderVertex v(Vector3(350, 8.0002, -19.15), Vector3(0.6, -0.1, 2.5), Vector2(0.15, 0.99), + Vector4(1.5, 16, -72.89, 0.6)); + EXPECT_EQ(v.vertex, Vector3f(350, 8.0002, -19.15)); + EXPECT_EQ(v.normal, Vector3f(0.6, -0.1, 2.5)); + EXPECT_EQ(v.texcoord, Vector2f(0.15, 0.99)); + EXPECT_EQ(v.tangent, Vector3f(0, 0, 0)); + EXPECT_EQ(v.bitangent, Vector3f(0, 0, 0)); + EXPECT_EQ(v.colour, Vector4f(1.5, 16, -72.89, 0.6)); + } + + { + // Initialise all values with double-precision + RenderVertex v(Vector3(350, 8.0002, -19.15), Vector3(0.6, -0.1, 2.5), Vector2(0.15, 0.99), + Vector4(1.5, 16, -72.89, 0.6), Vector3(-999, 864.2, 0.001), + Vector3(1, 5, 59)); + EXPECT_EQ(v.vertex, Vector3f(350, 8.0002, -19.15)); + EXPECT_EQ(v.normal, Vector3f(0.6, -0.1, 2.5)); + EXPECT_EQ(v.texcoord, Vector2f(0.15, 0.99)); + EXPECT_EQ(v.tangent, Vector3f(-999, 864.2, 0.001)); + EXPECT_EQ(v.bitangent, Vector3f(1, 5, 59)); + EXPECT_EQ(v.colour, Vector4f(1.5, 16, -72.89, 0.6)); + } } // Wrapper for a light entity and its respective node interfaces From 6c178e5f4d9c1c578c7f3c4eb75ec8f87042f8cb Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Tue, 3 May 2022 19:32:44 +0100 Subject: [PATCH 04/11] Simplify RenderVertex constructors Use a combination of default arguments and templates to reduce the RenderVertex non-default constructors from 5 to 2. This in turn required some more flexibility in the BasicVector3/4 constructors: it is now possible to convert between vectors of different precisions much more seamlessly. In theory it ought to be possible to merge the remaining non-templated RenderVertex constructor with the templated version, but all my attempts so far resulted in incomprehensible template substitution errors. --- libs/math/Vector3.h | 6 ++++ libs/math/Vector4.h | 10 +++++-- libs/render/RenderVertex.h | 57 ++++++++++++-------------------------- test/math/Vector.cpp | 8 ++++++ 4 files changed, 40 insertions(+), 41 deletions(-) diff --git a/libs/math/Vector3.h b/libs/math/Vector3.h index c0729a0975..db47b41b5b 100644 --- a/libs/math/Vector3.h +++ b/libs/math/Vector3.h @@ -68,6 +68,12 @@ class BasicVector3 BasicVector3(const T* array): _v(array[0], array[1], array[2]) {} + /// Construct from another BasicVector3 with a compatible element type + template BasicVector3(const BasicVector3& other) + : BasicVector3(other.x(), other.y(), other.z()) + { + } + /** * Named constructor, returning a vector on the unit sphere for the given spherical coordinates. */ diff --git a/libs/math/Vector4.h b/libs/math/Vector4.h index bf93d41e88..1b642afeb8 100644 --- a/libs/math/Vector4.h +++ b/libs/math/Vector4.h @@ -49,8 +49,14 @@ class BasicVector4 : _v(x_, y_, z_, w_) {} - // Construct a BasicVector4 out of a Vector3 plus a W value (default 1) - BasicVector4(const BasicVector3& other, T w_ = 1) + /// Construct from another BasicVector4 with a compatible element type + template BasicVector4(const BasicVector4& other) + : BasicVector4(other.x(), other.y(), other.z(), other.w()) + {} + + /// Construct from a BasicVector3 of compatible element type, plus an optional W value + template + BasicVector4(const BasicVector3& other, W w_ = 1.0f) { _v[0] = other.x(); _v[1] = other.y(); diff --git a/libs/render/RenderVertex.h b/libs/render/RenderVertex.h index 2ad4eecede..42bf9a092c 100644 --- a/libs/render/RenderVertex.h +++ b/libs/render/RenderVertex.h @@ -28,46 +28,25 @@ class RenderVertex colour(1.0f, 1.0f, 1.0f, 1.0f) {} - /// Initialising constructor, leaves colour at 1,1,1,1 and tangent vectors at 0,0,0 - RenderVertex(const Vector3f& v, const Vector3f& n, const Vector2f& t) : - RenderVertex(v, n, t, { 1.0f, 1.0f, 1.0f, 1.0f }) - {} - /// Initialising constructor, leaves tangent vectors at 0,0,0 - RenderVertex(const Vector3f& v, const Vector3f& n, const Vector2f& t, const Vector4f& c) : - RenderVertex(v, n, t, c, { 0, 0, 0 }, { 0, 0, 0 }) - {} - - // Initialises all attributes of this vertex - RenderVertex(const Vector3f& vertex_, const Vector3f& normal_, - const Vector2f& texcoord_, const Vector4f& colour_, - const Vector3f& tangent_, const Vector3f& bitangent_) : - texcoord(texcoord_), - normal(normal_), - vertex(vertex_), - tangent(tangent_), - bitangent(bitangent_), - colour(colour_) - {} - - // Adapter constructor converting the incoming double-precision vectors - // into single-precision floats. Variant without tangent/bitangent. - RenderVertex(const Vector3& vertex_, const Vector3& normal_, - const Vector2& texcoord_, const Vector4& colour_) : - RenderVertex(vertex_, normal_, texcoord_, colour_, { 0, 0, 0 }, { 0, 0, 0 }) - {} - - // Adapter constructor converting the incoming double-precision vectors - // into single-precision floats - RenderVertex(const Vector3& vertex_, const Vector3& normal_, - const Vector2& texcoord_, const Vector4& colour_, - const Vector3& tangent_, const Vector3& bitangent_) : - texcoord(static_cast(texcoord_.x()), static_cast(texcoord_.y())), - normal(static_cast(normal_.x()), static_cast(normal_.y()), static_cast(normal_.z())), - vertex(static_cast(vertex_.x()), static_cast(vertex_.y()), static_cast(vertex_.z())), - tangent(static_cast(tangent_.x()), static_cast(tangent_.y()), static_cast(tangent_.z())), - bitangent(static_cast(bitangent_.x()), static_cast(bitangent_.y()), static_cast(bitangent_.z())), - colour(static_cast(colour_.x()), static_cast(colour_.y()), static_cast(colour_.z()), static_cast(colour_.w())) + RenderVertex(const Vector3f& v, const Vector3f& n, const Vector2f& t, + const Vector4f& c = {1.0f, 1.0f, 1.0f, 1.0f}) + : RenderVertex(v, n, t, c, {0, 0, 0}, {0, 0, 0}) + { + } + + /// Construct and initialise all values + template + RenderVertex(const BasicVector3& vertex_, const BasicVector3& normal_, + const BasicVector2& texcoord_, const BasicVector4& colour_, + const BasicVector3& tangent_ = BasicVector3(0, 0, 0), + const BasicVector3& bitangent_ = BasicVector3(0, 0, 0)) + : texcoord(texcoord_), + normal(normal_), + vertex(vertex_), + tangent(tangent_), + bitangent(bitangent_), + colour(colour_) {} }; diff --git a/test/math/Vector.cpp b/test/math/Vector.cpp index a5206f0cfb..0d51e848ec 100644 --- a/test/math/Vector.cpp +++ b/test/math/Vector.cpp @@ -77,6 +77,14 @@ TEST(VectorTest, PromoteVector3To4) EXPECT_EQ(v4, Vector4(8, 12, -5, 1)); } +TEST(VectorTest, PromoteVector3To4WithDifferentType) +{ + BasicVector3 v3(-9, 12, 47); + BasicVector4 v4(v3); + + EXPECT_EQ(v4, Vector4(-9, 12, 47, 1)); +} + TEST(VectorTest, DemoteVector4To3) { Vector4 v4(1, -96, 0.125); From 981276151275372e8ca96c0659561cd92931b44b Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Wed, 4 May 2022 20:20:10 +0100 Subject: [PATCH 05/11] Update light inspector section in the user guide Update the screenshot to reflect the new appearance with the brightness slider, and mention the function of the slider in the explanatory text. Also tone down the warning about limitations of the lighting mode renderer, since this has improved massively and shadows are now supported. --- doc/img/LightInspector.png | Bin 73218 -> 104638 bytes doc/manual.adoc | 20 +++++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/doc/img/LightInspector.png b/doc/img/LightInspector.png index 16243c7b03dda64cad6f565a13d94d8cd9e45a30..625a776fde0174121d42c7776da2f90c648ac86e 100644 GIT binary patch literal 104638 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

hq-aUtGMpap#mKG=4Zj|7{sxQ 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%0DQbmTfwtnJ5JR?K6h|420XBc`*qK?O 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 literal 73218 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 z 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 Date: Wed, 4 May 2022 20:42:43 +0100 Subject: [PATCH 06/11] Document a couple more options in the Edit menu --- doc/manual.adoc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/manual.adoc b/doc/manual.adoc index 29cc0d79a6..8a001ae1de 100644 --- a/doc/manual.adoc +++ b/doc/manual.adoc @@ -827,6 +827,7 @@ needs to align across all of the brushes, regardless of how they are moved or resized), you will want to disable *Texture Lock*. |=== +[[ShaderClipboard]] ==== Using the shader clipboard While constructing a map it will frequently be necessary to apply the same @@ -1792,6 +1793,16 @@ content into a file and load it later as an actual map fragment. TIP: To unparent *all* of an entity's primitives and convert them back into worldspawn, just right-click in the 2D view and choose *Revert to worldspawn*. +*Merge selected entities*:: Convert two more more selected entities into a +single entity which contains all of the contained brushes and patches. Only +works for entities which can contain primitives (e.g. func_static). + +*Copy shader*:: Copy the shader from the selected face to the +<>. + +*Paste shader*:: Paste the shader currently on the <> to all selected faces. + == Configuring DarkRadiant DarkRadiant offers a large number of configurable options which can be used to From 0f0e90cbb9f5737e87b5f0152d5ccaed67ffd8a3 Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Wed, 4 May 2022 21:01:36 +0100 Subject: [PATCH 07/11] Remove remaining RenderVertex non-templated constructor RenderVertex now has only a single initialising constructor (with optional arguments) and a default constructor. --- libs/render/RenderVertex.h | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/libs/render/RenderVertex.h b/libs/render/RenderVertex.h index 42bf9a092c..9847f2f295 100644 --- a/libs/render/RenderVertex.h +++ b/libs/render/RenderVertex.h @@ -28,17 +28,11 @@ class RenderVertex colour(1.0f, 1.0f, 1.0f, 1.0f) {} - /// Initialising constructor, leaves tangent vectors at 0,0,0 - RenderVertex(const Vector3f& v, const Vector3f& n, const Vector2f& t, - const Vector4f& c = {1.0f, 1.0f, 1.0f, 1.0f}) - : RenderVertex(v, n, t, c, {0, 0, 0}, {0, 0, 0}) - { - } - /// Construct and initialise all values - template + template > RenderVertex(const BasicVector3& vertex_, const BasicVector3& normal_, - const BasicVector2& texcoord_, const BasicVector4& colour_, + const BasicVector2& texcoord_, + const ColVector_T& colour_ = BasicVector4(1, 1, 1, 1), const BasicVector3& tangent_ = BasicVector3(0, 0, 0), const BasicVector3& bitangent_ = BasicVector3(0, 0, 0)) : texcoord(texcoord_), From 7f8e27fcb184df7b69991ecfef69b05614d79e6c Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Tue, 10 May 2022 20:56:24 +0100 Subject: [PATCH 08/11] Documentation updates for selection and reparenting commands --- doc/manual.adoc | 71 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 17 deletions(-) diff --git a/doc/manual.adoc b/doc/manual.adoc index 8a001ae1de..1c0bf79fff 100644 --- a/doc/manual.adoc +++ b/doc/manual.adoc @@ -1121,6 +1121,7 @@ which shows a brief explanation of certain properties. If a property has help text available, the question mark icon will be shown in the *?* column. |=== +[[ReparentingPrimitives]] === Reparenting primitives Whenever a new brush or patch is created, it will automatically be made a child @@ -1145,34 +1146,40 @@ like — into *func_static* entities to improve in-game performance and reduce t chances for map compilation problems caused by excessively complex world geometry. +The *func_static* entity class is not the only type of entity which can contain +primitives: there are several other *func_* entities which perform various +functions, for example *func_rotating* which allows geometry to rotate +continuously. DarkRadiant offers dedicated commands to convert to/from a +*func_static* since this is a very common operation, however the ability to +<>, <> +individual primitives behaves the same for all types of primitive-containing +entity. + ==== Converting primitives into func_static To convert one or more existing primitives into a *func_static* entity, simply select all of the primitives, right-click in the 2D window, and choose *Convert to func_static*. +[[SelectChildPrimitives]] +==== Manipulating individual child primitives + After converting a primitive, a number of changes are noticeable: . The primitive may be drawn in a different colour. . The primitive will no longer be resizeable by dragging its boundary with the mouse. . When the primitive is selected, the *Entity Inspector* will no longer show the -*worldspawn* entity, but a new entity with a *classname* of `func_static`. You -can set spawnargs on this entity like any other (including giving it a custom -name). -. Selecting any primitive contained by a *func_static* will cause a small X/Y/Z -axis widget to be drawn at the entity's origin position (which may be inside one -of the primitives, or outside all of them, depending on their layout). +*worldspawn* entity, but a new entity with a different *classname* (e.g. +`func_static`). You can set spawnargs on this entity like any other (including +giving it a custom name). +. Selecting any contained primitive will cause a small X/Y/Z axis widget to be +drawn at the entity's origin position (which may be inside one of the +primitives, or outside all of them, depending on their layout). . If there are multiple primitives contained within a single entity, selecting any individual primitive will cause all of the entity's primitives to be -selected. - -==== Selecting individual child primitives - -As mentioned in the previous section, selecting any primitive which comprises -part of a *func_static* will cause the entire entity and all of its child -primitives to be selected together. This allows you to easily move the entire -static object by simply dragging any one of its primitives. +selected. This allows you to easily move the entire static object by simply +dragging any one of its primitives. However, it is still possible to perform operations on a single primitive, for example resizing a brush, by selecting it with the *TAB* key. Each press of @@ -1187,6 +1194,7 @@ list of entity properties. If an entire entity is selected, the text will appear similar to `Entity 1`, whereas with a primitive selected it will read `Entity 1, Primitive 1`. +[[AddRemoveChildPrimitives]] ==== Adding or removing primitives Once you have created a *func_static* or similar entity from a number of @@ -1803,6 +1811,29 @@ works for entities which can contain primitives (e.g. func_static). *Paste shader*:: Paste the shader currently on the <> to all selected faces. +*Clear selection*:: De-select all selected objects. + +*Invert selection*:: De-select all selected objects, and select all unselected +objects. + +*Select complete tall*:: Convert the currently-selected brush into a selection +volume, selecting all objects which are completely contained within its outline +in the current 2D view (ignoring the third dimension). See +<>. + +*Select inside*:: Convert the currently-selected brush into a selection volume, +selecting all objects which are completely contained within it in all three +dimensions. See <>. + +*Select fully inside*:: Like *Select inside*, except that contained brushes +which touch the boundary of the selection brush will not be selected. + +*Select children*:: Select primitives which are children of the +currently-selected entity. See <>. + +*Select parent entities*:: Select the parent entity of the currently-selected +primitive. See <>. + == Configuring DarkRadiant DarkRadiant offers a large number of configurable options which can be used to @@ -1840,9 +1871,15 @@ The *Camera* page contains options relating to the movement and behaviour of the rather than smooth motion. *Enable far clip plane*:: You can completely disable the <> by unchecking this option. This will avoid the need to manage the - position of the far clip plane, but may negatively impact rendering performance - in large or complex maps. +clip plane>> by unchecking this option. This will avoid the need to manage the +position of the far clip plane, but may negatively impact rendering performance +in large or complex maps. ++ +NOTE: Technically it is not actually possible to _disable_ the far clip plane, +since having a far clip plane is a requirement for 3D rendering to work +correctly. This command in fact sets the far clip plane to a very high value, +e.g. 32768. If your map is very large, it is conceivable that you will still see +some far clipping behaviour. *Invert mouse vertical axis*:: Enable this option to flip the sense of the vertical camera motion when freelook mode is enabled, so that moving the mouse From 3dbd3e2d34d0593b7469f9207dbfb275de88ce0d Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Wed, 11 May 2022 20:46:01 +0100 Subject: [PATCH 09/11] Selector_add() is replaced with non-virtual methods on Selector These needlessly-separate functions are now replaced by two new Selector methods: addWithNullIntersection() and addWithIntersection(). These are non-virtual helper methods implemented entirely in terms of the pure virtual interface. --- include/iselectiontest.h | 62 ++++++++++++++----- libs/dragplanes.h | 24 +++---- radiantcore/brush/EdgeInstance.h | 2 +- radiantcore/brush/FaceInstance.cpp | 8 +-- radiantcore/brush/VertexInstance.h | 2 +- radiantcore/entity/VertexInstance.h | 4 +- .../entity/curve/CurveEditInstance.cpp | 2 +- .../entity/doom3group/StaticGeometryNode.cpp | 2 +- radiantcore/patch/PatchControlInstance.h | 2 +- radiantcore/selection/textool/FaceNode.cpp | 2 +- radiantcore/selection/textool/Node.cpp | 2 +- radiantcore/selection/textool/PatchNode.cpp | 2 +- .../textool/TextureToolRotateManipulator.cpp | 2 +- 13 files changed, 72 insertions(+), 44 deletions(-) diff --git a/include/iselectiontest.h b/include/iselectiontest.h index 97ce2d0067..3483b854b5 100644 --- a/include/iselectiontest.h +++ b/include/iselectiontest.h @@ -238,28 +238,56 @@ class SelectionTest }; typedef std::shared_ptr SelectionTestPtr; +/** + * @brief Abstract interface for an object which collects possibly-selected + * objects, keeping track of the best intersection which typically determines + * which candidate object should be selected when more than one is possible. + * + * This object exposes a stateful interface. A call to pushSelectable() sets the + * given ISelectable object as the "current" selectable. Subsequent calls to + * addIntersection() apply to this current selectable, replacing the current + * intersection if the newly-submitted one is better. The operation is completed + * when popSelectable() is called, and the current selectable along with its + * best intersection is added to the internal list(s). + * + * Despite the usage of "push" and "pop" terminology, there is only one current + * selectable, and no internal stack. + */ class Selector { public: - virtual ~Selector() {} - virtual void pushSelectable(ISelectable& selectable) = 0; - virtual void popSelectable() = 0; - virtual void addIntersection(const SelectionIntersection& intersection) = 0; -}; + virtual ~Selector() {} -inline void Selector_add(Selector& selector, ISelectable& selectable) -{ - selector.pushSelectable(selectable); - selector.addIntersection(SelectionIntersection(0, 0)); - selector.popSelectable(); -} + /// Set the given object as the current selectable + virtual void pushSelectable(ISelectable& selectable) = 0; -inline void Selector_add(Selector& selector, ISelectable& selectable, const SelectionIntersection& intersection) -{ - selector.pushSelectable(selectable); - selector.addIntersection(intersection); - selector.popSelectable(); -} + /// Commit the current selectable, storing it along with its best intersection + virtual void popSelectable() = 0; + + /** + * @brief Add a candidate intersection for the current selectable. + * + * The candidate intersection is only stored if it is a better fit than the + * best intersection seen so far. + */ + virtual void addIntersection(const SelectionIntersection& intersection) = 0; + + /// Add a selectable object and immediately commit it with a null intersection + void addWithNullIntersection(ISelectable& selectable) + { + pushSelectable(selectable); + addIntersection(SelectionIntersection(0, 0)); + popSelectable(); + } + + /// Add a selectable object and immediately commit it with the given intersection + void addWithIntersection(ISelectable& selectable, const SelectionIntersection& intersection) + { + pushSelectable(selectable); + addIntersection(intersection); + popSelectable(); + } +}; class VolumeTest; class SelectionTestable diff --git a/libs/dragplanes.h b/libs/dragplanes.h index 4d5b9d75b3..0302822daf 100644 --- a/libs/dragplanes.h +++ b/libs/dragplanes.h @@ -85,7 +85,7 @@ class DragPlanes if (planes[0].normal().dot(corners[1]) > 0 && planes[0].normal().dot(corners[2]) > 0 && planes[0].normal().dot(corners[5]) > 0 && planes[0].normal().dot(corners[6]) > 0) { - Selector_add(selector, _selectableRight); + selector.addWithNullIntersection(_selectableRight); selectedPlaneCallback(planes[0]); //rMessage() << "right\n"; } @@ -93,7 +93,7 @@ class DragPlanes if (planes[1].normal().dot(corners[0]) > 0 && planes[1].normal().dot(corners[3]) > 0 && planes[1].normal().dot(corners[4]) > 0 && planes[1].normal().dot(corners[7]) > 0) { - Selector_add(selector, _selectableLeft); + selector.addWithNullIntersection(_selectableLeft); selectedPlaneCallback(planes[1]); //rMessage() << "left\n"; } @@ -101,7 +101,7 @@ class DragPlanes if (planes[2].normal().dot(corners[0]) > 0 && planes[2].normal().dot(corners[1]) > 0 && planes[2].normal().dot(corners[4]) > 0 && planes[2].normal().dot(corners[5]) > 0) { - Selector_add(selector, _selectableFront); + selector.addWithNullIntersection(_selectableFront); selectedPlaneCallback(planes[2]); //rMessage() << "front\n"; } @@ -109,7 +109,7 @@ class DragPlanes if (planes[3].normal().dot(corners[2]) > 0 && planes[3].normal().dot(corners[3]) > 0 && planes[3].normal().dot(corners[6]) > 0 && planes[3].normal().dot(corners[7]) > 0) { - Selector_add(selector, _selectableBack); + selector.addWithNullIntersection(_selectableBack); selectedPlaneCallback(planes[3]); //rMessage() << "back\n"; } @@ -117,7 +117,7 @@ class DragPlanes if (planes[4].normal().dot(corners[0]) > 0 && planes[4].normal().dot(corners[1]) > 0 && planes[4].normal().dot(corners[2]) > 0 && planes[4].normal().dot(corners[3]) > 0) { - Selector_add(selector, _selectableTop); + selector.addWithNullIntersection(_selectableTop); selectedPlaneCallback(planes[4]); //rMessage() << "top\n"; } @@ -125,7 +125,7 @@ class DragPlanes if (planes[5].normal().dot(corners[4]) > 0 && planes[5].normal().dot(corners[5]) > 0 && planes[5].normal().dot(corners[6]) > 0 && planes[5].normal().dot(corners[7]) > 0) { - Selector_add(selector, _selectableBottom); + selector.addWithNullIntersection(_selectableBottom); selectedPlaneCallback(planes[5]); //rMessage() << "bottom\n"; } @@ -140,32 +140,32 @@ class DragPlanes if (selectedPlanes.contains(-planes[0])) { - Selector_add(selector, _selectableRight); + selector.addWithNullIntersection(_selectableRight); } if (selectedPlanes.contains(-planes[1])) { - Selector_add(selector, _selectableLeft); + selector.addWithNullIntersection(_selectableLeft); } if (selectedPlanes.contains(-planes[2])) { - Selector_add(selector, _selectableFront); + selector.addWithNullIntersection(_selectableFront); } if (selectedPlanes.contains(-planes[3])) { - Selector_add(selector, _selectableBack); + selector.addWithNullIntersection(_selectableBack); } if (selectedPlanes.contains(-planes[4])) { - Selector_add(selector, _selectableTop); + selector.addWithNullIntersection(_selectableTop); } if (selectedPlanes.contains(-planes[5])) { - Selector_add(selector, _selectableBottom); + selector.addWithNullIntersection(_selectableBottom); } } diff --git a/radiantcore/brush/EdgeInstance.h b/radiantcore/brush/EdgeInstance.h index efb9bc46b2..7a9ea654ae 100644 --- a/radiantcore/brush/EdgeInstance.h +++ b/radiantcore/brush/EdgeInstance.h @@ -54,7 +54,7 @@ class EdgeInstance : public ISelectable { SelectionIntersection best; m_edge->testSelect(test, best); if (best.isValid()) { - Selector_add(selector, *this, best); + selector.addWithIntersection(*this, best); } } }; diff --git a/radiantcore/brush/FaceInstance.cpp b/radiantcore/brush/FaceInstance.cpp index 5fe6736b93..de4ed16d67 100644 --- a/radiantcore/brush/FaceInstance.cpp +++ b/radiantcore/brush/FaceInstance.cpp @@ -175,7 +175,7 @@ void FaceInstance::testSelect(Selector& selector, SelectionTest& test) { SelectionIntersection best; testSelect(test, best); if (best.isValid()) { - Selector_add(selector, m_selectable, best); + selector.addWithIntersection(m_selectable, best); } } @@ -184,7 +184,7 @@ void FaceInstance::testSelect_centroid(Selector& selector, SelectionTest& test) SelectionIntersection best; m_face->testSelect_centroid(test, best); if (best.isValid()) { - Selector_add(selector, m_selectable, best); + selector.addWithIntersection(m_selectable, best); } } } @@ -199,14 +199,14 @@ void FaceInstance::selectPlane(Selector& selector, const Line& line, PlanesItera } } - Selector_add(selector, m_selectable); + selector.addWithNullIntersection(m_selectable); selectedPlaneCallback(getFace().plane3()); } void FaceInstance::selectReversedPlane(Selector& selector, const SelectedPlanes& selectedPlanes) { if (selectedPlanes.contains(-(getFace().plane3()))) { - Selector_add(selector, m_selectable); + selector.addWithNullIntersection(m_selectable); } } diff --git a/radiantcore/brush/VertexInstance.h b/radiantcore/brush/VertexInstance.h index 71a66b0a9e..7132b1cd42 100644 --- a/radiantcore/brush/VertexInstance.h +++ b/radiantcore/brush/VertexInstance.h @@ -57,7 +57,7 @@ class VertexInstance : SelectionIntersection best; m_vertex->testSelect(test, best); if (best.isValid()) { - Selector_add(selector, *this, best); + selector.addWithIntersection(*this, best); } } }; diff --git a/radiantcore/entity/VertexInstance.h b/radiantcore/entity/VertexInstance.h index 1e7b274ee3..2700156e84 100644 --- a/radiantcore/entity/VertexInstance.h +++ b/radiantcore/entity/VertexInstance.h @@ -56,7 +56,7 @@ class VertexInstance : if (best.isValid()) { // Add the selectable to the given selector > this should trigger the callbacks - Selector_add(selector, *this, best); + selector.addWithIntersection(*this, best); } } }; @@ -86,7 +86,7 @@ class VertexInstanceRelative : public VertexInstance { if (best.isValid()) { // Add the selectable to the given selector > this should trigger the callbacks - Selector_add(selector, *this, best); + selector.addWithIntersection(*this, best); } } }; diff --git a/radiantcore/entity/curve/CurveEditInstance.cpp b/radiantcore/entity/curve/CurveEditInstance.cpp index 6a07db9de2..19f973dc48 100644 --- a/radiantcore/entity/curve/CurveEditInstance.cpp +++ b/radiantcore/entity/curve/CurveEditInstance.cpp @@ -25,7 +25,7 @@ void CurveEditInstance::testSelect(Selector& selector, SelectionTest& test) test.TestPoint(*p, best); if (best.isValid()) { - Selector_add(selector, *i, best); + selector.addWithIntersection(*i, best); } } } diff --git a/radiantcore/entity/doom3group/StaticGeometryNode.cpp b/radiantcore/entity/doom3group/StaticGeometryNode.cpp index 3b46405aae..fffae8df94 100644 --- a/radiantcore/entity/doom3group/StaticGeometryNode.cpp +++ b/radiantcore/entity/doom3group/StaticGeometryNode.cpp @@ -327,7 +327,7 @@ void StaticGeometryNode::testSelect(Selector& selector, SelectionTest& test) // If the selectionIntersection is non-empty, add the selectable to the SelectionPool if (best.isValid()) { - Selector_add(selector, *this, best); + selector.addWithIntersection(*this, best); } } diff --git a/radiantcore/patch/PatchControlInstance.h b/radiantcore/patch/PatchControlInstance.h index 81e1f33b3e..47f962c6e6 100644 --- a/radiantcore/patch/PatchControlInstance.h +++ b/radiantcore/patch/PatchControlInstance.h @@ -41,7 +41,7 @@ class PatchControlInstance : // If there is a control point that can be selected, add the Selectable to the selector if (best.isValid()) { - Selector_add(selector, *this, best); + selector.addWithIntersection(*this, best); } } diff --git a/radiantcore/selection/textool/FaceNode.cpp b/radiantcore/selection/textool/FaceNode.cpp index 1713d82990..6dbbd46261 100644 --- a/radiantcore/selection/textool/FaceNode.cpp +++ b/radiantcore/selection/textool/FaceNode.cpp @@ -120,7 +120,7 @@ void FaceNode::testSelect(Selector& selector, SelectionTest& test) if (best.isValid()) { - Selector_add(selector, *this); + selector.addWithNullIntersection(*this); } } diff --git a/radiantcore/selection/textool/Node.cpp b/radiantcore/selection/textool/Node.cpp index cbc4f02be9..f99894123a 100644 --- a/radiantcore/selection/textool/Node.cpp +++ b/radiantcore/selection/textool/Node.cpp @@ -70,7 +70,7 @@ void Node::testSelectComponents(Selector& selector, SelectionTest& test) if (intersection.isValid()) { - Selector_add(selector, vertex); + selector.addWithNullIntersection(vertex); } } } diff --git a/radiantcore/selection/textool/PatchNode.cpp b/radiantcore/selection/textool/PatchNode.cpp index 90653664e2..9742be4f9b 100644 --- a/radiantcore/selection/textool/PatchNode.cpp +++ b/radiantcore/selection/textool/PatchNode.cpp @@ -104,7 +104,7 @@ void PatchNode::testSelect(Selector& selector, SelectionTest& test) if (best.isValid()) { - Selector_add(selector, *this); + selector.addWithNullIntersection(*this); } } diff --git a/radiantcore/selection/textool/TextureToolRotateManipulator.cpp b/radiantcore/selection/textool/TextureToolRotateManipulator.cpp index 841a693dba..61d4df64f6 100644 --- a/radiantcore/selection/textool/TextureToolRotateManipulator.cpp +++ b/radiantcore/selection/textool/TextureToolRotateManipulator.cpp @@ -148,7 +148,7 @@ void TextureToolRotateManipulator::testSelect(SelectionTest& test, const Matrix4 if (best.isValid()) { - Selector_add(selector, _selectableZ); + selector.addWithNullIntersection(_selectableZ); } if (!selector.empty()) From 5088f3b421d63eecca6672de1961c434a2f776d7 Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Thu, 19 May 2022 20:52:44 +0100 Subject: [PATCH 10/11] Remove unused SelectionTest::TestLines() --- include/iselectiontest.h | 1 - libs/selection/SelectionVolume.h | 12 ------------ .../selection/manipulators/RotateManipulator.cpp | 3 +-- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/include/iselectiontest.h b/include/iselectiontest.h index 3483b854b5..b578fd0dab 100644 --- a/include/iselectiontest.h +++ b/include/iselectiontest.h @@ -231,7 +231,6 @@ class SelectionTest virtual void TestPoint(const Vector3& point, SelectionIntersection& best) = 0; virtual void TestPolygon(const VertexPointer& vertices, std::size_t count, SelectionIntersection& best) = 0; virtual void TestLineStrip(const VertexPointer& vertices, std::size_t count, SelectionIntersection& best) = 0; - virtual void TestLines(const VertexPointer& vertices, std::size_t count, SelectionIntersection& best) = 0; virtual void TestTriangles(const VertexPointer& vertices, const IndexPointer& indices, SelectionIntersection& best) = 0; virtual void TestQuads(const VertexPointer& vertices, const IndexPointer& indices, SelectionIntersection& best) = 0; virtual void TestQuadStrip(const VertexPointer& vertices, const IndexPointer& indices, SelectionIntersection& best) = 0; diff --git a/libs/selection/SelectionVolume.h b/libs/selection/SelectionVolume.h index de88ca80bc..94ba5bda11 100644 --- a/libs/selection/SelectionVolume.h +++ b/libs/selection/SelectionVolume.h @@ -90,18 +90,6 @@ class SelectionVolume : } } - void TestLines(const VertexPointer& vertices, std::size_t count, SelectionIntersection& best) override - { - if (count == 0) - return; - Vector4 clipped[9]; - for (VertexPointer::iterator i = vertices.begin(), end = i + count; i != end; i += 2) - { - BestPoint(clipLine(_local2view, *i, *(i + 1), clipped), clipped, - best, _cull); - } - } - void TestTriangles(const VertexPointer& vertices, const IndexPointer& indices, SelectionIntersection& best) override { Vector4 clipped[9]; diff --git a/radiantcore/selection/manipulators/RotateManipulator.cpp b/radiantcore/selection/manipulators/RotateManipulator.cpp index 1dcd07bf2e..354e6a6ea7 100644 --- a/radiantcore/selection/manipulators/RotateManipulator.cpp +++ b/radiantcore/selection/manipulators/RotateManipulator.cpp @@ -4,6 +4,7 @@ #include "selection/SelectionPool.h" #include "selection/BestPoint.h" #include "selection/TransformationVisitors.h" +#include "registry/registry.h" #include namespace selection @@ -198,7 +199,6 @@ void RotateManipulator::testSelect(SelectionTest& test, const Matrix4& pivot2wor } else { - { { Matrix4 local2view(test.getVolume().GetViewProjection().getMultipliedBy(_local2worldX)); @@ -222,7 +222,6 @@ void RotateManipulator::testSelect(SelectionTest& test, const Matrix4& pivot2wor LineStrip_BestPoint(local2view, &_circleZ.getRawPoints().front(), _circleZ.getRawPoints().size(), best); selector.addSelectable(best, &_selectableZ); } - } { Matrix4 local2view(test.getVolume().GetViewProjection().getMultipliedBy(_pivot2World._viewpointSpace)); From 2408472ffa1d1f920b67d93fcf745d0e52e5ae1e Mon Sep 17 00:00:00 2001 From: Matthew Mott Date: Tue, 31 May 2022 20:33:19 +0100 Subject: [PATCH 11/11] Minor cleanups in RotateManipulator::testSelect() --- .../manipulators/RotateManipulator.cpp | 102 +++++++++--------- 1 file changed, 53 insertions(+), 49 deletions(-) diff --git a/radiantcore/selection/manipulators/RotateManipulator.cpp b/radiantcore/selection/manipulators/RotateManipulator.cpp index 354e6a6ea7..b6cdbe75c8 100644 --- a/radiantcore/selection/manipulators/RotateManipulator.cpp +++ b/radiantcore/selection/manipulators/RotateManipulator.cpp @@ -193,59 +193,63 @@ void RotateManipulator::testSelect(SelectionTest& test, const Matrix4& pivot2wor SelectionPool selector; - if (test.getVolume().TestPoint(_pivot.getVector3())) - { - selector.addSelectable(SelectionIntersection(0, 0), &_selectablePivotPoint); - } - else - { - { - Matrix4 local2view(test.getVolume().GetViewProjection().getMultipliedBy(_local2worldX)); - - SelectionIntersection best; - LineStrip_BestPoint(local2view, &_circleX.getRawPoints().front(), _circleX.getRawPoints().size(), best); - selector.addSelectable(best, &_selectableX); - } - - { - Matrix4 local2view(test.getVolume().GetViewProjection().getMultipliedBy(_local2worldY)); - - SelectionIntersection best; - LineStrip_BestPoint(local2view, &_circleY.getRawPoints().front(), _circleY.getRawPoints().size(), best); - selector.addSelectable(best, &_selectableY); - } - - { - Matrix4 local2view(test.getVolume().GetViewProjection().getMultipliedBy(_local2worldZ)); - - SelectionIntersection best; - LineStrip_BestPoint(local2view, &_circleZ.getRawPoints().front(), _circleZ.getRawPoints().size(), best); - selector.addSelectable(best, &_selectableZ); - } - - { - Matrix4 local2view(test.getVolume().GetViewProjection().getMultipliedBy(_pivot2World._viewpointSpace)); - - { - SelectionIntersection best; - LineLoop_BestPoint(local2view, &_circleScreen.getRawPoints().front(), _circleScreen.getRawPoints().size(), best); - selector.addSelectable(best, &_selectableScreen); - } - - { - SelectionIntersection best; - Circle_BestPoint(local2view, eClipCullCW, &_circleSphere.getRawPoints().front(), _circleSphere.getRawPoints().size(), best); - selector.addSelectable(best, &_selectableSphere); - } - } - } + if (test.getVolume().TestPoint(_pivot.getVector3())) + { + selector.addSelectable(SelectionIntersection(0, 0), &_selectablePivotPoint); + } + else + { + auto viewProj = test.getVolume().GetViewProjection(); + { + Matrix4 local2view = viewProj * _local2worldX; + + SelectionIntersection best; + LineStrip_BestPoint(local2view, &_circleX.getRawPoints().front(), + _circleX.getRawPoints().size(), best); + selector.addSelectable(best, &_selectableX); + } + + { + Matrix4 local2view = viewProj * _local2worldY; + + SelectionIntersection best; + LineStrip_BestPoint(local2view, &_circleY.getRawPoints().front(), + _circleY.getRawPoints().size(), best); + selector.addSelectable(best, &_selectableY); + } + + { + Matrix4 local2view = viewProj * _local2worldZ; + + SelectionIntersection best; + LineStrip_BestPoint(local2view, &_circleZ.getRawPoints().front(), + _circleZ.getRawPoints().size(), best); + selector.addSelectable(best, &_selectableZ); + } + + { + Matrix4 local2view = viewProj * _pivot2World._viewpointSpace; + + { + SelectionIntersection best; + auto points = _circleScreen.getRawPoints(); + LineLoop_BestPoint(local2view, &points.front(), points.size(), best); + selector.addSelectable(best, &_selectableScreen); + } + + { + SelectionIntersection best; + auto points = _circleSphere.getRawPoints(); + Circle_BestPoint(local2view, eClipCullCW, &points.front(), points.size(), best); + selector.addSelectable(best, &_selectableSphere); + } + } + } _axisScreen = _pivot2World._axisScreen; if (!selector.empty()) - { - selector.begin()->second->setSelected(true); - } + selector.begin()->second->setSelected(true); } RotateManipulator::Component* RotateManipulator::getActiveComponent()