Enzo
Loading...
Searching...
No Matches
OpInfo.h
1#pragma once
2#include "Engine/Parameter/Template.h"
3#include <string>
4#include <vector>
5
6// forward declaration
7namespace enzo::op {
8struct OpInfo;
9}
10namespace enzo::nt {
11class GeometryOpDef;
12class NetworkManager;
13using opConstructor = GeometryOpDef* (*)(enzo::nt::NetworkManager * network,
14 enzo::op::OpInfo opInfo);
15} // namespace enzo::nt
16
17namespace enzo::op {
18struct OpInfo
19{
20 std::string internalName;
21 std::string displayName;
22 enzo::nt::opConstructor ctorFunc;
23 std::vector<enzo::prm::Template> templates;
24 unsigned int minInputs = 0;
25 unsigned int maxInputs = 1;
26 unsigned int maxOutputs = 1;
27
30 const std::string& getName() const { return internalName; }
32 const std::string& getLabel() const { return displayName; }
33};
34} // namespace enzo::op
The central coordinator of the engine's node system.
Definition NetworkManager.h:27
Definition OpInfo.h:19
const std::string & getName() const
Returns the internal type name shared by all nodes of this type (eg. "copy_to_points")
Definition OpInfo.h:30
const std::string & getLabel() const
Returns the human readable type label shown in the UI (eg. "Copy To Points")
Definition OpInfo.h:32