From Ulrich Hertlein, "While we're on osgSim/ShapeAttribute, here's a fix that fixes the 'UNKNOW' typo and some

doxygen"
This commit is contained in:
Robert Osfield 2011-06-24 08:32:25 +00:00
parent 41a6d949c2
commit 0a48e99a25
3 changed files with 22 additions and 10 deletions

View File

@ -25,10 +25,10 @@ namespace osgSim
class OSGSIM_EXPORT ShapeAttribute class OSGSIM_EXPORT ShapeAttribute
{ {
public: public:
/// ShapeAttribute data type.
enum Type enum Type
{ {
UNKNOW, UNKNOWN,
INTEGER, INTEGER,
DOUBLE, DOUBLE,
STRING STRING
@ -55,17 +55,31 @@ class OSGSIM_EXPORT ShapeAttribute
inline bool operator != (const osgSim::ShapeAttribute& sa) const { return compare(sa)!=0; } inline bool operator != (const osgSim::ShapeAttribute& sa) const { return compare(sa)!=0; }
inline bool operator < (const osgSim::ShapeAttribute& sa) const { return compare(sa)<0; } inline bool operator < (const osgSim::ShapeAttribute& sa) const { return compare(sa)<0; }
/// Get the attribute name.
const std::string & getName() const { return _name; } const std::string & getName() const { return _name; }
/// Set the attribute name.
void setName(const std::string& name) { _name = name; } void setName(const std::string& name) { _name = name; }
/// Get the attribute data type.
const Type getType() const { return _type; } const Type getType() const { return _type; }
/// Get the attribute data as an int.
int getInt() const { return _integer; } int getInt() const { return _integer; }
/// Get the attribute data as a double.
double getDouble() const { return _double; } double getDouble() const { return _double; }
/// Get the attribute data as a string.
const char * getString() const { return _string; } const char * getString() const { return _string; }
/// Set an integer attribute data.
void setValue(int value) { free(); _type = INTEGER; _integer = value; } void setValue(int value) { free(); _type = INTEGER; _integer = value; }
/// Set a double attribute data.
void setValue(double value) { free(); _type = DOUBLE; _double = value; } void setValue(double value) { free(); _type = DOUBLE; _double = value; }
/// Set a string attribute data.
void setValue(const char * value); void setValue(const char * value);
@ -83,8 +97,6 @@ class OSGSIM_EXPORT ShapeAttribute
double _double; double _double;
char* _string; char* _string;
}; };
}; };
class OSGSIM_EXPORT ShapeAttributeList : public osg::Object, public osg::MixinVector<ShapeAttribute> class OSGSIM_EXPORT ShapeAttributeList : public osg::Object, public osg::MixinVector<ShapeAttribute>

View File

@ -20,19 +20,19 @@
namespace osgSim namespace osgSim
{ {
ShapeAttribute::ShapeAttribute() : ShapeAttribute::ShapeAttribute() :
_type(UNKNOW), _type(UNKNOWN),
_integer(0) _integer(0)
{} {}
ShapeAttribute::ShapeAttribute(const char * name) : ShapeAttribute::ShapeAttribute(const char * name) :
_name(name), _name(name),
_type(UNKNOW), _type(UNKNOWN),
_integer(0) _integer(0)
{} {}
ShapeAttribute::ShapeAttribute(const char * name, int value) : ShapeAttribute::ShapeAttribute(const char * name, int value) :
_name(name), _name(name),
_type(INTEGER), _type(UNKNOWN),
_integer(value) _integer(value)
{} {}
@ -98,7 +98,7 @@ void ShapeAttribute::copy(const ShapeAttribute& sa)
_double = sa._double; _double = sa._double;
break; break;
} }
case UNKNOW: case UNKNOWN:
default: default:
{ {
_integer = 0; _integer = 0;
@ -142,7 +142,7 @@ int ShapeAttribute::compare(const osgSim::ShapeAttribute& sa) const
if (sa._double<_double) return 1; if (sa._double<_double) return 1;
} }
case INTEGER: case INTEGER:
case UNKNOW: case UNKNOWN:
default: default:
{ {
if (_integer<sa._integer) return -1; if (_integer<sa._integer) return -1;

View File

@ -85,7 +85,7 @@ bool ShapeAttributeList_writeLocalData(const osg::Object &obj, osgDB::Output &fw
fw.indent()<<"double "<< fw.wrapString(it->getName())<<" "<<it->getDouble() << std::endl; fw.indent()<<"double "<< fw.wrapString(it->getName())<<" "<<it->getDouble() << std::endl;
break; break;
} }
case osgSim::ShapeAttribute::UNKNOW: case osgSim::ShapeAttribute::UNKNOWN:
default: break; default: break;
} }
} }