40 #ifndef _GLS_METADATA_ATTRIBUTES_H
41 #define _GLS_METADATA_ATTRIBUTES_H
79 outstr << *_attribPtr;
86 T ConvertToIntOrBool(
int value )
91 inline bool ConvertToIntOrBool(
int value )
97 T ReadValueAsIntOrBool( std::istream &instr )
102 if( strcasecmp( value.c_str(),
"TRUE" ) == 0 )
106 else if ( strcasecmp( value.c_str(),
"FALSE" ) == 0 )
113 temp = ConvertToIntOrBool<T>( atoi( value.c_str() ) );
121 *_attribPtr = ReadValueAsIntOrBool< bool >( instr );
154 outstr << (int)*_attribPtr;
163 *_attribPtr =
static_cast<unsigned char>( ReadValueAsIntOrBool<int>( instr ) );
172 *_attribPtr = ReadValueAsIntOrBool<int>( instr );
181 *_attribPtr = ReadValueAsIntOrBool<unsigned int>( instr );
206 virtual GLS_EXPORT
long ValueInt();
207 virtual GLS_EXPORT
void ValueInt(
long val);
209 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
210 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
221 virtual GLS_EXPORT ~DistiAttributeFloatArray();
223 virtual GLS_EXPORT
bool OkToWrite()
const;
225 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
226 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
237 virtual GLS_EXPORT ~DistiAttributeDoubleArray();
239 virtual GLS_EXPORT
bool OkToWrite()
const;
241 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
242 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
258 using _BaseClass::_pairList;
260 typedef void (containerClass::*SetMethodType)(
const int);
261 typedef int (containerClass::*GetMethodType)();
266 _pairList = &TextureModeEnumList;
285 using _BaseClass::_pairList;
287 typedef void (containerClass::*SetMethodType)(
const int);
288 typedef int (containerClass::*GetMethodType)();
293 _pairList = &TextureFilterEnumList;
311 using _BaseClass::_pairList;
313 typedef void (containerClass::*SetMethodType)(
const int);
314 typedef int (containerClass::*GetMethodType)();
319 _pairList = &PolyModeEnumList;
334 using _BaseClass::_pairList;
336 typedef void (containerClass::*SetMethodType)(int);
337 typedef int (containerClass::*GetMethodType)();
342 _pairList = &PolyEndEnumList;
357 using _BaseClass::_pairList;
359 typedef void (containerClass::*SetMethodType)(
const int);
360 typedef int (containerClass::*GetMethodType)();
365 _pairList = &ShadingEnumList;
374 using _BaseClass::_pairList;
376 typedef void (containerClass::*SetMethodType)(
const int);
377 typedef int (containerClass::*GetMethodType)();
391 _pairList = &ColorMaterialModeEnum;
394 virtual GLS_EXPORT
bool OkToWrite()
const {
return false; }
402 using _BaseClass::_pairList;
404 typedef void (containerClass::*SetMethodType)(
const int);
405 typedef int (containerClass::*GetMethodType)();
415 _pairList = &ProtectionEnumList;
432 using _BaseClass::_pairList;
434 typedef void (containerClass::*SetMethodType)(
const int);
435 typedef int (containerClass::*GetMethodType)();
440 _pairList = &AlphaModeEnumList;
459 virtual GLS_EXPORT ~DistiAttributeString();
462 GLS_EXPORT
char* LocalStorageString();
463 virtual GLS_EXPORT
bool OkToWrite()
const;
465 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
466 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
482 virtual GLS_EXPORT std::string ValueString();
483 virtual GLS_EXPORT
void ValueString(
const std::string& s);
485 virtual GLS_EXPORT std::ostream & WriteValue(std::ostream &outstr);
486 virtual GLS_EXPORT std::istream & ReadValue(std::istream &instr);
500 virtual GLS_EXPORT
bool OkToWrite()
const;
504 virtual GLS_EXPORT std::string ValueString();
505 virtual GLS_EXPORT
void ValueString(
const std::string& s);
507 virtual GLS_EXPORT std::ostream & WriteValue(std::ostream &outstr);
508 virtual GLS_EXPORT std::istream & ReadValue(std::istream &instr);
517 virtual GLS_EXPORT ~DistiAttributeFixedString();
519 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
520 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
526 std::string _localStorageString;
533 virtual GLS_EXPORT ~DistiAttributeStdString();
536 GLS_EXPORT std::string* LocalStorageString();
538 virtual GLS_EXPORT
bool OkToWrite()
const;
540 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
541 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
549 virtual GLS_EXPORT ~DistiAttributeLocation();
551 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
552 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
563 virtual GLS_EXPORT
bool OkToWrite()
const;
566 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
567 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
580 virtual GLS_EXPORT
bool OkToWrite()
const;
583 virtual GLS_EXPORT std::ostream& WriteValue(std::ostream &outstr);
584 virtual GLS_EXPORT std::istream& ReadValue(std::istream &instr);
592 template<
class Map_t>
602 _attribPtr(attribPtr)
608 _attribPtr(
new Map_t() )
621 return _attribPtr != 0 && _attribPtr->size();
626 outstr <<
"\n" << DistiAttribDict::SpacingString() <<
"{\n";
627 DistiAttribDict::SpacingInc();
631 typename Map_t::iterator i;
632 for (i = _attribPtr->begin(); i != _attribPtr->end(); ++i)
634 outstr << DistiAttribDict::SpacingString()
635 << i->first <<
" " << i->second << std::endl;
639 DistiAttribDict::SpacingDec();
640 outstr << DistiAttribDict::SpacingString() <<
"}\n";
647 instr.ignore(INT_MAX,
'{');
651 std::stringstream fontStream;
652 instr.get(*fontStream.rdbuf(),
'}');
656 while (fontStream.good())
660 std::stringstream::char_type c;
667 c = fontStream.get();
668 }
while (fontStream.good() && isspace(c));
670 if (fontStream.good())
672 fontStream.putback(c);
674 #if _WIN32 && _MSC_VER < 1300 // if _MSC_VER < vc70
676 Map_t::referent_type value;
678 typename Map_t::key_type key;
679 typename Map_t::mapped_type value;
682 fontStream >> key >> value;
683 (*_attribPtr)[key] = value;
702 unsigned int *_numVertices;
703 unsigned int _numElements;
705 bool _compatabilityMode;
707 void SetCompatabilityMode(
bool mode) { _compatabilityMode = mode; }
711 _attribPtr(attribPtr),
712 _numVertices(numVertices),
716 _compatabilityMode =
true;
721 _attribPtr(
new Tptr(attribPtr) ),
723 _numElements(numElements),
726 _compatabilityMode =
true;
732 if ((_fixedArray || _localStorage) &&
740 return (*_attribPtr != NULL);
745 if (*_attribPtr != NULL)
747 unsigned int numVerts = _numElements;
750 outstr << *_numVertices;
751 numVerts = *_numVertices;
753 DistiAttribDict::SpacingInc();
754 for (
unsigned int i = 0 ; i < numVerts; i++ )
757 outstr << (*_attribPtr)[i];
759 DistiAttribDict::SpacingDec();
766 unsigned int numVerts = _numElements;
771 *_numVertices = numVerts;
774 if (*_attribPtr != NULL)
775 delete [] *_attribPtr;
779 *_attribPtr =
new T[numVerts];
784 if (!_compatabilityMode)
788 instr.getline(buf,1024);
791 for (
unsigned int i = 0 ; i < numVerts; i++ )
793 if (!_compatabilityMode)
796 instr.getline(buf,1024);
800 sscanf(buf,
"%f %f %f",
801 &((*_attribPtr)[i].x),
802 &((*_attribPtr)[i].y),
803 &((*_attribPtr)[i].z));
810 instr >> (*_attribPtr)[i];
822 return DistiAttributeBase::operator==( rArg );
825 if (!(_name == r->
_name) || _numElements != r->_numElements )
828 for(
unsigned int i = 0u; i < _numElements; ++i )
830 T leftVert = (*_attribPtr)[i];
831 T rightVert = (*r->_attribPtr)[i];
849 unsigned int *_numVertices;
850 unsigned int _numElements;
852 bool _compatabilityMode;
854 void SetCompatabilityMode(
bool mode) { _compatabilityMode = mode; }
858 _attribPtr(attribPtr),
859 _numVertices(numVertices),
863 _compatabilityMode =
true;
868 _attribPtr(
new Tptr(attribPtr) ),
870 _numElements(numElements),
873 _compatabilityMode =
true;
879 if ((_fixedArray || _localStorage) &&
887 return (*_attribPtr != NULL);
892 if (*_attribPtr != NULL)
894 unsigned int numVerts = _numElements;
897 outstr << *_numVertices;
898 numVerts = *_numVertices;
900 DistiAttribDict::SpacingInc();
901 for (
unsigned int i = 0 ; i < numVerts; i++ )
904 outstr << (*_attribPtr)[i];
906 DistiAttribDict::SpacingDec();
913 unsigned int numVerts = _numElements;
918 *_numVertices = numVerts;
921 if (*_attribPtr != NULL)
922 delete [] *_attribPtr;
925 *_attribPtr =
new Vertex[numVerts];
928 if (!_compatabilityMode)
932 instr.getline(buf,1024);
935 for (
unsigned int i = 0 ; i < numVerts; i++ )
937 if (!_compatabilityMode)
940 instr.getline(buf,1024);
945 sscanf(buf,
"%f %f %f %d %d %d %d",
946 &((*_attribPtr)[i].x),
947 &((*_attribPtr)[i].y),
948 &((*_attribPtr)[i].z),
954 (*_attribPtr)[i].color.RGBA((
unsigned char)r,(
unsigned char)g,(
unsigned char)b,(
unsigned char)a);
958 instr >> (*_attribPtr)[i];
970 return DistiAttributeBase::operator==( rArg );
973 if (!(_name == r->
_name) || _numElements != r->_numElements )
976 for(
unsigned int i = 0u; i < _numElements; ++i )
978 Vertex leftVert = (*_attribPtr)[i];
979 Vertex rightVert = (*r->_attribPtr)[i];
1004 unsigned int numVerts = _numElements;
1006 for (
unsigned int i = 0 ; i < numVerts; i++ )
1008 outstr << std::endl;
1009 outstr << (*_attribPtr)[i];
1016 unsigned int numVerts = _numElements;
1018 for (
unsigned int i = 0 ; i < numVerts; i++ )
1026 std::getline(instr, line);
1028 if (i == 0 && line.length()==0)
1029 std::getline(instr, line);
1031 std::stringstream strm(line);
1032 strm >> (*_attribPtr)[i];
1069 _originalAttribName(originalName),
1075 virtual DISTI_EXPORT
bool OkToWrite()
const DISTI_METHOD_OVERRIDE;
1078 virtual DISTI_EXPORT
bool ValueChanged() DISTI_METHOD_OVERRIDE;
1081 virtual DISTI_EXPORT
void ResetValueChanged() DISTI_METHOD_OVERRIDE;
1084 virtual DISTI_EXPORT std::string ValueString() DISTI_METHOD_OVERRIDE;
1087 virtual DISTI_EXPORT
void ValueString(
const std::string& s) DISTI_METHOD_OVERRIDE;
1090 virtual DISTI_EXPORT
long ValueInt() DISTI_METHOD_OVERRIDE;
1093 virtual DISTI_EXPORT
void ValueInt(
long val) DISTI_METHOD_OVERRIDE;
1096 virtual DISTI_EXPORT
double ValueFloat() DISTI_METHOD_OVERRIDE;
1099 virtual DISTI_EXPORT
void ValueFloat(
double val) DISTI_METHOD_OVERRIDE;
1102 virtual DISTI_EXPORT std::ostream & WriteValue(std::ostream &outstr) DISTI_METHOD_OVERRIDE;
1105 virtual DISTI_EXPORT std::istream & ReadValue(std::istream &instr) DISTI_METHOD_OVERRIDE;
1108 virtual DISTI_EXPORT
bool operator==(
const DistiAttributeBase& r) DISTI_METHOD_OVERRIDE;
1113 virtual DISTI_EXPORT
void UnregisterObserver(
CallbackID id ) DISTI_METHOD_OVERRIDE;
1115 virtual DISTI_EXPORT
void NotifyObservers() DISTI_METHOD_OVERRIDE;
1126 template <
class T,
bool showIndex >
1134 _attribPtr(attribPtr)
1140 _attribPtr(
new T() )
1152 return ( _attribPtr != NULL &&
1153 _attribPtr->Size());
1158 if (_attribPtr != NULL)
1160 int numEntries = _attribPtr->Count();
1161 outstr << numEntries;
1163 DistiAttribDict::SpacingInc();
1165 for (
int i = 0 ; i < numEntries; i++ )
1167 outstr << std::endl;
1171 outstr << DistiAttribDict::SpacingString() <<i<<
" ";
1174 outstr << DistiAttribDict::SpacingString() <<(*_attribPtr)[i]<<
" ";
1177 DistiAttribDict::SpacingDec();
1185 instr >> numEntries;
1187 _attribPtr->Count(numEntries);
1189 for (
int i = 0 ; i < numEntries; i++ )
1196 instr >> (*_attribPtr)[entry];
1209 template <
class T,
bool showIndex >
1221 _attribPtr(attribPtr)
1228 _attribPtr(
new T() )
1243 return ( _attribPtr != NULL && _attribPtr->size() );
1248 if (_attribPtr != NULL)
1250 int numEntries = _attribPtr->size();
1251 outstr << numEntries;
1253 DistiAttribDict::SpacingInc();
1255 for (
int i = 0 ; i < numEntries; i++ )
1257 outstr << std::endl;
1261 outstr << DistiAttribDict::SpacingString() <<i<<
" ";
1264 outstr << DistiAttribDict::SpacingString() <<(*_attribPtr)[i]<<
" ";
1267 DistiAttribDict::SpacingDec();
1275 if( _attribPtr != NULL )
1278 instr >> numEntries;
1280 _attribPtr->resize(numEntries);
1282 for (
int i = 0 ; i < numEntries; i++ )
1289 instr >> (*_attribPtr)[entry];
1306 typedef T* (*CreateItemCb)();
1310 CreateItemCb _createCb;
1327 DistiAttribDict::SpacingString() <<
"{\n";
1328 DistiAttribDict::SpacingInc();
1329 for (
unsigned int i = 0; i < _array->
Count(); i++)
1333 outstr << DistiAttribDict::SpacingString();
1335 ((*_array)[i])->WriteValue(outstr);
1339 DistiAttribDict::SpacingDec();
1340 outstr << DistiAttribDict::SpacingString() <<
"}\n";
1348 while (DistiAttribDict::ScanToken(instr, buf))
1358 T* temp =
dynamic_cast<T*
>(_createCb());
1362 (*_array)[_array->
Count()-1]->ReadValue(instr);
1381 template <
class containerT,
class T,
class SetArgT = const T&>
1386 typedef void (containerT::*SetMethodType)(SetArgT);
1387 typedef T (containerT::*GetMethodType)();
1388 typedef T (containerT::*GetMethodConstType)()
const;
1392 containerT* _container;
1393 SetMethodType _setMethod;
1394 GetMethodType _getMethod;
1398 _BaseClass(NULL,name,attribPtr),
1401 _setMethod(setMethod),
1402 _getMethod(getMethod)
1405 if (
typeid( T ) ==
typeid(
float ) ||
1406 typeid( T ) ==
typeid(
double )||
1407 typeid( T ) ==
typeid(
long double ))
1415 return (this->_attribPtr || _getMethod);
1420 virtual std::string
ValueString() DISTI_METHOD_OVERRIDE {
return DistiAttributeBase::ValueString(); }
1421 virtual void ValueString(
const std::string& s) DISTI_METHOD_OVERRIDE { DistiAttributeBase::ValueString( s ); }
1423 virtual long ValueInt() DISTI_METHOD_OVERRIDE {
return DistiAttributeBase::ValueInt(); }
1424 virtual void ValueInt(
long val) DISTI_METHOD_OVERRIDE { DistiAttributeBase::ValueInt( val ); }
1426 virtual double ValueFloat() DISTI_METHOD_OVERRIDE {
return DistiAttributeBase::ValueFloat(); }
1427 virtual void ValueFloat(
double val) DISTI_METHOD_OVERRIDE { DistiAttributeBase::ValueFloat( val ); }
1429 virtual std::ostream &
WriteValue(std::ostream &outstr) DISTI_METHOD_OVERRIDE
1433 outstr.precision(
int(_precision));
1435 if (_getMethod && _container)
1438 T* tempAttribPtr = this->_attribPtr;
1441 T temp( (_container->*_getMethod)() );
1444 this->_attribPtr = &temp;
1447 _BaseClass::WriteValue(outstr);
1450 this->_attribPtr = tempAttribPtr;
1452 else if (this->_attribPtr)
1454 _BaseClass::WriteValue(outstr);
1460 virtual std::istream &
ReadValue(std::istream &instr) DISTI_METHOD_OVERRIDE
1462 if (_setMethod && _container)
1465 T* tempAttribPtr = this->_attribPtr;
1469 this->_attribPtr = &temp;
1472 _BaseClass::ReadValue(instr);
1475 (_container->*_setMethod)( temp );
1477 this->_attribPtr = tempAttribPtr;
1479 else if (this->_attribPtr)
1481 _BaseClass::ReadValue(instr);
1489 if (_getMethod && _container)
1492 return (_container->*_getMethod)();
1495 else if (this->_attribPtr)
1497 return _BaseClass::Value();
1505 virtual void Value(
const T& val ) DISTI_METHOD_OVERRIDE
1507 if( _setMethod && _container )
1509 ( _container->*_setMethod )( val );
1511 else if( this->_attribPtr )
1513 _BaseClass::Value( val );
1530 template <
typename Type,
class Class>
1541 template <
typename Type,
class Class>
1553 template <
typename Type,
class Class>
1564 template <
typename Type,
class Class>
1574 template <
typename Type,
class Class>
1585 template <
typename Type,
class Class>
1624 template<
class enumType>
1628 enumType *_attribPtr;
1635 _attribPtr(attribPtr),
1642 _attribPtr(
new enumType(value)),
1649 if (_localStorage && _attribPtr)
1655 virtual void ValueInt(
long val) { *_attribPtr = (enumType)val; };
1662 *_attribPtr = (enumType)*(ptr->_attribPtr);
1667 return DistiAttributeBase::operator = (oldClass);
1673 bool foundIt =
false;
1675 typename DistiAttributeEnumDefList::iterator item = _pairList->begin();
1676 while (item != _pairList->end())
1678 if ((*item)->_enum == *_attribPtr)
1680 outstr << (*item)->_string;
1689 outstr << (int)*_attribPtr;
1701 bool foundIt =
false;
1702 typename DistiAttributeEnumDefList::iterator item = _pairList->begin();
1705 while (item != _pairList->end())
1707 if (strcmp((*item)->_string, value) == 0)
1709 *_attribPtr = (enumType)(*item)->_enum;
1721 *_attribPtr = (enumType) atoi(value);
1750 #define DISTI_REGISTER_METHOD_CALLBACK( instance, Class, Method ) \
1752 typedef CallbackMethodCallerTemplate< Class, Class > Caller; \
1753 typedef typename Caller::MethodType1 MethodType; \
1754 const MethodType callback = reinterpret_cast<MethodType>( Method ); \
1755 ThisClass::CallbackCaller( new Caller( callback, instance ) ); \
1765 #define DISTI_SET_OBJECT_CALLBACK1( object, method, parent ) \
1766 (object)->CallbackCaller( \
1767 new CallbackMethodCallerTemplate< DisplayObject, DisplayObject >( \
1768 ( disti::CallbackMethodCallerTemplate<DisplayObject, DisplayObject>::MethodType1 ) \
1769 (method), (parent) ) );
1780 #define DISTI_ADD_ATTRIBUTE( Type, name, memberVarAddr ) \
1782 static const AttributeName attr( name ); \
1783 CallbackAttributeNotifier< ThisClass > cb( this, attr ); \
1784 this->Attributes().Add( new DistiAttribute<Type>(&cb, (attr), (memberVarAddr) ) ); \
1799 #define DISTI_ADD_ATTRIBUTE_CALLBACK( Type, name, memberVarAddr, callbackFunction ) \
1801 typedef void (ThisClass::*Method)(); \
1802 static const AttributeName attr( name ); \
1803 CallbackAttributeNotifier< ThisClass > cb( this, attr, reinterpret_cast<Method>( callbackFunction ) ); \
1804 this->Attributes().Add( new DistiAttribute<Type>( &cb, (attr), (memberVarAddr) ) ); \
1817 #define DISTI_ADD_ATTRIBUTE_SET_GET( Type, name, setter, getter) \
1819 static const AttributeName attr( name ); \
1820 this->Attributes().Add( CreateDistiAttributeProperty<Type>( attr, this, setter, getter ) ); \
1830 #define DISTI_ADD_ATTRIBUTE_STRING( name, memberVarAddr ) \
1832 static const AttributeName attr( name ); \
1833 CallbackAttributeNotifier< ThisClass > cb( this, attr ); \
1834 this->Attributes().Add( new DistiAttributeEncodedStdString( &cb, attr, memberVarAddr ) ); \
1846 #define DISTI_ADD_ATTRIBUTE_STRING_CALLBACK( name, memberVarAddr, callbackFunction ) \
1848 typedef void (ThisClass::*Method)(); \
1849 static const AttributeName attr( name ); \
1850 CallbackAttributeNotifier< ThisClass > cb( this, attr, reinterpret_cast<Method>( callbackFunction ) ); \
1851 this->Attributes().Add( new DistiAttributeEncodedStdString( &cb, attr, memberVarAddr ) ); \
Definition: display_types.h:76
Definition: gls_metadata_attributes.h:215
Definition: gls_metadata_attributes.h:545
Definition: gls_metadata_attributes.h:231
Definition: display_types.h:101
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1324
Definition: display_types.h:74
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1182
Definition: gls_metadata_attributes.h:1599
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:743
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1002
The disti::Material class.
Definition: gls_metadata_attributes.h:524
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:764
Definition: gls_metadata_attributes.h:254
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:890
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1014
DistiAttributeProperty< Class, Type, const Type & > * CreateDistiAttributeProperty(const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Type, const Type & >::SetMethodType setMethod, const typename DistiAttributeProperty< Class, Type, const Type & >::GetMethodConstType getMethod)
Definition: gls_metadata_attributes.h:1586
The disti::DynamicArray class. A templated array of objects capable of dynamically growing...
Definition: gls_metadata_attributes.h:1210
Definition: gls_metadata_attributes.h:198
Definition: gls_metadata_attributes.h:428
Definition: gls_metadata_attributes.h:353
Definition: display_types.h:153
Definition: gls_metadata_attributes.h:472
Definition: gls_metadata_attributes.h:593
virtual long ValueInt()
Definition: gls_metadata_attributes.h:1654
Definition: display_types.h:151
Definition: display_types.h:92
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:619
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1150
Definition: display_types.h:104
Definition: gls_metadata_attributes.h:1625
Definition: display_types.h:93
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: disti_metadata.h:584
virtual bool operator==(const DistiAttributeBase &rArg)
Definition: gls_metadata_attributes.h:965
virtual T Value()
Definition: gls_metadata_attributes.h:1487
Definition: gls_metadata_attributes.h:993
virtual std::istream & ReadValue(std::istream &instr)
Definition: disti_metadata.h:598
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:624
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1273
Definition: display_types.h:103
virtual std::string ValueString()
Definition: gls_metadata_attributes.h:1420
void InsertObject(const T &obj, unsigned int loc)
Definition: dynamic_array.h:231
Definition: display_types.h:111
A file for all GL Studio files to include.
Definition: display_types.h:64
Definition: display_types.h:117
The disti::DisplayObject class and global enumerations.
Definition: gls_metadata_attributes.h:844
virtual void ValueString(const std::string &s)
Definition: gls_metadata_attributes.h:1421
unsigned int CallbackID
Type for unique identifiers.
Definition: disti_metadata.h:334
Definition: display_types.h:91
Definition: gls_metadata_attributes.h:1127
Definition: gls_metadata_attributes.h:1303
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1343
Definition: gls_metadata_attributes.h:281
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:394
Definition: gls_metadata_attributes.h:1064
Definition: display_types.h:102
Definition: disti_metadata.h:902
Definition: display_types.h:124
virtual void ValueInt(long val)
Definition: gls_metadata_attributes.h:1655
The List_c class. Generic linked list.
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1608
void Count(const unsigned int count)
Definition: dynamic_array.h:120
virtual void Add(DistiAttributeBase *attr)
Definition: display_types.h:152
Definition: display_types.h:65
Definition: display_types.h:63
Definition: gls_metadata_attributes.h:1045
Definition: disti_metadata.h:481
The disti::Vertex class. A class for manipulating 3D vertices.
Generally useful defines, macros, enumerations and function prototypes.
Definition: gls_metadata_attributes.h:1382
Definition: gls_metadata_attributes.h:398
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1671
Definition: disti_metadata.h:179
virtual long ValueInt()
Definition: disti_metadata.h:539
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1429
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:911
Definition: disti_metadata.h:162
Definition: display_types.h:62
Definition: gls_metadata_attributes.h:446
virtual double ValueFloat()
Definition: gls_metadata_attributes.h:1426
Definition: disti_metadata.h:676
Definition: disti_metadata.h:890
Definition: callback_caller_base.h:56
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1322
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1613
Definition: display_types.h:95
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1460
bool Equal(T1 x, T2 y, float precision=0.001f)
Definition: util.h:231
Definition: display_types.h:72
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1156
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1413
Definition: display_types.h:150
Definition: gls_metadata_attributes.h:556
AttributeName _name
Definition: disti_metadata.h:185
virtual long ValueInt()
Definition: gls_metadata_attributes.h:1423
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:885
Definition: display_types.h:118
virtual void ValueFloat(double val)
Definition: gls_metadata_attributes.h:1427
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:645
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1246
Definition: display_types.h:94
Definition: gls_metadata_attributes.h:511
Definition: gls_metadata_attributes.h:697
Definition: display_types.h:75
Definition: display_types.h:71
virtual void Value(const T &val)
Definition: gls_metadata_attributes.h:1505
Definition: display_types.h:73
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1057
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1695
Definition: gls_metadata_attributes.h:571
Definition: gls_metadata_attributes.h:370
Definition: gls_metadata_attributes.h:492
Definition: display_types.h:154
Definition: gls_metadata_attributes.h:307
Definition: disti_metadata.h:83
Definition: display_types.h:126
Definition: display_types.h:125
Definition: gls_metadata_attributes.h:330
unsigned int Size() const
Definition: dynamic_array.h:138
Definition: bmpimage.h:46
Definition: display_types.h:149
virtual void ValueInt(long val)
Definition: gls_metadata_attributes.h:1424
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1241
virtual bool operator==(const DistiAttributeBase &rArg)
Definition: gls_metadata_attributes.h:817
Definition: display_types.h:110
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:738