Skip to content

Commit cb7d18e

Browse files
committed
WIP: addLinkParameter in prefabs
Won't work until: - links can be affected to groups, or we change how to group Prefab params - links inherit DDGNode to be added to callbacks
1 parent e6ce502 commit cb7d18e

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

Plugin/src/SofaPython3/Prefab.cpp

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
93108
void Prefab::setSourceTracking(const std::string& filename)
94109
{
95110
std::cout << "Activating source tracking to " << filename << std::endl;

0 commit comments

Comments
 (0)