Skip to content

Commit

Permalink
#5746: Start implementing the TextureToolSceneGraph
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Sep 13, 2021
1 parent 7ec6b22 commit 3e263a3
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 0 deletions.
1 change: 1 addition & 0 deletions radiantcore/CMakeLists.txt
Expand Up @@ -260,6 +260,7 @@ add_library(radiantcore MODULE
selection/shaderclipboard/ClosestTexturableFinder.cpp
selection/shaderclipboard/ShaderClipboard.cpp
selection/shaderclipboard/Texturable.cpp
selection/textool/TextureToolSceneGraph.cpp
selection/TransformationVisitors.cpp
settings/ColourScheme.cpp
settings/ColourSchemeManager.cpp
Expand Down
47 changes: 47 additions & 0 deletions radiantcore/selection/textool/TextureToolSceneGraph.cpp
@@ -0,0 +1,47 @@
#include "TextureToolSceneGraph.h"

#include "iselection.h"
#include "module/StaticModule.h"

namespace textool
{

const std::string& TextureToolSceneGraph::getName() const
{
static std::string _name(MODULE_TEXTOOL_SCENEGRAPH);
return _name;
}

const StringSet& TextureToolSceneGraph::getDependencies() const
{
static StringSet _dependencies{ MODULE_SELECTIONSYSTEM };
return _dependencies;
}

void TextureToolSceneGraph::initialiseModule(const IApplicationContext& ctx)
{
rMessage() << getName() << "::initialiseModule called." << std::endl;

_sceneSelectionChanged = GlobalSelectionSystem().signal_selectionChanged().connect(
sigc::mem_fun(this, &TextureToolSceneGraph::onSceneSelectionChanged)
);
}

void TextureToolSceneGraph::shutdownModule()
{
_sceneSelectionChanged.disconnect();
}

void TextureToolSceneGraph::foreachNode(const std::function<bool(const INode::Ptr&)>& functor)
{

}

void TextureToolSceneGraph::onSceneSelectionChanged(const ISelectable& selectable)
{
// Mark our own selection as dirty
}

module::StaticModule<TextureToolSceneGraph> _textureToolSceneGraphModule;

}
27 changes: 27 additions & 0 deletions radiantcore/selection/textool/TextureToolSceneGraph.h
@@ -0,0 +1,27 @@
#pragma once

#include <sigc++/connection.h>
#include "itexturetoolmodel.h"

namespace textool
{

class TextureToolSceneGraph :
public ITextureToolSceneGraph
{
private:
sigc::connection _sceneSelectionChanged;

public:
const std::string& getName() const override;
const StringSet& getDependencies() const override;
void initialiseModule(const IApplicationContext& ctx) override;
void shutdownModule() override;

void foreachNode(const std::function<bool(const INode::Ptr&)>& functor) override;

private:
void onSceneSelectionChanged(const ISelectable& selectable);
};

}
2 changes: 2 additions & 0 deletions tools/msvc/DarkRadiantCore.vcxproj
Expand Up @@ -673,6 +673,7 @@
<ClCompile Include="..\..\radiantcore\selection\shaderclipboard\ClosestTexturableFinder.cpp" />
<ClCompile Include="..\..\radiantcore\selection\shaderclipboard\ShaderClipboard.cpp" />
<ClCompile Include="..\..\radiantcore\selection\shaderclipboard\Texturable.cpp" />
<ClCompile Include="..\..\radiantcore\selection\textool\TextureToolSceneGraph.cpp" />
<ClCompile Include="..\..\radiantcore\selection\TransformationVisitors.cpp" />
<ClCompile Include="..\..\radiantcore\settings\ColourScheme.cpp" />
<ClCompile Include="..\..\radiantcore\settings\ColourSchemeManager.cpp" />
Expand Down Expand Up @@ -1024,6 +1025,7 @@
<ClInclude Include="..\..\radiantcore\selection\shaderclipboard\ClosestTexturableFinder.h" />
<ClInclude Include="..\..\radiantcore\selection\shaderclipboard\ShaderClipboard.h" />
<ClInclude Include="..\..\radiantcore\selection\shaderclipboard\Texturable.h" />
<ClInclude Include="..\..\radiantcore\selection\textool\TextureToolSceneGraph.h" />
<ClInclude Include="..\..\radiantcore\selection\TransformationVisitors.h" />
<ClInclude Include="..\..\radiantcore\settings\ColourScheme.h" />
<ClInclude Include="..\..\radiantcore\settings\ColourSchemeManager.h" />
Expand Down
9 changes: 9 additions & 0 deletions tools/msvc/DarkRadiantCore.vcxproj.filters
Expand Up @@ -209,6 +209,9 @@
<Filter Include="src\map\autosaver">
<UniqueIdentifier>{e3d5bb4e-6b61-4537-ab0f-30c7be429c65}</UniqueIdentifier>
</Filter>
<Filter Include="src\selection\textool">
<UniqueIdentifier>{24592976-64c8-4027-81b7-5b83f62c43d1}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\radiantcore\modulesystem\ModuleLoader.cpp">
Expand Down Expand Up @@ -1081,6 +1084,9 @@
<ClCompile Include="..\..\radiantcore\selection\manipulators\TextureToolRotateManipulator.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\radiantcore\selection\textool\TextureToolSceneGraph.cpp">
<Filter>src\selection\textool</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\radiantcore\modulesystem\ModuleLoader.h">
Expand Down Expand Up @@ -2199,5 +2205,8 @@
<ClInclude Include="..\..\radiantcore\selection\manipulators\TextureToolRotateManipulator.h">
<Filter>src\selection\manipulators</Filter>
</ClInclude>
<ClInclude Include="..\..\radiantcore\selection\textool\TextureToolSceneGraph.h">
<Filter>src\selection\textool</Filter>
</ClInclude>
</ItemGroup>
</Project>

0 comments on commit 3e263a3

Please sign in to comment.