VoxelGraphFunction
График для получения или обработки рядов 3D значений.
График для получения или обработки рядов 3D значений.
В нем содержится график, который может использоваться для обработки рядов значений, таких, как положение вокселя (при использовании в качестве основной функции генератора), или для повторного использования в других графиках (как подграф).
В настоящее время этот класс хранит только график, он не может сам по себе осуществлять реальную обработку. Обычно он встроен в другой ресурс, который затем использует график определенным образом.
Чтобы создать с ним воксели, смотри. VoxelGeneratorGraph.
Узлы могут быть соединены вместе с их выходом и вводом в следующие узлы. Неподсоединенные вводимые данные могут иметь стандартные значения или имплицитные соединения по умолчанию.
У узлов также могут быть "параметры", которые являются константами, установленными на узел.
Уровни приходятся на три основных семейства: вводимые ресурсы (только имеют мероприятия), мероприятия (только вводимые ресурсы) и другие (которые имеют как вводимые, так и выходные ресурсы для некоторых расчетов).
Entity - типы идентифицируются с энумом; VoxelGraphFunction.NodeTypeIdЭта энцима не должна использоваться в постоянных контекстах (таких, как сохранение файлов), поскольку ее значения могут меняться между версиями.
Графы могут обрабатывать только 32-битные значения в плавающей точке.
Описание типов узлов присутствует в диалоговом узле редактора графа или на [url]https://voxel-tools.readthedocs.io/en/latest/graph_nodes[/url].
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
VoxelGraphFunctionКонструктор
public VoxelGraphFunction();Свойства3
GraphDataСвойство
public Reckfell.Collections.Dictionary GraphData { get; set; }InputDefinitionsСвойство
public Reckfell.Collections.Array InputDefinitions { get; set; }OutputDefinitionsСвойство
public Reckfell.Collections.Array OutputDefinitions { get; set; }Методы34
AddConnectionvoid
public void AddConnection(uint srcNodeId, uint srcPortIndex, uint dstNodeId, uint dstPortIndex);Подключает выход узла к входу другого узла. Подсоединение узла к самому себе или таким образом, который может привести его обратно к себе, не поддерживается.
| Имя | Тип | По умолчанию |
|---|---|---|
srcNodeId | uint | — |
srcPortIndex | uint | — |
dstNodeId | uint | — |
dstPortIndex | uint | — |
CanConnectbool
public bool CanConnect(uint srcNodeId, uint srcPortIndex, uint dstNodeId, uint dstPortIndex);Испытания на соединение двух портов.
| Имя | Тип | По умолчанию |
|---|---|---|
srcNodeId | uint | — |
srcPortIndex | uint | — |
dstNodeId | uint | — |
dstPortIndex | uint | — |
boolClearvoid
public void Clear();Удаляет все узлы из графика. Input и определения выходных данных не будут очищены.
CreateFunctionNodeuint
public uint CreateFunctionNode(VoxelGraphFunction function, Vector2 position, uint id = 0);Создает узел, основанный на существующем графике (создает "подграфический пример").
| Имя | Тип | По умолчанию |
|---|---|---|
function | VoxelGraphFunction | — |
position | Vector2 | — |
id | uint | 0 |
uintCreateNodeuint
public uint CreateNode(VoxelGraphFunction.NodeTypeId typeId, Vector2 position, uint id = 0);Создает узел графа данного типа в определенном визуальном положении.
:: position параметр не влияет на то, как будет функционировать график, хотя он помогает организовать узлы.
Может быть указан факультативный идентификационный номер.
Эта функция затем возвращает идентификатор узла, который может быть полезен для изменения других свойств узла позднее.
| Имя | Тип | По умолчанию |
|---|---|---|
typeId | VoxelGraphFunction.NodeTypeId | — |
position | Vector2 | — |
id | uint | 0 |
uintFindNodeByNameuint
public uint FindNodeByName(StringName name);Найдет узел с указанным именем и возвратит ID. Если узел не найден, возвращает 0.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
uintGetConnectionsReckfell.Collections.Array
public Reckfell.Collections.Array GetConnections();Получает массив, описывающий все связи между узлами. Диапазон имеет следующий формат:
[
{
"src_node_id": int,
"src_port_index": int,
"dst_node_id": int,
"dst_port_index": int
},
...
]Reckfell.Collections.ArrayGetNodeDefaultInputVariant
public Variant GetNodeDefaultInput(uint nodeId, int inputIndex);| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
inputIndex | int | — |
VariantGetNodeDefaultInputsAutoconnectbool
public bool GetNodeDefaultInputsAutoconnect(uint nodeId);| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
boolGetNodeGuiPositionVector2
public Vector2 GetNodeGuiPosition(uint nodeId);Найдите позицию узла в редакторе графа.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
Vector2GetNodeGuiSizeVector2
public Vector2 GetNodeGuiSize(uint nodeId);Узнайте размер узла в редакторе графа.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
Vector2GetNodeIdsint[]
public int[] GetNodeIds();Найдите список идентифицирующих всех узлов в графике. Примечание: порядок возврата удостоверений личности не гарантирован после добавления или удаления узлов.
int[]GetNodeInputIndexint
public int GetNodeInputIndex(uint nodeId, string inputName);Получает вводный индекс узла из имени входа.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
inputName | string | — |
intGetNodeNameStringName
public StringName GetNodeName(uint nodeId);| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
StringNameGetNodeOutputIndexint
public int GetNodeOutputIndex(uint nodeId, string outputName);Получает индекс выпуска узла по названию вывода.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
outputName | string | — |
intGetNodeParamVariant
public Variant GetNodeParam(uint nodeId, int paramIndex);Найти параметр узла. Индекс параметров соответствует положению, в котором он появляется при просмотре в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
paramIndex | int | — |
VariantGetNodeTypeCountint
public int GetNodeTypeCount();intGetNodeTypeIdVoxelGraphFunction.NodeTypeId
public VoxelGraphFunction.NodeTypeId GetNodeTypeId(uint nodeId);Найдите идентификатор узла в графике.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
VoxelGraphFunction.NodeTypeIdGetNodeTypeInfoReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary GetNodeTypeInfo(int typeId);| Имя | Тип | По умолчанию |
|---|---|---|
typeId | int | — |
Reckfell.Collections.DictionaryPasteGraphWithPreGeneratedIds2 перегрузки
public void PasteGraphWithPreGeneratedIds(VoxelGraphFunction graph, int[] nodeIds, Vector2 guiOffset);Копировать узлы в другой график, и только связи между ними.
Ресурсы в параметрах узла будут дублироваться, если у них нет файлового пути.
Если node_ids имеет ненулевой размер, определяет скопированные узлы в графике назначения в том же порядке, что и VoxelGraphFunction.GetNodeIds :: от исходного графика. У массива должен быть тот же размер, что и количество копированных узлов, и идентификаторы не должны существовать в графике назначения. Если массив пуст, то он будет генерирован.
| Имя | Тип | По умолчанию |
|---|---|---|
graph | VoxelGraphFunction | — |
nodeIds | int[] | — |
guiOffset | Vector2 | — |
public void PasteGraphWithPreGeneratedIds(VoxelGraphFunction graph, ReadOnlySpan<int> nodeIds, Vector2 guiOffset);Копировать узлы в другой график, и только связи между ними.
Ресурсы в параметрах узла будут дублироваться, если у них нет файлового пути.
Если node_ids имеет ненулевой размер, определяет скопированные узлы в графике назначения в том же порядке, что и VoxelGraphFunction.GetNodeIds :: от исходного графика. У массива должен быть тот же размер, что и количество копированных узлов, и идентификаторы не должны существовать в графике назначения. Если массив пуст, то он будет генерирован.
| Имя | Тип | По умолчанию |
|---|---|---|
graph | VoxelGraphFunction | — |
nodeIds | ReadOnlySpan<int> | — |
guiOffset | Vector2 | — |
RemoveConnectionvoid
public void RemoveConnection(uint srcNodeId, uint srcPortIndex, uint dstNodeId, uint dstPortIndex);Удаляет существующую связь между двумя узлами графика.
| Имя | Тип | По умолчанию |
|---|---|---|
srcNodeId | uint | — |
srcPortIndex | uint | — |
dstNodeId | uint | — |
dstPortIndex | uint | — |
RemoveNodevoid
public void RemoveNode(uint nodeId);Удаляет узел из графика.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
SetExpressionNodeInputs2 перегрузки
public void SetExpressionNodeInputs(uint nodeId, ReadOnlySpan<string> names);Настройка входных данных для Expression Узел. names - список входных имен, используемых в выражении.
Если вы создаёте Expression Узел из кода, ты должен позвонить по этому методу после.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
names | ReadOnlySpan<string> | — |
public void SetExpressionNodeInputs(uint nodeId, string[] names);Настройка входных данных для Expression Узел. names - список входных имен, используемых в выражении.
Если вы создаёте Expression Узел из кода, ты должен позвонить по этому методу после.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
names | string[] | — |
SetNodeDefaultInputvoid
public void SetNodeDefaultInput(uint nodeId, int inputIndex, Variant value);Устанавливает значение входа узла, когда он остается не подключенным.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
inputIndex | int | — |
value | Variant | — |
SetNodeDefaultInputByNamevoid
public void SetNodeDefaultInputByName(uint nodeId, string inputName, Variant value);Устанавливает значение входа узла, когда он остается не подключенным. Ввод определяется его именем, как показано в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
inputName | string | — |
value | Variant | — |
SetNodeDefaultInputsAutoconnectvoid
public void SetNodeDefaultInputsAutoconnect(uint nodeId, bool enabled);Устанавливает ввод узла без входного соединения автоматически создаст соединение по умолчанию, когда будет составлен график. Это доступно только на конкретных узлах (например, 2D или 3D по умолчанию звука XYZ).
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
enabled | bool | — |
SetNodeGuiPositionvoid
public void SetNodeGuiPosition(uint nodeId, Vector2 position);Устанавливает визуальное положение узла графа, как это будет показано в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
position | Vector2 | — |
SetNodeGuiSizevoid
public void SetNodeGuiSize(uint nodeId, Vector2 size);Устанавливает визуальный размер узла графа, как он появится в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
size | Vector2 | — |
SetNodeNamevoid
public void SetNodeName(uint nodeId, StringName name);Устанавливает название узла.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
name | StringName | — |
SetNodeParamvoid
public void SetNodeParam(uint nodeId, int paramIndex, Variant value);Установите параметр узла. Индекс параметров соответствует положению, в котором параметр появляется при просмотре в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
paramIndex | int | — |
value | Variant | — |
SetNodeParamByNamevoid
public void SetNodeParamByName(uint nodeId, string paramName, Variant value);Установите параметр узла, используя его имя в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | uint | — |
paramName | string | — |
value | Variant | — |
SetNodeParamNullvoid
public void SetNodeParamNull(int nodeId, int paramIndex);Установите параметр узла на null. Этот метод существует только для того, чтобы обойти вопрос с Reckfell's UndoRedo Предпочитать использовать VoxelGraphFunction.SetNodeParam.
| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | int | — |
paramIndex | int | — |
Сигналы и события2
CompiledСобытие
public event Action Compiled;Включено после завершения составления графика, даже если компиляция не сработала.
NodeNameChangedСобытие
public event VoxelGraphFunction.NodeNameChangedEventHandler NodeNameChanged;| Имя | Тип | По умолчанию |
|---|---|---|
nodeId | long | — |