25#ifndef ODTRRNDEXTERNALARRAYSMANAGER
26#define ODTRRNDEXTERNALARRAYSMANAGER
30#include "../TrVisMetafileStream.h"
70 for (
OdUInt32 nElem = 0; nElem < nElems; nElem++)
82 const size_t dataSize = size_t(
examTotalSize(pElem, nElems)) << dataTypeSize;
87 for (
OdUInt32 nArray = 0; nArray < nElems; nArray++)
89 curPtr += size_t(pElem[nArray].m_uSizeElems) << dataTypeSize;
104 size_t curPtr = wrapArray.
dataSize();
105 for (
OdUInt32 nArray = 0; nArray < nElems; nArray++)
107 curPtr += size_t(pElem[nArray].m_uSizeElems) << wrapArray.
dataSize();
130 return (bLock) ? wrapArray.
m_pData : NULL;
ALLOCDLL_EXPORT void * odrxRealloc(void *pMemBlock, size_t newSize, size_t oldSize)
ALLOCDLL_EXPORT void * odrxAlloc(size_t nBytes)
virtual void examRecreateArray(OdTrVisArrayWrapper &wrapArray, const ExamArrayEntry *pElem, OdUInt32 nElems) const =0
virtual void examExtendArray(OdTrVisArrayWrapper &wrapArray, const ExamArrayEntry *pElem, OdUInt32 nElems) const =0
virtual bool examSupportExtending() const
virtual const void * examAccessArray(const OdTrVisArrayWrapper &wrapArray, bool bLock=true) const =0
virtual void examInitializeArray(OdTrVisArrayWrapper &wrapArray, const ExamArrayEntry *pElem, OdUInt32 nElems, OdTrVisArrayWrapper::DataSize dataTypeSize) const =0
virtual void examTruncateArray(OdTrVisArrayWrapper &wrapArray, OdUInt32 uSizeElems) const =0
virtual bool examSupportAccess() const
virtual void examFreeArray(OdTrVisArrayWrapper &wrapArray) const =0
virtual void examFreeArray(OdTrVisArrayWrapper &wrapArray) const
virtual void examTruncateArray(OdTrVisArrayWrapper &wrapArray, OdUInt32 uSizeElems) const
static OdUInt32 examTotalSize(const ExamArrayEntry *pElem, OdUInt32 nElems)
virtual void examExtendArray(OdTrVisArrayWrapper &wrapArray, const ExamArrayEntry *pElem, OdUInt32 nElems) const
virtual void examInitializeArray(OdTrVisArrayWrapper &wrapArray, const ExamArrayEntry *pElem, OdUInt32 nElems, OdTrVisArrayWrapper::DataSize dataTypeSize) const
virtual void examRecreateArray(OdTrVisArrayWrapper &wrapArray, const ExamArrayEntry *pElem, OdUInt32 nElems) const
virtual const void * examAccessArray(const OdTrVisArrayWrapper &wrapArray, bool bLock=true) const
OdUInt32 arraySize() const
DataSize dataSize() const
void setArray(Type type, const void *pPtr, OdUInt32 size, DataSize ds)
void concatArray(const void *pPtr, OdUInt32 size, DataSize ds, const ReallocLogic &racLg=g_defaultReallocLogic)
void truncateArray(OdUInt32 size, DataSize ds)