feat: register parameter list

This commit is contained in:
parker
2025-07-22 21:18:06 +01:00
parent 8ad6ecc299
commit c5f2dec008
14 changed files with 53 additions and 10 deletions

View File

@@ -3,7 +3,7 @@
#include <iostream> #include <iostream>
void enzo::op::OperatorTable::addOperator(const char* internalName, const char* displayName, nt::opConstructor ctorFunc) void enzo::op::OperatorTable::addOperator(const char* internalName, const char* displayName, nt::opConstructor ctorFunc, prm::Template templateList[])
{ {
std::cout << "OPERATOR TABLE ADDED\n"; std::cout << "OPERATOR TABLE ADDED\n";
std::cout << "adding operator: " << displayName << "\n"; std::cout << "adding operator: " << displayName << "\n";

View File

@@ -3,6 +3,7 @@
#include <boost/config.hpp> #include <boost/config.hpp>
#include "Engine/Network/NetworkManager.h" #include "Engine/Network/NetworkManager.h"
#include "Engine/Operator/GeometryOpDef.h" #include "Engine/Operator/GeometryOpDef.h"
#include "Engine/Parameter/Template.h"
namespace enzo::op namespace enzo::op
@@ -17,7 +18,7 @@ struct OpInfo
class BOOST_SYMBOL_EXPORT OperatorTable class BOOST_SYMBOL_EXPORT OperatorTable
{ {
public: public:
static void addOperator(const char* internalName, const char* displayName, nt::opConstructor ctorFunc); static void addOperator(const char* internalName, const char* displayName, nt::opConstructor ctorFunc, prm::Template templateList[]);
static nt::opConstructor getOpConstructor(std::string name); static nt::opConstructor getOpConstructor(std::string name);
static std::vector<OpInfo> getData(); static std::vector<OpInfo> getData();
// TODO: move to better spot (maybe engine class) // TODO: move to better spot (maybe engine class)
@@ -25,6 +26,6 @@ public:
private: private:
static std::vector<OpInfo> opInfoStore_; static std::vector<OpInfo> opInfoStore_;
}; };
using addOperatorPtr = void (*)(const char* internalName, const char* displayName, nt::opConstructor ctorFunc); using addOperatorPtr = void (*)(const char* internalName, const char* displayName, nt::opConstructor ctorFunc, prm::Template templateList[]);
} }

View File

@@ -0,0 +1 @@
#include "Engine/Parameter/FloatType.h"

View File

@@ -0,0 +1,12 @@
#pragma once
#include "Engine/Parameter/Type.h"
// namespace enzo::prm
// {
// class FloatType
// : public Type
// {
// public:
// };
// }

View File

@@ -1,7 +1,8 @@
#include "Engine/Parameter/Template.h" #include "Engine/Parameter/Template.h"
#include "Engine/Parameter/Type.h"
enzo::prm::Template::Template() enzo::prm::Template::Template(enzo::prm::Type type)
: type_{type}
{ {
} }

View File

@@ -1,11 +1,15 @@
#pragma once #pragma once
#include "Engine/Parameter/Type.h"
namespace enzo::prm namespace enzo::prm
{ {
class Template class Template
{ {
Template(); public:
Template(enzo::prm::Type type);
private:
enzo::prm::Type type_;
}; };

View File

@@ -2,10 +2,22 @@
namespace enzo::prm namespace enzo::prm
{
class Type
{ {
enum class Type
{
STRING,
FLOAT,
INT,
}; };
// class Type
// {
// };
// const extern prm::Type FlOAT_TYPE;
// const extern prm::Type STRING_TYPE;
} }

View File

@@ -17,6 +17,7 @@ add_library(${libName} SHARED
../Engine/Operator/Geometry.cpp ../Engine/Operator/Geometry.cpp
../Engine/Operator/Attribute.cpp ../Engine/Operator/Attribute.cpp
../Engine/Network/NetworkManager.cpp ../Engine/Network/NetworkManager.cpp
../Engine/Parameter/Template.cpp
GopTransform.cpp GopTransform.cpp
GopHouse.cpp GopHouse.cpp
) )

View File

@@ -79,3 +79,4 @@ void GOP_house::cookOp(enzo::op::Context context)
// } // }
} }
enzo::prm::Template GOP_house::parameterList[] = {};

View File

@@ -1,5 +1,6 @@
#pragma once #pragma once
#include "Engine/Operator/GeometryOpDef.h" #include "Engine/Operator/GeometryOpDef.h"
#include "Engine/Parameter/Template.h"
class GOP_house class GOP_house
: public enzo::nt::GeometryOpDef : public enzo::nt::GeometryOpDef
@@ -12,4 +13,6 @@ public:
return new GOP_house(opId); return new GOP_house(opId);
} }
static BOOST_SYMBOL_EXPORT enzo::prm::Template parameterList[];
}; };

View File

@@ -38,3 +38,5 @@ void GopTransform::cookOp(enzo::op::Context context)
} }
enzo::prm::Template GopTransform::parameterList[] = {};

View File

@@ -1,5 +1,6 @@
#pragma once #pragma once
#include "Engine/Operator/GeometryOpDef.h" #include "Engine/Operator/GeometryOpDef.h"
#include "Engine/Parameter/Template.h"
class GopTransform class GopTransform
: public enzo::nt::GeometryOpDef : public enzo::nt::GeometryOpDef
@@ -12,4 +13,6 @@ public:
return new GopTransform(opId); return new GopTransform(opId);
} }
static BOOST_SYMBOL_EXPORT enzo::prm::Template parameterList[];
}; };

View File

@@ -11,12 +11,14 @@ extern "C"
addOperator( addOperator(
"transform", "transform",
"Transform", "Transform",
&GopTransform::ctor &GopTransform::ctor,
GopTransform::parameterList
); );
addOperator( addOperator(
"house", "house",
"House", "House",
&GOP_house::ctor &GOP_house::ctor,
GopTransform::parameterList
); );
} }