Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2021-11-23 16:56:01 +0300
committerJacques Lucke <jacques@blender.org>2021-11-23 16:56:01 +0300
commit1df8abff257030ba79bc23dc321f35494f4d91c5 (patch)
tree64f10b5d525e819fa4f52a6d7e3edc83cf42079a /source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc
parent47276b84701727c2f187c77f1ec502b4ca4963bd (diff)
Geometry Nodes: add namespace for every file
This puts all static functions in geometry node files into a new namespace. This allows using unity build which can improve compile times significantly (P2578). * The name space name is derived from the file name. That makes it possible to write some tooling that checks the names later on. The file name extension (`cc`) is added to the namespace name as well. This also possibly simplifies tooling but also makes it more obvious that this namespace is specific to a file. * In the register function of every node, I added a namespace alias `namespace file_ns = blender::nodes::node_geo_*_cc;`. This avoids some duplication of the file name and may also simplify tooling, because this line is easy to detect. The name `file_ns` stands for "file namespace" and also indicates that this namespace corresponds to the current file. In the beginning I used `node_ns` but `file_ns` is more generic which may make it more suitable when we want to use unity builds outside of the nodes modules in the future. * Some node files contain code that is actually shared between different nodes. For now I left that code in the `blender::nodes` namespace and moved it to the top of the file (couldn't move it to the bottom in all cases, so I just moved it to the top everywhere). As a separate cleanup step, this shared code should actually be moved to a separate file. Differential Revision: https://developer.blender.org/D13330
Diffstat (limited to 'source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc')
-rw-r--r--source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc b/source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc
index 49885f29d44..231f808a1e1 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc
@@ -20,7 +20,7 @@
#include "node_geometry_util.hh"
-namespace blender::nodes {
+namespace blender::nodes::node_geo_input_tangent_cc {
static void geo_node_input_tangent_declare(NodeDeclarationBuilder &b)
{
@@ -161,14 +161,16 @@ static void geo_node_input_tangent_exec(GeoNodeExecParams params)
params.set_output("Tangent", std::move(tangent_field));
}
-} // namespace blender::nodes
+} // namespace blender::nodes::node_geo_input_tangent_cc
void register_node_type_geo_input_tangent()
{
+ namespace file_ns = blender::nodes::node_geo_input_tangent_cc;
+
static bNodeType ntype;
geo_node_type_base(&ntype, GEO_NODE_INPUT_TANGENT, "Curve Tangent", NODE_CLASS_INPUT, 0);
- ntype.geometry_node_execute = blender::nodes::geo_node_input_tangent_exec;
- ntype.declare = blender::nodes::geo_node_input_tangent_declare;
+ ntype.geometry_node_execute = file_ns::geo_node_input_tangent_exec;
+ ntype.declare = file_ns::geo_node_input_tangent_declare;
nodeRegisterType(&ntype);
}