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 typename Map_t::key_type key;
675 typename Map_t::mapped_type value;
677 fontStream >> key >> value;
678 (*_attribPtr)[key] = value;
697 unsigned int *_numVertices;
698 unsigned int _numElements;
700 bool _compatabilityMode;
702 void SetCompatabilityMode(
bool mode) { _compatabilityMode = mode; }
706 _attribPtr(attribPtr),
707 _numVertices(numVertices),
711 _compatabilityMode =
true;
716 _attribPtr(
new Tptr(attribPtr) ),
718 _numElements(numElements),
721 _compatabilityMode =
true;
727 if ((_fixedArray || _localStorage) &&
735 return (*_attribPtr != NULL);
740 if (*_attribPtr != NULL)
742 unsigned int numVerts = _numElements;
745 outstr << *_numVertices;
746 numVerts = *_numVertices;
748 DistiAttribDict::SpacingInc();
749 for (
unsigned int i = 0 ; i < numVerts; i++ )
752 outstr << (*_attribPtr)[i];
754 DistiAttribDict::SpacingDec();
761 unsigned int numVerts = _numElements;
766 *_numVertices = numVerts;
769 if (*_attribPtr != NULL)
770 delete [] *_attribPtr;
774 *_attribPtr =
new T[numVerts];
779 if (!_compatabilityMode)
783 instr.getline(buf,1024);
786 for (
unsigned int i = 0 ; i < numVerts; i++ )
788 if (!_compatabilityMode)
791 instr.getline(buf,1024);
795 sscanf(buf,
"%f %f %f",
796 &((*_attribPtr)[i].x),
797 &((*_attribPtr)[i].y),
798 &((*_attribPtr)[i].z));
805 instr >> (*_attribPtr)[i];
817 return DistiAttributeBase::operator==( rArg );
820 if (!(_name == r->
_name) || _numElements != r->_numElements )
823 for(
unsigned int i = 0u; i < _numElements; ++i )
825 T leftVert = (*_attribPtr)[i];
826 T rightVert = (*r->_attribPtr)[i];
844 unsigned int *_numVertices;
845 unsigned int _numElements;
847 bool _compatabilityMode;
849 void SetCompatabilityMode(
bool mode) { _compatabilityMode = mode; }
853 _attribPtr(attribPtr),
854 _numVertices(numVertices),
858 _compatabilityMode =
true;
863 _attribPtr(
new Tptr(attribPtr) ),
865 _numElements(numElements),
868 _compatabilityMode =
true;
874 if ((_fixedArray || _localStorage) &&
882 return (*_attribPtr != NULL);
887 if (*_attribPtr != NULL)
889 unsigned int numVerts = _numElements;
892 outstr << *_numVertices;
893 numVerts = *_numVertices;
895 DistiAttribDict::SpacingInc();
896 for (
unsigned int i = 0 ; i < numVerts; i++ )
899 outstr << (*_attribPtr)[i];
901 DistiAttribDict::SpacingDec();
908 unsigned int numVerts = _numElements;
913 *_numVertices = numVerts;
916 if (*_attribPtr != NULL)
917 delete [] *_attribPtr;
920 *_attribPtr =
new Vertex[numVerts];
923 if (!_compatabilityMode)
927 instr.getline(buf,1024);
930 for (
unsigned int i = 0 ; i < numVerts; i++ )
932 if (!_compatabilityMode)
935 instr.getline(buf,1024);
940 sscanf(buf,
"%f %f %f %d %d %d %d",
941 &((*_attribPtr)[i].x),
942 &((*_attribPtr)[i].y),
943 &((*_attribPtr)[i].z),
949 (*_attribPtr)[i].color.RGBA((
unsigned char)r,(
unsigned char)g,(
unsigned char)b,(
unsigned char)a);
953 instr >> (*_attribPtr)[i];
965 return DistiAttributeBase::operator==( rArg );
968 if (!(_name == r->
_name) || _numElements != r->_numElements )
971 for(
unsigned int i = 0u; i < _numElements; ++i )
973 Vertex leftVert = (*_attribPtr)[i];
974 Vertex rightVert = (*r->_attribPtr)[i];
999 unsigned int numVerts = _numElements;
1001 for (
unsigned int i = 0 ; i < numVerts; i++ )
1003 outstr << std::endl;
1004 outstr << (*_attribPtr)[i];
1011 unsigned int numVerts = _numElements;
1013 for (
unsigned int i = 0 ; i < numVerts; i++ )
1021 std::getline(instr, line);
1023 if (i == 0 && line.length()==0)
1024 std::getline(instr, line);
1026 std::stringstream strm(line);
1027 strm >> (*_attribPtr)[i];
1064 _originalAttribName(originalName),
1100 DISTI_EXPORT CallbackID RegisterObserver(
AttributeObserver* callback ) DISTI_METHOD_OVERRIDE;
1102 DISTI_EXPORT
void UnregisterObserver( CallbackID
id ) DISTI_METHOD_OVERRIDE;
1104 DISTI_EXPORT
void NotifyObservers() DISTI_METHOD_OVERRIDE;
1115 template <class T,
bool showIndex >
1122 DistiAttributeBase(callback,name,
false),
1123 _attribPtr(attribPtr)
1128 DistiAttributeBase(callback,name,
true),
1129 _attribPtr(
new T() )
1141 return ( _attribPtr != NULL &&
1142 _attribPtr->Size());
1147 if (_attribPtr != NULL)
1149 int numEntries = _attribPtr->Count();
1150 outstr << numEntries;
1152 DistiAttribDict::SpacingInc();
1154 for (
int i = 0 ; i < numEntries; i++ )
1156 outstr << std::endl;
1160 outstr << DistiAttribDict::SpacingString() <<i<<
" ";
1163 outstr << DistiAttribDict::SpacingString() <<(*_attribPtr)[i]<<
" ";
1166 DistiAttribDict::SpacingDec();
1174 instr >> numEntries;
1176 _attribPtr->Count(numEntries);
1178 for (
int i = 0 ; i < numEntries; i++ )
1185 instr >> (*_attribPtr)[entry];
1198 template <
class T,
bool showIndex >
1210 _attribPtr(attribPtr)
1217 _attribPtr(
new T() )
1232 return ( _attribPtr != NULL && _attribPtr->size() );
1237 if (_attribPtr != NULL)
1239 int numEntries = _attribPtr->size();
1240 outstr << numEntries;
1242 DistiAttribDict::SpacingInc();
1244 for (
int i = 0 ; i < numEntries; i++ )
1246 outstr << std::endl;
1250 outstr << DistiAttribDict::SpacingString() <<i<<
" ";
1253 outstr << DistiAttribDict::SpacingString() <<(*_attribPtr)[i]<<
" ";
1256 DistiAttribDict::SpacingDec();
1264 if( _attribPtr != NULL )
1267 instr >> numEntries;
1269 _attribPtr->resize(numEntries);
1271 for (
int i = 0 ; i < numEntries; i++ )
1278 instr >> (*_attribPtr)[entry];
1295 typedef T* (*CreateItemCb)();
1299 CreateItemCb _createCb;
1316 DistiAttribDict::SpacingString() <<
"{\n";
1317 DistiAttribDict::SpacingInc();
1318 for (
unsigned int i = 0; i < _array->
Count(); i++)
1322 outstr << DistiAttribDict::SpacingString();
1324 ((*_array)[i])->WriteValue(outstr);
1328 DistiAttribDict::SpacingDec();
1329 outstr << DistiAttribDict::SpacingString() <<
"}\n";
1337 while (DistiAttribDict::ScanToken(instr, buf))
1347 T* temp =
dynamic_cast<T*
>(_createCb());
1351 (*_array)[_array->
Count()-1]->ReadValue(instr);
1370 template <
class containerT,
class T,
class SetArgT = const T&>
1375 typedef void (containerT::*SetMethodType)(SetArgT);
1376 typedef T (containerT::*GetMethodType)();
1377 typedef T (containerT::*GetMethodConstType)()
const;
1381 containerT* _container;
1382 SetMethodType _setMethod;
1383 GetMethodType _getMethod;
1387 _BaseClass(NULL,name,attribPtr),
1390 _setMethod(setMethod),
1391 _getMethod(getMethod)
1394 if (
typeid( T ) ==
typeid(
float ) ||
1395 typeid( T ) ==
typeid(
double )||
1396 typeid( T ) ==
typeid(
long double ))
1404 return (this->_attribPtr || _getMethod);
1409 virtual std::string
ValueString() DISTI_METHOD_OVERRIDE {
return DistiAttributeBase::ValueString(); }
1410 virtual void ValueString(
const std::string& s) DISTI_METHOD_OVERRIDE { DistiAttributeBase::ValueString( s ); }
1412 virtual long ValueInt() DISTI_METHOD_OVERRIDE {
return DistiAttributeBase::ValueInt(); }
1413 virtual void ValueInt(
long val) DISTI_METHOD_OVERRIDE { DistiAttributeBase::ValueInt( val ); }
1415 virtual double ValueFloat() DISTI_METHOD_OVERRIDE {
return DistiAttributeBase::ValueFloat(); }
1416 virtual void ValueFloat(
double val) DISTI_METHOD_OVERRIDE { DistiAttributeBase::ValueFloat( val ); }
1418 virtual std::ostream &
WriteValue(std::ostream &outstr) DISTI_METHOD_OVERRIDE
1422 outstr.precision(
int(_precision));
1424 if (_getMethod && _container)
1427 T* tempAttribPtr = this->_attribPtr;
1430 T temp( (_container->*_getMethod)() );
1433 this->_attribPtr = &temp;
1436 _BaseClass::WriteValue(outstr);
1439 this->_attribPtr = tempAttribPtr;
1441 else if (this->_attribPtr)
1443 _BaseClass::WriteValue(outstr);
1449 virtual std::istream &
ReadValue(std::istream &instr) DISTI_METHOD_OVERRIDE
1451 if (_setMethod && _container)
1454 T* tempAttribPtr = this->_attribPtr;
1458 this->_attribPtr = &temp;
1461 _BaseClass::ReadValue(instr);
1464 (_container->*_setMethod)( temp );
1466 this->_attribPtr = tempAttribPtr;
1468 else if (this->_attribPtr)
1470 _BaseClass::ReadValue(instr);
1478 if (_getMethod && _container)
1481 return (_container->*_getMethod)();
1484 else if (this->_attribPtr)
1486 return _BaseClass::Value();
1494 virtual void Value(
const T& val ) DISTI_METHOD_OVERRIDE
1496 if( _setMethod && _container )
1498 ( _container->*_setMethod )( val );
1500 else if( this->_attribPtr )
1502 _BaseClass::Value( val );
1519 template <
typename Type,
class Class>
1530 template <
typename Type,
class Class>
1542 template <
typename Type,
class Class>
1553 template <
typename Type,
class Class>
1563 template <
typename Type,
class Class>
1574 template <
typename Type,
class Class>
1613 template<
class enumType>
1617 enumType *_attribPtr;
1624 _attribPtr(attribPtr),
1631 _attribPtr(
new enumType(value)),
1638 if (_localStorage && _attribPtr)
1644 virtual void ValueInt(
long val) { *_attribPtr = (enumType)val; };
1651 *_attribPtr = (enumType)*(ptr->_attribPtr);
1656 return DistiAttributeBase::operator = (oldClass);
1662 bool foundIt =
false;
1664 typename DistiAttributeEnumDefList::iterator item = _pairList->begin();
1665 while (item != _pairList->end())
1667 if ((*item)->_enum == *_attribPtr)
1669 outstr << (*item)->_string;
1678 outstr << (int)*_attribPtr;
1690 bool foundIt =
false;
1691 typename DistiAttributeEnumDefList::iterator item = _pairList->begin();
1694 while (item != _pairList->end())
1696 if (strcmp((*item)->_string, value) == 0)
1698 *_attribPtr = (enumType)(*item)->_enum;
1710 *_attribPtr = (enumType) atoi(value);
1739 #define DISTI_REGISTER_METHOD_CALLBACK( instance, Class, Method ) \
1741 typedef CallbackMethodCallerTemplate< Class, Class > Caller; \
1742 typedef typename Caller::MethodType1 MethodType; \
1743 const MethodType callback = reinterpret_cast<MethodType>( Method ); \
1744 ThisClass::CallbackCaller( new Caller( callback, instance ) ); \
1754 #define DISTI_SET_OBJECT_CALLBACK1( object, method, parent ) \
1755 (object)->CallbackCaller( \
1756 new CallbackMethodCallerTemplate< DisplayObject, DisplayObject >( \
1757 ( disti::CallbackMethodCallerTemplate<DisplayObject, DisplayObject>::MethodType1 ) \
1758 (method), (parent) ) );
1769 #define DISTI_ADD_ATTRIBUTE( Type, name, memberVarAddr ) \
1771 static const AttributeName attr( name ); \
1772 CallbackAttributeNotifier< ThisClass > cb( this, attr ); \
1773 this->Attributes().Add( new DistiAttribute<Type>(&cb, (attr), (memberVarAddr) ) ); \
1788 #define DISTI_ADD_ATTRIBUTE_CALLBACK( Type, name, memberVarAddr, callbackFunction ) \
1790 typedef void (ThisClass::*Method)(); \
1791 static const AttributeName attr( name ); \
1792 CallbackAttributeNotifier< ThisClass > cb( this, attr, reinterpret_cast<Method>( callbackFunction ) ); \
1793 this->Attributes().Add( new DistiAttribute<Type>( &cb, (attr), (memberVarAddr) ) ); \
1806 #define DISTI_ADD_ATTRIBUTE_SET_GET( Type, name, setter, getter) \
1808 static const AttributeName attr( name ); \
1809 this->Attributes().Add( CreateDistiAttributeProperty<Type>( attr, this, setter, getter ) ); \
1819 #define DISTI_ADD_ATTRIBUTE_STRING( name, memberVarAddr ) \
1821 static const AttributeName attr( name ); \
1822 CallbackAttributeNotifier< ThisClass > cb( this, attr ); \
1823 this->Attributes().Add( new DistiAttributeEncodedStdString( &cb, attr, memberVarAddr ) ); \
1835 #define DISTI_ADD_ATTRIBUTE_STRING_CALLBACK( name, memberVarAddr, callbackFunction ) \
1837 typedef void (ThisClass::*Method)(); \
1838 static const AttributeName attr( name ); \
1839 CallbackAttributeNotifier< ThisClass > cb( this, attr, reinterpret_cast<Method>( callbackFunction ) ); \
1840 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:1313
Definition: display_types.h:74
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1171
Definition: gls_metadata_attributes.h:1588
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:738
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:997
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1084
The disti::Material class.
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1069
Definition: gls_metadata_attributes.h:524
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:759
Definition: gls_metadata_attributes.h:254
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:885
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1009
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:1575
The disti::DynamicArray class. A templated array of objects capable of dynamically growing...
Definition: gls_metadata_attributes.h:1199
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:1643
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:1097
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1139
Definition: display_types.h:104
Definition: gls_metadata_attributes.h:1614
Definition: display_types.h:93
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: disti_metadata.h:569
virtual bool operator==(const DistiAttributeBase &rArg)
Definition: gls_metadata_attributes.h:960
virtual T Value()
Definition: gls_metadata_attributes.h:1476
Definition: gls_metadata_attributes.h:988
virtual std::istream & ReadValue(std::istream &instr)
Definition: disti_metadata.h:583
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:1262
Definition: display_types.h:103
virtual std::string ValueString()
Definition: gls_metadata_attributes.h:1409
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:839
virtual void ValueString(const std::string &s)
Definition: gls_metadata_attributes.h:1410
Definition: display_types.h:91
Definition: gls_metadata_attributes.h:1116
Definition: gls_metadata_attributes.h:1292
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1332
Definition: gls_metadata_attributes.h:281
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:394
Definition: gls_metadata_attributes.h:1059
Definition: display_types.h:102
Definition: disti_metadata.h:881
Definition: display_types.h:124
virtual void ValueInt(long val)
Definition: gls_metadata_attributes.h:1644
The List_c class. Generic linked list.
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1597
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:1040
Definition: disti_metadata.h:466
The disti::Vertex class. A class for manipulating 3D vertices.
Generally useful defines, macros, enumerations and function prototypes.
Definition: gls_metadata_attributes.h:1371
Definition: gls_metadata_attributes.h:398
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1660
Definition: disti_metadata.h:179
virtual long ValueInt()
Definition: disti_metadata.h:524
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1418
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:906
Definition: disti_metadata.h:162
Definition: display_types.h:62
Definition: gls_metadata_attributes.h:446
virtual double ValueFloat()
Definition: gls_metadata_attributes.h:1415
Definition: disti_metadata.h:661
Definition: disti_metadata.h:869
Definition: callback_caller_base.h:56
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1311
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1602
Definition: display_types.h:95
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1449
bool Equal(T1 x, T2 y, float precision=0.001f)
Definition: util.h:239
Definition: display_types.h:72
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_metadata_attributes.h:1145
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1402
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:1412
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:880
Definition: display_types.h:118
virtual void ValueFloat(double val)
Definition: gls_metadata_attributes.h:1416
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:1235
Definition: display_types.h:94
Definition: gls_metadata_attributes.h:511
Definition: gls_metadata_attributes.h:692
Definition: display_types.h:75
Definition: display_types.h:71
virtual void Value(const T &val)
Definition: gls_metadata_attributes.h:1494
Definition: display_types.h:73
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1052
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_metadata_attributes.h:1684
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 std::istream & ReadValue(std::istream &instr)=0
virtual void ValueInt(long val)
Definition: gls_metadata_attributes.h:1413
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:1230
virtual bool operator==(const DistiAttributeBase &rArg)
Definition: gls_metadata_attributes.h:812
Definition: display_types.h:110
virtual std::ostream & WriteValue(std::ostream &outstr)=0
virtual bool OkToWrite() const
Definition: gls_metadata_attributes.h:733