davidcaron / pye57

Read and write e57 point clouds from Python
MIT License
68 stars 42 forks source link

BlobNode not supported by StructureNode.set() method #37

Closed mitch-galea closed 3 weeks ago

mitch-galea commented 1 year ago

Hello,

When trying to embed a spherical image into an e57 file. I noticed that the BlobNode is not supported by StructureNode.set method.

The culprit was libe57_wrapper.cpp in the following lines:

cls_StructureNode.def("set", [](StructureNode &node, const std::string &pathName, StructureNode &n){
        node.set(pathName, n);
    }, "pathName"_a, "n"_a);
    cls_StructureNode.def("set", [](StructureNode &node, const std::string &pathName, VectorNode &n){
        node.set(pathName, n);
    }, "pathName"_a, "n"_a);
    cls_StructureNode.def("set", [](StructureNode &node, const std::string &pathName, CompressedVectorNode &n){
        node.set(pathName, n);
    }, "pathName"_a, "n"_a);
    cls_StructureNode.def("set", [](StructureNode &node, const std::string &pathName, IntegerNode &n){
        node.set(pathName, n);
    }, "pathName"_a, "n"_a);
    cls_StructureNode.def("set", [](StructureNode &node, const std::string &pathName, ScaledIntegerNode &n){
        node.set(pathName, n);
    }, "pathName"_a, "n"_a);
    cls_StructureNode.def("set", [](StructureNode &node, const std::string &pathName, FloatNode &n){
        node.set(pathName, n);
    }, "pathName"_a, "n"_a);
    cls_StructureNode.def("set", [](StructureNode &node, const std::string &pathName, StringNode &n){
        node.set(pathName, n);
    }, "pathName"_a, "n"_a);

as can be seen there is no implementation for BlobNode. I tested adding a BlobNode implementation and rebuilded and this worked

dancergraham commented 3 weeks ago

closed by #59