本文整理汇总了C++中XmlParser::getUniqueChunk方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlParser::getUniqueChunk方法的具体用法?C++ XmlParser::getUniqueChunk怎么用?C++ XmlParser::getUniqueChunk使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlParser
的用法示例。
在下文中一共展示了XmlParser::getUniqueChunk方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadBodyPropertiesOn
void RigidBodyReaderWriter::loadBodyPropertiesOn(RigidBody *rigidBody, const std::shared_ptr<XmlChunk> &physicsChunk, const XmlParser &xmlParser) const
{
std::shared_ptr<XmlChunk> massChunk = xmlParser.getUniqueChunk(true, MASS_TAG, XmlAttribute(), physicsChunk);
float bodyMass = massChunk->getFloatValue();
rigidBody->setMass(bodyMass);
std::shared_ptr<XmlChunk> restitutionChunk = xmlParser.getUniqueChunk(true, RESTITUTION_TAG, XmlAttribute(), physicsChunk);
rigidBody->setRestitution(restitutionChunk->getFloatValue());
std::shared_ptr<XmlChunk> frictionChunk = xmlParser.getUniqueChunk(true, FRICTION_TAG, XmlAttribute(), physicsChunk);
rigidBody->setFriction(frictionChunk->getFloatValue());
std::shared_ptr<XmlChunk> rollingFrictionChunk = xmlParser.getUniqueChunk(true, ROLLING_FRICTION_TAG, XmlAttribute(), physicsChunk);
rigidBody->setRollingFriction(rollingFrictionChunk->getFloatValue());
std::shared_ptr<XmlChunk> linearDampingChunk = xmlParser.getUniqueChunk(true, LINEAR_DAMPING_TAG, XmlAttribute(), physicsChunk);
std::shared_ptr<XmlChunk> angularDampingChunk = xmlParser.getUniqueChunk(true, ANGULAR_DAMPING_TAG, XmlAttribute(), physicsChunk);
rigidBody->setDamping(linearDampingChunk->getFloatValue(), angularDampingChunk->getFloatValue());
std::shared_ptr<XmlChunk> linearFactorChunk = xmlParser.getUniqueChunk(true, LINEAR_FACTOR_TAG, XmlAttribute(), physicsChunk);
rigidBody->setLinearFactor(linearFactorChunk->getVector3Value());
std::shared_ptr<XmlChunk> angularFactorChunk = xmlParser.getUniqueChunk(true, ANGULAR_FACTOR_TAG, XmlAttribute(), physicsChunk);
rigidBody->setAngularFactor(angularFactorChunk->getVector3Value());
}
示例2: loadSceneAIFrom
void Map::loadSceneAIFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser)
{
std::shared_ptr<XmlChunk> aiElementsListChunk = xmlParser.getUniqueChunk(true, AI_ELEMENTS_TAG, XmlAttribute(), chunk);
auto *sceneAI = new SceneAI();
sceneAI->loadFrom(aiElementsListChunk, xmlParser);
setSceneAI(sceneAI);
}
示例3: loadSceneLightsFrom
void Map::loadSceneLightsFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser)
{
std::shared_ptr<XmlChunk> lightsListChunk = xmlParser.getUniqueChunk(true, LIGHTS_TAG, XmlAttribute(), chunk);
std::vector<std::shared_ptr<XmlChunk>> lightsChunk = xmlParser.getChunks(LIGHT_TAG, XmlAttribute(), lightsListChunk);
for (const auto &lightChunk : lightsChunk)
{
auto *sceneLight = new SceneLight();
sceneLight->loadFrom(lightChunk, xmlParser);
addSceneLight(sceneLight);
}
}
示例4: loadSceneObjectsFrom
void Map::loadSceneObjectsFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser)
{
std::shared_ptr<XmlChunk> objectsListChunk = xmlParser.getUniqueChunk(true, OBJECTS_TAG, XmlAttribute(), chunk);
std::vector<std::shared_ptr<XmlChunk>> objectsChunk = xmlParser.getChunks(OBJECT_TAG, XmlAttribute(), objectsListChunk);
for (const auto &objectChunk : objectsChunk)
{
auto *sceneObject = new SceneObject();
sceneObject->loadFrom(objectChunk, xmlParser);
addSceneObject(sceneObject);
}
}
示例5: loadSceneSoundsFrom
void Map::loadSceneSoundsFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser)
{
std::shared_ptr<XmlChunk> soundElementsListChunk = xmlParser.getUniqueChunk(true, SOUND_ELEMENTS_TAG, XmlAttribute(), chunk);
std::vector<std::shared_ptr<XmlChunk>> soundElementsChunk = xmlParser.getChunks(SOUND_ELEMENT_TAG, XmlAttribute(), soundElementsListChunk);
for (const auto &soundElementChunk : soundElementsChunk)
{
auto *sceneSound = new SceneSound();
sceneSound->loadFrom(soundElementChunk, xmlParser);
addSceneSound(sceneSound);
}
}
示例6: loadSceneWaterFrom
void Map::loadSceneWaterFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser)
{
std::shared_ptr<XmlChunk> watersListChunk = xmlParser.getUniqueChunk(true, WATERS_TAG, XmlAttribute(), chunk);
std::vector<std::shared_ptr<XmlChunk>> watersChunk = xmlParser.getChunks(WATER_TAG, XmlAttribute(), watersListChunk);
for (const auto &waterChunk : watersChunk)
{
auto *sceneWater = new SceneWater();
sceneWater->loadFrom(waterChunk, xmlParser);
addSceneWater(sceneWater);
}
}
示例7: loadSceneTerrainFrom
void Map::loadSceneTerrainFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser)
{
std::shared_ptr<XmlChunk> terrainsListChunk = xmlParser.getUniqueChunk(true, TERRAINS_TAG, XmlAttribute(), chunk);
std::vector<std::shared_ptr<XmlChunk>> terrainsChunk = xmlParser.getChunks(TERRAIN_TAG, XmlAttribute(), terrainsListChunk);
for (const auto &terrainChunk : terrainsChunk)
{
auto *sceneTerrain = new SceneTerrain();
sceneTerrain->loadFrom(terrainChunk, xmlParser);
addSceneTerrain(sceneTerrain);
}
}
示例8: loadFlagsOn
void LightReaderWriter::loadFlagsOn(Light *light, std::shared_ptr<XmlChunk> lightChunk, const XmlParser &xmlParser) const
{
std::shared_ptr<XmlChunk> produceShadowChunk = xmlParser.getUniqueChunk(true, PRODUCE_SHADOW_TAG, XmlAttribute(), lightChunk);
light->setProduceShadow(produceShadowChunk->getBoolValue());
}
示例9: loadPropertiesOn
void LightReaderWriter::loadPropertiesOn(Light *light, std::shared_ptr<XmlChunk> lightChunk, const XmlParser &xmlParser) const
{
std::shared_ptr<XmlChunk> ambientColorChunk = xmlParser.getUniqueChunk(true, AMBIENT_COLOR_TAG, XmlAttribute(), lightChunk);
light->setAmbientColor(ambientColorChunk->getPoint3Value());
}
示例10: loadFrom
void SceneAI::loadFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser)
{
std::shared_ptr<XmlChunk> navMeshConfigChunk = xmlParser.getUniqueChunk(true, NAV_MESH_CONFIG_TAG, XmlAttribute(), chunk);
setNavMeshConfig(NavMeshConfigWriter().loadFrom(navMeshConfigChunk, xmlParser));
}