MCPcopy Create free account
hub / github.com/assimp/assimp / OpenXmlParser

Method OpenXmlParser

code/AssetLib/Ogre/OgreXmlSerializer.cpp:525–546  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

523}
524
525XmlParserPtr OgreXmlSerializer::OpenXmlParser(Assimp::IOSystem *pIOHandler, const std::string &filename) {
526 if (!EndsWith(filename, ".skeleton.xml", false)) {
527 ASSIMP_LOG_ERROR("Imported Mesh is referencing to unsupported '", filename, "' skeleton file.");
528 return XmlParserPtr();
529 }
530
531 if (!pIOHandler->Exists(filename)) {
532 ASSIMP_LOG_ERROR("Failed to find skeleton file '", filename, "' that is referenced by imported Mesh.");
533 return XmlParserPtr();
534 }
535
536 std::unique_ptr<IOStream> file(pIOHandler->Open(filename));
537 if (!file) {
538 throw DeadlyImportError("Failed to open skeleton file ", filename);
539 }
540
541 XmlParserPtr xmlParser = std::make_shared<XmlParser>();
542 if (!xmlParser->parse(file.get())) {
543 throw DeadlyImportError("Failed to create XML reader for skeleton file " + filename);
544 }
545 return xmlParser;
546}
547
548void OgreXmlSerializer::ReadSkeleton(XmlNode &node, Skeleton *skeleton) {
549 if (std::string(node.name()) != nnSkeleton) {

Callers

nothing calls this directly

Calls 6

DeadlyImportErrorFunction · 0.85
EndsWithFunction · 0.70
ExistsMethod · 0.45
OpenMethod · 0.45
parseMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected