Deterministic CPU data-flow graph for procedural mesh deformation and composition. 更多...
#include <MeshModifierGraph.h>
Public 成员函数 | |
| Result< void > | addNode (std::string id, std::string operation) |
| Add a node from the reflected operation catalogue. | |
| Result< void > | removeNode (std::string_view id) |
| Remove a node and all incoming edges that reference it. | |
| Result< void > | connect (std::string_view fromId, std::string_view toId, int inputIndex=0) |
| Connect one node output to a numbered mesh input. | |
| Result< void > | disconnect (std::string_view toId, int inputIndex=0) |
| Disconnect a numbered mesh input. | |
| Result< void > | setNodeMesh (std::string_view id, const MeshBuild &mesh) |
| Copy an owning mesh snapshot into an input node. | |
| Result< void > | setNodeSplinePath (std::string_view id, const SplinePath &path) |
| Copy an owning path snapshot into a spline deformation or generation node. | |
| Result< void > | setNodeSplineProfile (std::string_view id, const SplineProfile &profile) |
| Copy an owning cross-section snapshot into a spline extrusion node. | |
| Result< void > | setNodeFloat (std::string_view id, std::string key, float value) |
| Set a finite floating-point node parameter. | |
| Result< void > | setNodeInt (std::string_view id, std::string key, int value) |
| Set an integer node parameter. | |
| Result< void > | setNodeString (std::string_view id, std::string key, std::string value) |
| Set a string node parameter. | |
| Result< void > | validateResult () const |
| Validate topology, inputs, parameters, and mesh stream invariants. | |
| Result< MeshBuild > | executeResult (std::string_view outputId) |
| Execute one output and return an independent owning mesh snapshot. | |
| void | clearCache () |
| Clear all derived outputs without changing graph topology or inputs. | |
| std::uint64_t | revision () const noexcept |
| Return the monotonic graph mutation revision. | |
| std::uint64_t | executionPlanBuildCount () const noexcept |
| Return how many execution plans have been compiled. | |
| int | compiledSegmentCount () const noexcept |
| Return segment count in the latest successful execution plan. | |
| int | fusedOperationCount () const noexcept |
| Return logical operations evaluated by fused vertex traversals in the latest run. | |
| const std::vector< MeshModifierNodeMetric > & | metrics () const noexcept |
| Return metrics from the latest successful execution. | |
| bool | hasNode (std::string_view id) const |
| Report whether a node exists. | |
| int | nodeCount () const noexcept |
| Return stable insertion-order node count. | |
| std::string | nodeId (int index) const |
| Return a node id by insertion order, or an empty string when out of range. | |
| std::string | nodeOperation (std::string_view id) const |
| Return a node operation, or an empty string when missing. | |
静态 Public 成员函数 | |
| static int | operationCount () |
| Return reflected operation count. | |
| static std::string | operationId (int index) |
| Return reflected operation id, or an empty string for an invalid index. | |
| static int | operationInputCount (std::string_view operation) |
| Return required mesh input count, or -1 for an unknown operation. | |
| static int | operationParamCount (std::string_view operation) |
| Return reflected parameter count. | |
| static std::string | operationParamKey (std::string_view operation, int index) |
| Return reflected parameter key. | |
| static std::string | operationParamKind (std::string_view operation, int index) |
| Return reflected parameter kind: float, int, or string. | |
| static std::string | operationParamDefault (std::string_view operation, int index) |
| Return encoded reflected parameter default. | |
详细描述
Deterministic CPU data-flow graph for procedural mesh deformation and composition.
The graph owns immutable copies of input meshes and publishes owning output snapshots. Mutations invalidate derived caches. Execution is graph-owning-thread only and is not reentrant. Consecutive topology-preserving per-vertex nodes are evaluated in one vertex traversal; topology-changing nodes form explicit fusion barriers.
在文件 MeshModifierGraph.h 第 47 行定义.
成员函数说明
◆ addNode()
| Result< void > eve::procgen::MeshModifierGraph::addNode | ( | std::string | id, |
| std::string | operation | ||
| ) |
Add a node from the reflected operation catalogue.
在文件 MeshModifierGraph.cpp 第 1409 行定义.
引用了 eve::AlreadyExists, eve::Diagnostic::error(), eve::Result< T >::failure(), id, eve::InvalidArgument, node, eve::NotFound, operation , 以及 eve::Result< T >::success().
◆ clearCache()
| void eve::procgen::MeshModifierGraph::clearCache | ( | ) |
Clear all derived outputs without changing graph topology or inputs.
在文件 MeshModifierGraph.cpp 第 1984 行定义.
引用了 node.
◆ compiledSegmentCount()
|
inlinenoexcept |
Return segment count in the latest successful execution plan.
在文件 MeshModifierGraph.h 第 89 行定义.
◆ connect()
| Result< void > eve::procgen::MeshModifierGraph::connect | ( | std::string_view | fromId, |
| std::string_view | toId, | ||
| int | inputIndex = 0 |
||
| ) |
Connect one node output to a numbered mesh input.
在文件 MeshModifierGraph.cpp 第 1450 行定义.
引用了 eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::NotFound, source, eve::Result< T >::success() , 以及 target.
◆ disconnect()
| Result< void > eve::procgen::MeshModifierGraph::disconnect | ( | std::string_view | toId, |
| int | inputIndex = 0 |
||
| ) |
Disconnect a numbered mesh input.
在文件 MeshModifierGraph.cpp 第 1467 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::NotFound, eve::Result< T >::success() , 以及 target.
◆ executeResult()
Execute one output and return an independent owning mesh snapshot.
- 参数
-
outputId Requested output node.
- 返回
- Mesh output or a structured diagnostic. Failure preserves prior node caches.
在文件 MeshModifierGraph.cpp 第 1928 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::InvariantViolation, node, eve::NotFound, eve::Result< T >::ok(), output, started, eve::Result< T >::status(), eve::Result< T >::success() , 以及 valid.
◆ executionPlanBuildCount()
|
inlinenoexcept |
Return how many execution plans have been compiled.
在文件 MeshModifierGraph.h 第 87 行定义.
◆ fusedOperationCount()
|
inlinenoexcept |
Return logical operations evaluated by fused vertex traversals in the latest run.
在文件 MeshModifierGraph.h 第 91 行定义.
◆ hasNode()
| bool eve::procgen::MeshModifierGraph::hasNode | ( | std::string_view | id | ) | const |
Report whether a node exists.
在文件 MeshModifierGraph.cpp 第 1999 行定义.
◆ metrics()
|
inlinenoexcept |
Return metrics from the latest successful execution.
在文件 MeshModifierGraph.h 第 93 行定义.
◆ nodeCount()
|
inlinenoexcept |
Return stable insertion-order node count.
在文件 MeshModifierGraph.h 第 98 行定义.
◆ nodeId()
| std::string eve::procgen::MeshModifierGraph::nodeId | ( | int | index | ) | const |
Return a node id by insertion order, or an empty string when out of range.
在文件 MeshModifierGraph.cpp 第 2001 行定义.
引用了 index.
◆ nodeOperation()
| std::string eve::procgen::MeshModifierGraph::nodeOperation | ( | std::string_view | id | ) | const |
Return a node operation, or an empty string when missing.
在文件 MeshModifierGraph.cpp 第 2006 行定义.
引用了 found.
◆ operationCount()
|
static |
Return reflected operation count.
在文件 MeshModifierGraph.cpp 第 2011 行定义.
◆ operationId()
|
static |
Return reflected operation id, or an empty string for an invalid index.
在文件 MeshModifierGraph.cpp 第 2012 行定义.
引用了 index.
◆ operationInputCount()
|
static |
Return required mesh input count, or -1 for an unknown operation.
在文件 MeshModifierGraph.cpp 第 2016 行定义.
引用了 operation.
被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().
◆ operationParamCount()
|
static |
Return reflected parameter count.
在文件 MeshModifierGraph.cpp 第 2020 行定义.
引用了 operation.
被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().
◆ operationParamDefault()
|
static |
Return encoded reflected parameter default.
在文件 MeshModifierGraph.cpp 第 2036 行定义.
引用了 defaultValue, index , 以及 operation.
被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().
◆ operationParamKey()
|
static |
Return reflected parameter key.
在文件 MeshModifierGraph.cpp 第 2024 行定义.
引用了 index, key , 以及 operation.
被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().
◆ operationParamKind()
|
static |
Return reflected parameter kind: float, int, or string.
在文件 MeshModifierGraph.cpp 第 2030 行定义.
引用了 index, kind , 以及 operation.
被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().
◆ removeNode()
| Result< void > eve::procgen::MeshModifierGraph::removeNode | ( | std::string_view | id | ) |
Remove a node and all incoming edges that reference it.
在文件 MeshModifierGraph.cpp 第 1437 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), input, key, node, eve::NotFound , 以及 eve::Result< T >::success().
◆ revision()
|
inlinenoexcept |
Return the monotonic graph mutation revision.
在文件 MeshModifierGraph.h 第 85 行定义.
◆ setNodeFloat()
| Result< void > eve::procgen::MeshModifierGraph::setNodeFloat | ( | std::string_view | id, |
| std::string | key, | ||
| float | value | ||
| ) |
Set a finite floating-point node parameter.
在文件 MeshModifierGraph.cpp 第 1543 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::InvalidArgument, key, eve::NotFound, eve::Result< T >::success(), eve::TypeMismatch , 以及 value.
◆ setNodeInt()
| Result< void > eve::procgen::MeshModifierGraph::setNodeInt | ( | std::string_view | id, |
| std::string | key, | ||
| int | value | ||
| ) |
Set an integer node parameter.
在文件 MeshModifierGraph.cpp 第 1560 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, key, eve::NotFound, eve::Result< T >::success(), eve::TypeMismatch , 以及 value.
◆ setNodeMesh()
| Result< void > eve::procgen::MeshModifierGraph::setNodeMesh | ( | std::string_view | id, |
| const MeshBuild & | mesh | ||
| ) |
Copy an owning mesh snapshot into an input node.
在文件 MeshModifierGraph.cpp 第 1480 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, mesh, eve::NotFound, eve::PreconditionViolation, eve::Result< T >::success() , 以及 valid.
◆ setNodeSplinePath()
| Result< void > eve::procgen::MeshModifierGraph::setNodeSplinePath | ( | std::string_view | id, |
| const SplinePath & | path | ||
| ) |
Copy an owning path snapshot into a spline deformation or generation node.
在文件 MeshModifierGraph.cpp 第 1495 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::NotFound, path, eve::Result< T >::success() , 以及 eve::TypeMismatch.
◆ setNodeSplineProfile()
| Result< void > eve::procgen::MeshModifierGraph::setNodeSplineProfile | ( | std::string_view | id, |
| const SplineProfile & | profile | ||
| ) |
Copy an owning cross-section snapshot into a spline extrusion node.
在文件 MeshModifierGraph.cpp 第 1511 行定义.
引用了 eve::procgen::SplineProfile::closed, eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::InvalidArgument, minimum, eve::NotFound, point, eve::procgen::SplineProfile::points, eve::Result< T >::success(), triangles , 以及 eve::TypeMismatch.
◆ setNodeString()
| Result< void > eve::procgen::MeshModifierGraph::setNodeString | ( | std::string_view | id, |
| std::string | key, | ||
| std::string | value | ||
| ) |
Set a string node parameter.
在文件 MeshModifierGraph.cpp 第 1574 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, key, eve::NotFound, eve::Result< T >::success(), eve::TypeMismatch , 以及 value.
◆ validateResult()
| Result< void > eve::procgen::MeshModifierGraph::validateResult | ( | ) | const |
Validate topology, inputs, parameters, and mesh stream invariants.
- 返回
- Success only when every node can be executed without publishing partial state.
在文件 MeshModifierGraph.cpp 第 1732 行定义.
引用了 eve::Result< T >::success() , 以及 valid.
该类的文档由以下文件生成:
- src/modules/procgen/mesh/MeshModifierGraph.h
- src/modules/procgen/mesh/MeshModifierGraph.cpp