载入中...
搜索中...
未找到
eve::procgen::MeshModifierGraph类 参考

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()

int eve::procgen::MeshModifierGraph::compiledSegmentCount ( ) const
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 
)

◆ executeResult()

Result< MeshBuild > eve::procgen::MeshModifierGraph::executeResult ( std::string_view  outputId)

Execute one output and return an independent owning mesh snapshot.

参数
outputIdRequested 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()

std::uint64_t eve::procgen::MeshModifierGraph::executionPlanBuildCount ( ) const
inlinenoexcept

Return how many execution plans have been compiled.

在文件 MeshModifierGraph.h 第 87 行定义.

◆ fusedOperationCount()

int eve::procgen::MeshModifierGraph::fusedOperationCount ( ) const
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()

const std::vector< MeshModifierNodeMetric > & eve::procgen::MeshModifierGraph::metrics ( ) const
inlinenoexcept

Return metrics from the latest successful execution.

在文件 MeshModifierGraph.h 第 93 行定义.

◆ nodeCount()

int eve::procgen::MeshModifierGraph::nodeCount ( ) const
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()

int eve::procgen::MeshModifierGraph::operationCount ( )
static

Return reflected operation count.

在文件 MeshModifierGraph.cpp 第 2011 行定义.

◆ operationId()

std::string eve::procgen::MeshModifierGraph::operationId ( int  index)
static

Return reflected operation id, or an empty string for an invalid index.

在文件 MeshModifierGraph.cpp 第 2012 行定义.

引用了 index.

◆ operationInputCount()

int eve::procgen::MeshModifierGraph::operationInputCount ( std::string_view  operation)
static

Return required mesh input count, or -1 for an unknown operation.

在文件 MeshModifierGraph.cpp 第 2016 行定义.

引用了 operation.

被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().

◆ operationParamCount()

int eve::procgen::MeshModifierGraph::operationParamCount ( std::string_view  operation)
static

Return reflected parameter count.

在文件 MeshModifierGraph.cpp 第 2020 行定义.

引用了 operation.

被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().

◆ operationParamDefault()

std::string eve::procgen::MeshModifierGraph::operationParamDefault ( std::string_view  operation,
int  index 
)
static

Return encoded reflected parameter default.

在文件 MeshModifierGraph.cpp 第 2036 行定义.

引用了 defaultValue, index , 以及 operation.

被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().

◆ operationParamKey()

std::string eve::procgen::MeshModifierGraph::operationParamKey ( std::string_view  operation,
int  index 
)
static

Return reflected parameter key.

在文件 MeshModifierGraph.cpp 第 2024 行定义.

引用了 index, key , 以及 operation.

被这些函数引用 eve::procgen_editing::MeshModifierGraphDomain::makeNode().

◆ operationParamKind()

std::string eve::procgen::MeshModifierGraph::operationParamKind ( std::string_view  operation,
int  index 
)
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()

std::uint64_t eve::procgen::MeshModifierGraph::revision ( ) const
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 
)

◆ setNodeInt()

Result< void > eve::procgen::MeshModifierGraph::setNodeInt ( std::string_view  id,
std::string  key,
int  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 
)

◆ setNodeString()

Result< void > eve::procgen::MeshModifierGraph::setNodeString ( std::string_view  id,
std::string  key,
std::string  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.


该类的文档由以下文件生成: