@@ -78,10 +78,9 @@ Prefab::~Prefab()
7878}
7979
8080
81- void Prefab::addPrefabParameter (const std::string& name, py::object value, const std::string& help, std::string type)
81+ void Prefab::addDataParameter (const std::string& name, py::object value, const std::string& help, std::string type)
8282{
83- sofa::core::objectmodel::BaseData* data = findData (name);
84- if (data == nullptr )
83+ if (!findData (name) && !findLink (name))
8584 {
8685 sofa::core::objectmodel::BaseData* data = sofapython3::addData (py::cast (this ), name, value, py::object (), help, " Prefab's properties" , type);
8786 m_datacallback.addInputs ({data});
@@ -90,6 +89,22 @@ void Prefab::addPrefabParameter(const std::string& name, py::object value, const
9089 // PythonFactory::fromPython(data, value);
9190}
9291
92+ void Prefab::addLinkParameter (const std::string& name, py::object value, const std::string& help)
93+ {
94+ if (!findData (name) && !findLink (name))
95+ {
96+ sofa::core::objectmodel::BaseLink* link = sofapython3::addLink (py::cast (this ), name, value, help);
97+
98+ // can't set the link into the "Prefab" group because links have no setGroup function
99+ // link->setGroup("Prefab's properties");
100+ // can't add the link to the datacallback's inputs, since links aren't DDGNodes...
101+ // m_datacallback.addInputs({link});
102+ return ;
103+ }
104+ // PythonFactory::fromPython(data, value);
105+ }
106+
107+
93108void Prefab::setSourceTracking (const std::string& filename)
94109{
95110 std::cout << " Activating source tracking to " << filename << std::endl;
0 commit comments