20# pragma warning( disable : 4290 )
130 virtual void read(std::string& val);
134 virtual void read(
double& val);
137 virtual void read(
size_t& val );
171 virtual void read(
void* buf,
size_t len);
185 sObj = readObjectByRef();
187 *obj =
dynamic_cast<T*
>(sObj);
188 if (sObj != 0 && *obj == 0) {
191 T::getConstructClassId());
223 DEFAULT = TRY_BY_REFERENCE
246 virtual void getAttribute(
const char *name,
size_t& value);
268 template<
typename VECTOR_TYPE>
287 friend class StorageAgent;
323 void readCorrectNumBytes(T& val);
335 agx::UInt8 m_generationVersion, m_majorVersion, m_minorVersion, m_patchVersion;
339 size_t m_numBytesRead;
340 int m_numObjectsRead;
351 void readModificationData();
367 template <
typename T>
380 template <
typename T>
400 template <
typename T>
411 template <
typename T>
415#define DECLARE_INPUT_BASIC_TYPE(TYPE) \
416 AGXCORE_EXPORT inline agxStream::InputArchive& operator>>( InputArchive& in, InputVal<TYPE> val ) \
418 in.beginSection(val.m_name); \
419 in.read( val.m_obj ); \
420 in.endSection(val.m_name); \
423 inline InputVal<TYPE> in(const char *name, TYPE& obj) { return InputVal<TYPE>(name, obj); }
464 template <
typename T>
472 template <
typename T>
496 observerPtr = object;
Abstract base class for input/output storage of Serializable classes.
Class for listening to the restore of Serializable objects.
This class is an abstract base class for all classes that can be stored and retrieved from an Archive...
virtual const char * getClassName() const
Matrix class for rigid transformations (translation, rotation).
static AgXString format(const char *format,...)
C printf formatting of a string.
An event with three arguments.
Inheritance with partial specialization due to bug with ref_ptr containers.
Inheritance with partial specialization due to bug with ref_ptr containers.
Matrix class for affine transformations.
Representation of a name string.
Specialized type of matrices for holding symmetric positive definite matrices.
A UUID, or Universally unique identifier, is intended to uniquely identify information in a distribut...
A class holding 4 dimensional vectors and providing basic arithmetic.
Vector containing 'raw' data.
Smart pointer for observed objects, that automatically set pointers to them to null when they deleted...
Smart pointer for handling referenced counted objects.
This namespace contain classes for streaming classes into archives, ASCII, binary for storage (serial...
InputVal< T > in_val(const char *name, T &obj)
Create an object with a name and a reference to the object that should be restored.
void restoreObserverPtr(agxStream::InputArchive &in, const char *name, agx::observer_ptr< T > &observerPtr)
void restoreRefPtr(agxStream::InputArchive &in, const char *name, agx::ref_ptr< T > &refPtr)
InputRef< T > in(const char *name, T &obj)
Create an object with a name and a reference to the object that should be restored (usually a pointer...
bool AGXPHYSICS_EXPORT read(const std::string &filename, agxStream::SerializablePtrVector &readObjects)
Open and read serializable objects from a file on disk with previously stored objects.
agx::ref_ptr< InputArchive > InputArchiveRef
InputArchive & operator>>(InputArchive &in, InputVal< T > val)