Skip to content

Commit 5e9a743

Browse files
committed
cleanup Prefab code
1 parent 172e108 commit 5e9a743

File tree

4 files changed

+6
-26
lines changed

4 files changed

+6
-26
lines changed

Plugin/src/SofaPython3/Prefab.cpp

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -78,31 +78,15 @@ Prefab::~Prefab()
7878
}
7979

8080

81-
void Prefab::addDataParameter(const std::string& name, py::object value, const std::string& help, std::string type)
81+
void Prefab::addPrefabParameter(const std::string& name, const std::string& help, const std::string& type, py::object defaultValue)
8282
{
8383
if(!findData(name) && !findLink(name))
8484
{
85-
sofa::core::objectmodel::BaseData* data = sofapython3::addData(py::cast(this), name, value, py::object(), help, "Prefab's properties", type);
85+
sofa::core::objectmodel::BaseData* data = sofapython3::addData(py::cast(this), name, py::none(), defaultValue, help, "Prefab's properties", type);
8686
m_datacallback.addInputs({data});
87-
return;
8887
}
89-
//PythonFactory::fromPython(data, value);
9088
}
9189

92-
void Prefab::addLinkParameter(const std::string& name, const std::string& help)
93-
{
94-
if(!findData(name) && !findLink(name))
95-
{
96-
sofa::core::objectmodel::BaseData* data = sofapython3::addData(py::cast(this), name, py::none(), py::none(), help, "Prefab's properties", "PrefabLink");
97-
std::cout << data->getName() << " Successfully created!" << std::endl;
98-
m_datacallback.addInputs({data});
99-
return;
100-
}
101-
std::cout << name << " Already exist in " << this->getName() << "!!!" << std::endl;
102-
//PythonFactory::fromPython(data, value);
103-
}
104-
105-
10690
void Prefab::setSourceTracking(const std::string& filename)
10791
{
10892
std::cout << "Activating source tracking to " << filename << std::endl;

Plugin/src/SofaPython3/Prefab.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ class SOFAPYTHON3_API Prefab : public BasePrefab
3939
void reinit();
4040
virtual void doReInit() ;
4141

42-
void addDataParameter(const std::string& name, pybind11::object value, const std::string& help, std::string type);
43-
void addLinkParameter(const std::string& name, const std::string& help);
42+
void addPrefabParameter(const std::string& name, const std::string& help, const std::string& type, pybind11::object defaultValue = py::none());
4443
void setSourceTracking(const std::string& filename);
4544
void breakPrefab();
4645

Plugin/src/SofaPython3/PythonFactory.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,7 @@ bool PythonFactory::registerDefaultTypes()
439439

440440
// PrefabLink
441441
PythonFactory::registerType<sofa::core::objectmodel::PrefabLink>("PrefabLink");
442+
PythonFactory::registerType<sofa::core::objectmodel::PrefabLink>("Link");
442443

443444
// Scalars
444445
PythonFactory::registerType<std::string>("string");

bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_Prefab.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ void moduleAddPrefab(py::module &m) {
9898
std::string key = py::cast<std::string>(kv.first);
9999
py::object value = py::reinterpret_borrow<py::object>(kv.second);
100100

101-
std::cout << "PREFAB ARE BROKEN " << key << std::endl;
102-
103101
if( key == "name")
104102
c->setName(py::cast<std::string>(kv.second));
105103
try {
@@ -116,10 +114,8 @@ void moduleAddPrefab(py::module &m) {
116114
));
117115

118116
f.def("setSourceTracking", &Prefab::setSourceTracking);
119-
f.def("addDataParameter", &Prefab::addDataParameter,
120-
"name"_a, "value"_a, "help"_a, "type"_a);
121-
f.def("addLinkParameter", &Prefab::addLinkParameter,
122-
"name"_a, "help"_a);
117+
f.def("addPrefabParameter", &Prefab::addPrefabParameter,
118+
"name"_a, "help"_a, "type"_a, "default"_a = py::none());
123119
f.def("init", &Prefab::init);
124120
f.def("reinit", &Prefab::reinit);
125121
}

0 commit comments

Comments
 (0)