本文整理汇总了C++中XmlElement::getMat4方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlElement::getMat4方法的具体用法?C++ XmlElement::getMat4怎么用?C++ XmlElement::getMat4使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlElement
的用法示例。
在下文中一共展示了XmlElement::getMat4方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load
Error Skeleton::load(const ResourceFilename& filename)
{
XmlDocument doc;
ANKI_CHECK(openFileParseXml(filename, doc));
XmlElement rootEl;
ANKI_CHECK(doc.getChildElement("skeleton", rootEl));
XmlElement bonesEl;
ANKI_CHECK(rootEl.getChildElement("bones", bonesEl));
// count the bones count
XmlElement boneEl;
U32 bonesCount = 0;
ANKI_CHECK(bonesEl.getChildElement("bone", boneEl));
ANKI_CHECK(boneEl.getSiblingElementsCount(bonesCount));
++bonesCount;
m_bones.create(getAllocator(), bonesCount);
// Load every bone
bonesCount = 0;
do
{
Bone& bone = m_bones[bonesCount++];
// <name>
XmlElement nameEl;
ANKI_CHECK(boneEl.getChildElement("name", nameEl));
CString tmp;
ANKI_CHECK(nameEl.getText(tmp));
bone.m_name.create(getAllocator(), tmp);
// <transform>
XmlElement trfEl;
ANKI_CHECK(boneEl.getChildElement("transform", trfEl));
ANKI_CHECK(trfEl.getMat4(bone.m_transform));
// Advance
ANKI_CHECK(boneEl.getNextSiblingElement("bone", boneEl));
} while(boneEl);
return ErrorCode::NONE;
}
示例2: load
//==============================================================================
void Skeleton::load(const CString& filename, ResourceInitializer& init)
{
XmlDocument doc;
doc.loadFile(filename, init.m_tempAlloc);
XmlElement rootEl = doc.getChildElement("skeleton");
XmlElement bonesEl = rootEl.getChildElement("bones");
// count the bones count
U bonesCount = 0;
XmlElement boneEl = bonesEl.getChildElement("bone");
do
{
++bonesCount;
boneEl = boneEl.getNextSiblingElement("bone");
} while(boneEl);
// Alloc the vector
m_bones = std::move(ResourceVector<Bone>(init.m_alloc));
m_bones.resize(bonesCount, Bone(init.m_alloc));
// Load every bone
boneEl = bonesEl.getChildElement("bone");
bonesCount = 0;
do
{
Bone& bone = m_bones[bonesCount++];
// <name>
XmlElement nameEl = boneEl.getChildElement("name");
bone.m_name = nameEl.getText();
// <transform>
XmlElement trfEl = boneEl.getChildElement("transform");
bone.m_transform = trfEl.getMat4();
// Advance
boneEl = boneEl.getNextSiblingElement("bone");
} while(boneEl);
}