25#ifndef _EXTRVISMETAFILESTREAM_INCLUDED_
26#define _EXTRVISMETAFILESTREAM_INCLUDED_
30#include "MetafileStreamBase.h"
36#define OD_TRVIS_ENABLEFLOATCONVERSION
38#ifdef OD_TRVIS_ENABLEFLOATCONVERSION
44void od_dbl2float(
float *pFloats,
const double *pDoubles,
size_t numData);
283 template <
typename ArrayType>
359 static const struct ReallocLogic
361 ReallocLogic(
OdInt32 nGrowOption = 0)
362 : m_nGrowOption(nGrowOption) { }
459template <
typename UInt64Type>
622 for (
OdUInt32 nArray = 0; nArray < nArrays; nArray++)
632 OdFlatMetafileContainer::exchangeData(pCont);
639 OdFlatMetafileContainer *
clone(
const Gap *pGaps = NULL)
const
713#define OD_OGL_RDR_SEEKFWD(pMemPtr, uSize) (pMemPtr) += (uSize)
714#define OD_OGL_RDR_SEEKBWD(pMemPtr, uSize) (pMemPtr) -= (uSize)
715#define OD_OGL_RDR_SEEKINC(pMemPtr) (pMemPtr)++
716#define OD_OGL_RDR_SEEKDEC(pMemPtr) (pMemPtr)--
718#define OD_OGL_RDR_READVAL(cType, pMemPtr) *(cType*)(pMemPtr)
719#define OD_OGL_RDR_READVALOFFSET(cType, pMemPtr, uOffset) *(cType*)((pMemPtr) + (uOffset))
720#define OD_OGL_RDR_READVALRETYPE(cOutType, cInType, pMemPtr) (cOutType)OD_OGL_RDR_READVAL(cInType, pMemPtr)
721#define OD_OGL_RDR_READVALOFFSETRETYPE(cOutType, cInType, pMemPtr, uOffset) (cOutType)OD_OGL_RDR_READVALOFFSET(cInType, pMemPtr, uOffset)
722#define OD_OGL_RDR_GETPTRNATIVE(cType, pMemPtr) (cType*)(pMemPtr)
723#define OD_OGL_RDR_GETPTRNATIVEOFFSET(cType, pMemPtr, uSize) (cType*)((pMemPtr) + (uSize))
724#define OD_OGL_RDR_GETPTRSTORAGE(imedType, name, count)
725#define OD_OGL_RDR_GETPTR(cType, imedType, name, count, pMemPtr) OD_OGL_RDR_GETPTRNATIVE(cType, pMemPtr)
726#define OD_OGL_RDR_GETPTROFFSET(cType, imedType, name, count, pMemPtr, uSize) OD_OGL_RDR_GETPTRNATIVEOFFSET(cType, pMemPtr, uSize)
728#define OD_OGL_RDR_INITIATE(pMemPtr, uSize) const OdUInt8 *pMemPtrReadFor = (const OdUInt8*)pMemPtr + uSize
729#define OD_OGL_RDR_CHECKEOF(pMemPtr) pMemPtr < pMemPtrReadFor
OdArray< float, OdMemoryAllocator< float > > OdFloatArray
bool OdEqual(double x, double y, double tol=1.e-10)
bool OdNonZero(double x, double tol=1.e-10)
#define GETBIT(flags, bit)
#define OD_CONSTEXPR_FUNC
const OdTrVisId kTrVisNullId
size_type pageSize() const
OD_TYPENAME ArrayType::value_type * init(const ArrayType &arry, size_type nPos=0)
int setDivisor(int divisor) const
void setArray_hfl(Type type, const float *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
void concatArray_hfl(const float *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void concatArray_int(const OdUInt16 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void concatArray_u8i(const OdInt32 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void save(OdGsFiler *pFiler) const
void setArray(Type type, const void *pPtr, OdUInt32 size, DataSize ds, const OdTrVisWrPageChain *pChain=nullptr)
void setArray_hfl(Type type, const double *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
OdUInt32 arraySize() const
void concatArray_hfl(const double *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void concatArray_hfl(const float *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
void setArray_u8i(Type type, const OdUInt16 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
void setArray_u8i(Type type, const OdInt32 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
void concatArray_flt(const double *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void concatArray_dbl(const OdUInt8 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
bool uniqueBindings() const
OD_FORCEINLINE void concatArray_ush(const OdInt32 *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void concatArray(const void *pPtr, OdUInt32 size, DataSize ds, const ReallocLogic &racLg=g_defaultReallocLogic)
void setArray_flt(Type type, const OdUInt8 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
OD_FORCEINLINE void concatArray_u8i(const OdUInt16 *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void concatArray_int(const OdUInt16 *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
static OD_CONSTEXPR_FUNC DataSize dataSizeEst(size_t dataSize)
OD_FORCEINLINE void concatArray_u8c(const float *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void concatArray_flt(const OdUInt8 *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void concatArray_dbl(const float *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
DataSize dataSize() const
OD_FORCEINLINE void concatArray_hfl(const double *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
void setArray_dbl(Type type, const OdUInt8 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
OD_FORCEINLINE void concatArray_dbl(const OdUInt8 *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
void setArray_int(Type type, const OdUInt16 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
void concatArray_u8c(const float *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void concatArray_dbl(const float *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void setArray_flt(Type type, const double *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
static const struct OdTrVisArrayWrapper::ReallocLogic g_defaultReallocLogic
void concatArray(const void *pPtr, OdUInt32 size, DataSize ds, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void concatArray_u8i(const OdInt32 *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void concatArray(const void *pPtr, OdUInt32 size, size_t ds, const ReallocLogic &racLg=g_defaultReallocLogic)
void concatArray_u8i(const OdUInt16 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void concatArray_ush(const OdInt32 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void setArray_u8c(Type type, const float *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
bool asFloatsArray(OdFloatArray &result) const
void setArray_ush(Type type, const OdInt32 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
void truncateArray(OdUInt32 size, DataSize ds)
OD_FORCEINLINE void concatArray(const void *pPtr, OdUInt32 size, size_t ds, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
OD_FORCEINLINE void setArray(Type type, const void *pPtr, OdUInt32 size, size_t ds, const OdTrVisWrPageChain *pChain=nullptr)
void concatArray_flt(const OdUInt8 *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain, const ReallocLogic &racLg=g_defaultReallocLogic)
void load(OdGsFiler *pFiler)
void setArray_dbl(Type type, const float *pPtr, OdUInt32 size, const OdTrVisWrPageChain *pChain=nullptr)
OD_FORCEINLINE void concatArray_flt(const double *pPtr, OdUInt32 size, const ReallocLogic &racLg=g_defaultReallocLogic)
bool hasLineweight() const
static bool isPs(LwdType type)
union OdTrVisLwdSetting::@037000061037254153350016212020030252157125162255 m_val
OdTrVisLwdSetting(OdInt32 pix, LwdType typ=kPixels)
OdDb::LineWeight lwLineWeight() const
bool operator==(const OdTrVisLwdSetting &sec) const
OdTrVisLwdSetting(OdDb::LineWeight lw, LwdType typ=kDatabase)
bool operator!=(const OdTrVisLwdSetting &sec) const
void setDLineWeight(double dVal, LwdType typ=kPlotStyle)
OdTrVisLwdSetting(double dVal, LwdType typ=kPlotStyle)
OdInt32 pixLineWeight() const
void setLwLineWeight(OdDb::LineWeight lw, LwdType typ=kDatabase)
void setType(LwdType typ)
void setPixLineWeight(OdInt32 pix, LwdType typ=kPixels)
bool isForcedLineweight() const
double dLineWeight() const
void setCurLjsStyle(OdPs::LineJoinStyle curLjsStyle)
OdTrVisLwdStyle(bool bByDefault, OdPs::LineEndStyle lesStyle, OdPs::LineJoinStyle ljsStyle)
void setCurLesStyle(OdPs::LineEndStyle curLesStyle)
bool operator!=(const OdTrVisLwdStyle &sec) const
OdPs::LineEndStyle curLesStyle() const
void setCurStyleDef(bool bSet)
bool operator==(const OdTrVisLwdStyle &sec) const
void setCurUsesDef(bool bSet)
OdPs::LineJoinStyle curLjsStyle() const
OdTrVisMarkBase(UInt64Type nMark, OdUInt32 uFrom)
OdTrVisMarkBase(UInt64Type nMark)
OdTrVisMarkBase(EnPosInit, OdUInt32 uFrom)