+int
+SGPropertyNode::getIntValue () const
+{
+ // Shortcut for common case
+ if (_attr == (READ|WRITE) && _type == INT)
+ return get_int();
+
+ if (getAttribute(TRACE_READ))
+ trace_read();
+ if (!getAttribute(READ))
+ return SGRawValue<int>::DefaultValue;
+ switch (_type) {
+ case ALIAS:
+ return _value.alias->getIntValue();
+ case BOOL:
+ return int(get_bool());
+ case INT:
+ return get_int();
+ case LONG:
+ return int(get_long());
+ case FLOAT:
+ return int(get_float());
+ case DOUBLE:
+ return int(get_double());
+ case STRING:
+ case UNSPECIFIED:
+ return atoi(get_string());
+ case NONE:
+ default:
+ return SGRawValue<int>::DefaultValue;
+ }