MCPcopy Create free account
hub / github.com/FreeCAD/FreeCAD / addMaterials

Function addMaterials

src/Mod/Material/App/MaterialManagerPyImp.cpp:303–318  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

301}
302
303void addMaterials(MaterialManager *manager,
304 Py::List& list,
305 const std::shared_ptr<std::map<QString, std::shared_ptr<MaterialTreeNode>>>& tree)
306{
307 for (auto& node : *tree) {
308 if (node.second->getType() == MaterialTreeNode::NodeType::DataNode) {
309 auto uuid = node.second->getUUID();
310 auto material = manager->getMaterial(uuid);
311 PyObject* materialPy = new MaterialPy(new Material(*material));
312 list.append(Py::Object(materialPy, true));
313 }
314 else {
315 addMaterials(manager, list, node.second->getFolder());
316 }
317 }
318}
319
320PyObject* MaterialManagerPy::filterMaterials(PyObject* args, PyObject* kwds)
321{

Callers 7

filterMaterialsMethod · 0.85
addMaterialsMethod · 0.85
showSelectedTreeMethod · 0.85
fillMaterialTreeMethod · 0.85
addMaterialsMethod · 0.85
addMaterialsMethod · 0.85
fillMaterialTreeMethod · 0.85

Calls 6

getFolderMethod · 0.80
ObjectClass · 0.50
getTypeMethod · 0.45
getUUIDMethod · 0.45
getMaterialMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected