本文整理汇总了C++中XmlAttribute::getFloat方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlAttribute::getFloat方法的具体用法?C++ XmlAttribute::getFloat怎么用?C++ XmlAttribute::getFloat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlAttribute
的用法示例。
在下文中一共展示了XmlAttribute::getFloat方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: EntityPhysics
//===========================================
// Box2dPhysics::Box2dPhysics
//===========================================
Box2dPhysics::Box2dPhysics(Entity* entity, const XmlNode data)
: EntityPhysics(entity, data),
m_init(false),
m_entity(entity),
m_body(NULL),
m_opts(false, false, 1.f, 0.3f) {
init();
try {
XML_NODE_CHECK(data, Box2dPhysics);
XmlAttribute attr = data.firstAttribute();
XML_ATTR_CHECK(attr, dynamic);
m_opts.dynamic = attr.getBool();
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, fixedAngle);
m_opts.fixedAngle = attr.getBool();
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, density);
m_opts.density = attr.getFloat();
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, friction);
m_opts.friction = attr.getFloat();
}
catch (XmlException& e) {
e.prepend("Error parsing XML for instance of class Box2dPhysics; ");
throw;
}
}
示例2: catch
//===========================================
// Box2dPhysics::assignData
//===========================================
void Box2dPhysics::assignData(const XmlNode data) {
if (data.isNull() || data.name() != "Box2dPhysics") return;
try {
XmlAttribute attr = data.firstAttribute();
if (!attr.isNull() && attr.name() == "dynamic") {
m_opts.dynamic = attr.getBool();
attr = attr.nextAttribute();
}
if (!attr.isNull() && attr.name() == "fixedAngle") {
m_opts.fixedAngle = attr.getBool();
attr = attr.nextAttribute();
}
if (!attr.isNull() && attr.name() == "density") {
m_opts.density = attr.getFloat();
attr = attr.nextAttribute();
}
if (!attr.isNull() && attr.name() == "friction") {
m_opts.friction = attr.getFloat();
}
}
catch (XmlException& e) {
e.prepend("Error parsing XML for instance of class Box2dPhysics ;");
throw;
}
}
示例3: frame
//===========================================
// Animation::Animation
//===========================================
Animation::Animation(const XmlNode data)
: Asset(internString("Animation")),
m_state(STOPPED),
m_frameReady(false) {
try {
XML_NODE_CHECK(data, Animation);
XmlAttribute attr = data.firstAttribute();
XML_ATTR_CHECK(attr, name);
m_name = internString(attr.getString());
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, duration);
m_duration = attr.getFloat();
uint_t f = 0;
XmlNode node = data.firstChild();
while (!node.isNull() && node.name() == "AnimFrame") {
AnimFrame frame(node);
frame.number = f;
m_frames.push_back(frame);
++f;
node = node.nextSibling();
}
}
catch (XmlException& e) {
e.prepend("Error parsing XML for instance of class Animation; ");
throw;
}
}
示例4: catch
//===========================================
// Vec2f::Vec2f
//===========================================
Vec2f::Vec2f(const XmlNode data) {
try {
XML_NODE_CHECK(data, Vec2f);
XmlAttribute attr = data.firstAttribute();
XML_ATTR_CHECK(attr, x);
x = attr.getFloat();
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, y);
y = attr.getFloat();
}
catch (XmlException& e) {
e.prepend("Error parsing XML for instance of class Vec2f; ");
throw;
}
}
示例5: catch
bool Test::testCase1() const {
bool pass = true;
bool b = false;
if (m_verbose) cout << "\tCASE 1: Parsing good document and checking tree\n";
try {
XmlDocument doc;
doc.parse("./test1.xml");
/*
<?xml version="1.0" encoding="utf-8"?>
<element1 a="1" b="2">
<element2 c="3" d="true"/>
<element3>Hello World!</element3>
<element4 a="123">
<element5 yes="no">
<element6 str="This is a string" num="4.5"/>
<element7>99.8</element7>
</element5>
</element4>
</element1>
*/
XmlNode node = doc.firstNode();
node = node.nextSibling();
SUBCASE_CHECK_CRITICAL(!node.isNull());
SUBCASE_CHECK(node.name().compare("element1") == 0, pass, b);
XmlAttribute attr = node.firstAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("a") == 0, pass, b);
SUBCASE_CHECK(attr.getInt() == 1, pass, b);
attr = attr.nextAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("b") == 0, pass, b);
SUBCASE_CHECK(attr.getInt() == 2, pass, b);
{
XmlNode node_ = node.firstChild();
SUBCASE_CHECK_CRITICAL(!node_.isNull());
SUBCASE_CHECK(node_.name().compare("element2") == 0, pass, b);
XmlAttribute attr = node_.firstAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("c") == 0, pass, b);
SUBCASE_CHECK(attr.getInt() == 3, pass, b);
attr = attr.nextAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("d") == 0, pass, b);
SUBCASE_CHECK(attr.getString().compare("true") == 0, pass, b);
node_ = node_.nextSibling();
SUBCASE_CHECK_CRITICAL(!node_.isNull());
SUBCASE_CHECK(node_.name().compare("element3") == 0, pass, b);
SUBCASE_CHECK(node_.getString().compare("Hello World!") == 0, pass, b);
node_ = node_.nextSibling();
SUBCASE_CHECK_CRITICAL(!node_.isNull());
SUBCASE_CHECK(node_.name().compare("element4") == 0, pass, b);
attr = node_.firstAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("a") == 0, pass, b);
SUBCASE_CHECK(attr.getInt() == 123, pass, b);
{
XmlNode node__ = node_.firstChild();
SUBCASE_CHECK_CRITICAL(!node__.isNull());
SUBCASE_CHECK(node__.name().compare("element5") == 0, pass, b);
XmlAttribute attr = node__.firstAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("yes") == 0, pass, b);
SUBCASE_CHECK(attr.getString().compare("no") == 0, pass, b);
{
XmlNode node___ = node__.firstChild();
SUBCASE_CHECK_CRITICAL(!node___.isNull());
SUBCASE_CHECK(node___.name().compare("element6") == 0, pass, b);
XmlAttribute attr = node___.firstAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("str") == 0, pass, b);
SUBCASE_CHECK(attr.getString().compare("This is a string") == 0, pass, b);
attr = attr.nextAttribute();
SUBCASE_CHECK_CRITICAL(!attr.isNull());
SUBCASE_CHECK(attr.name().compare("num") == 0, pass, b);
SUBCASE_CHECK(attr.getFloat() == 4.5, pass, b);
}
}
}
}
catch (XmlException& e) {
pass = false;
if (m_verbose) {
cout << e.what() << "\n";
//.........这里部分代码省略.........
示例6: XmlException
//===========================================
// Entity::Entity
//===========================================
Entity::Entity(const XmlNode data)
: Asset(internString("Entity")),
m_silent(false),
m_parent(NULL) {
AssetManager assetManager;
ShapeFactory shapeFactory;
try {
setSilent(true);
XML_NODE_CHECK(data, Entity);
XmlAttribute attr = data.firstAttribute();
XML_ATTR_CHECK(attr, type);
m_type = internString(attr.getString());
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, name);
m_name = internString(attr.getString());
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, x);
m_transl.x = attr.getFloat();
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, y);
m_transl.y = attr.getFloat();
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, z);
m_z = attr.getFloat();
// So that no Z values are 'exactly' equal
m_z += 0.1f * static_cast<float32_t>(rand()) / static_cast<float32_t>(RAND_MAX);
attr = attr.nextAttribute();
XML_ATTR_CHECK(attr, rot);
float32_t rot = attr.getFloat();
XmlNode node = data.firstChild();
if (!node.isNull() && node.name() == "shape") {
m_shape = unique_ptr<Shape>(shapeFactory.create(node.firstChild()));
node = node.nextSibling();
}
m_rot = 0;
setRotation(rot);
XML_NODE_CHECK(node, scale);
m_scale = Vec2f(1.f, 1.f);
setScale(Vec2f(node.firstChild()));
node = node.nextSibling();
XML_NODE_CHECK(node, fillColour);
m_fillColour = Colour(node.firstChild());
node = node.nextSibling();
XML_NODE_CHECK(node, lineColour);
m_lineColour = Colour(node.firstChild());
node = node.nextSibling();
XML_NODE_CHECK(node, lineWidth);
m_lineWidth = node.getInt();
node = node.nextSibling();
XML_NODE_CHECK(node, children);
XmlNode node_ = node.firstChild();
while (!node_.isNull() && node_.name() == "child") {
XmlAttribute attr = node_.firstAttribute();
if (!attr.isNull() && attr.name() == "ptr") {
long id = attr.getLong();
pEntity_t child = boost::dynamic_pointer_cast<Entity>(assetManager.getAssetPointer(id));
if (!child)
throw XmlException("Bad entity asset id", __FILE__, __LINE__);
addChild(child);
}
node_ = node_.nextSibling();
}
setSilent(false);
++m_count;
}
catch (XmlException& e) {
e.prepend("Error parsing XML for instance of class Entity; ");
throw;
}
recomputeBoundary();
}
示例7: assignData
//===========================================
// Entity::assignData
//===========================================
void Entity::assignData(const XmlNode data) {
if (data.isNull() || data.name() != "Entity") return;
AssetManager assetManager;
ShapeFactory shapeFactory;
try {
bool silent = isSilent();
setSilent(true);
XmlAttribute attr = data.firstAttribute();
if (!attr.isNull() && attr.name() == "type") {
m_type = internString(attr.getString());
attr = attr.nextAttribute();
}
if (!attr.isNull() && attr.name() == "name") {
m_name = internString(attr.getString());
attr = attr.nextAttribute();
}
Vec2f transl = m_transl;
if (!attr.isNull() && attr.name() == "x") {
transl.x = attr.getFloat();
attr = attr.nextAttribute();
}
if (!attr.isNull() && attr.name() == "y") {
transl.y = attr.getFloat();
attr = attr.nextAttribute();
}
setTranslation(transl);
if (!attr.isNull() && attr.name() == "z") {
m_z = attr.getFloat();
// So that no Z values are 'exactly' equal
m_z += 0.1f * static_cast<float32_t>(rand()) / static_cast<float32_t>(RAND_MAX);
attr = attr.nextAttribute();
}
XmlNode node = data.firstChild();
if (!node.isNull() && node.name() == "shape") {
m_shape = unique_ptr<Shape>(shapeFactory.create(node.firstChild()));
node = node.nextSibling();
}
if (!node.isNull() && node.name() == "scale") {
setScale(Vec2f(node.firstChild()));
node = node.nextSibling();
}
if (!attr.isNull() && attr.name() == "rot") {
setRotation(attr.getFloat());
}
if (!node.isNull() && node.name() == "fillColour") {
m_fillColour = Colour(node.firstChild());
node = node.nextSibling();
}
if (!node.isNull() && node.name() == "lineColour") {
m_lineColour = Colour(node.firstChild());
node = node.nextSibling();
}
if (!node.isNull() && node.name() == "lineWidth") {
m_lineWidth = node.getInt();
node = node.nextSibling();
}
if (!node.isNull() && node.name() == "children") {
XmlNode node_ = node.firstChild();
while (!node_.isNull() && node_.name() == "child") {
XmlAttribute attr = node_.firstAttribute();
if (!attr.isNull() && attr.name() == "ptr") {
long id = attr.getLong();
pEntity_t child = boost::dynamic_pointer_cast<Entity>(assetManager.getAssetPointer(id));
if (!child)
throw XmlException("Bad entity asset id", __FILE__, __LINE__);
addChild(child);
}
node_ = node_.nextSibling();
}
}
setSilent(silent);
}
//.........这里部分代码省略.........