/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// // // GlesBinaryServerImpl.h // #ifndef OG_GLES_BINARY_SERVER_IMPL_H_ #define OG_GLES_BINARY_SERVER_IMPL_H_ #include "CloudTools.h" #include "GlesServerBaseImpl.h" #include "UnivWriteFiler.h" /** */ class OdGlesBinaryServerImpl : public OdGlesServerBaseImpl { OdString m_sPathNameFormat; OdUInt64 m_limitToSplit; OutputState m_state; int m_indexNextFree; OdSharedPtr m_pFiler; OdArray m_stackPaths; //bool m_bSkipShaders, // m_useFakeDbStub, // m_bEncodeTextureHex; public: OdGlesBinaryServerImpl(const OdDbBaseDatabase *pDb = NULL); ~OdGlesBinaryServerImpl() override; void setOutput(OdStreamBuf * buf) override; // set output path name or format(if %d is present in path) bool setOutPathName(const OdString& sPathName, OdUInt64 limitToSplit = OdUInt64(), // if > OdUInt64() then willbe splited by next OnStateChanged int indexNextFree = 0) override; int flushOut() override; // return next free index bool wrPathKey(const char* pTagName); void ident(const char* pTag, const char* pText) override; void IncreaseNesting(const char* pLevelName) override; void DecreaseNesting(const char* pLevelName) override; void DropBoolean(const char* pTagName, bool data) override; //virtual void DropBooleanOpt(const char* pTagName, bool data) { if (data) DropBoolean(pTagName, data); } void DropUInt8(const char* pTagName, OdUInt8 data) override; void DropUInt16(const char* pTagName, OdUInt16 data) override; void DropUInt32(const char* pTagName, OdUInt32 data) override; void DropUInt64(const char* pTagName, OdUInt64 data) override; void DropInt16(const char* pTagName, OdInt16 data) override; void DropInt32(const char* pTagName, OdInt32 data) override; void DropChars(const char* pTagName, const char* pStr) override; void DropUInt8s(const char *pTagName, OdUInt32 nData, const OdUInt8 *pData) override; void DropUInt16s(const char *pTagName, OdUInt32 nData, const OdUInt16 *pData) override; void DropUInt32s(const char *pTagName, OdUInt32 nData, const OdUInt32 *pData) override; void DropFloats(const char *pTagName, OdUInt32 nData, const float *pData) override; void DropDoubles(const char *pTagName, OdUInt32 nData, const double *pData) override; void DropFloat(const char* pTagName, float data) override; void DropFloat2(const char* pTagName, float data1, float data2) override; void DropFloat3(const char* pTagName, float data1, float data2, float data3) override; void DropFloat4(const char* pTagName, float data1, float data2, float data3, float data4) override; void DropDouble(const char* pTagName, double data) override; void DropDouble2(const char* pTagName, double data1, double data2) override; void DropDouble3(const char* pTagName, double data1, double data2, double data3) override; void DropDouble4(const char* pTagName, double data1, double data2, double data3, double data4) override; void DropUInt8RGB(const char* pTagName, OdUInt8 data1, OdUInt8 data2, OdUInt8 data3, OdUInt8 data4) override; void DropMatrix(const char* pTagName, const OdGeMatrix3d& data) override; void DropBinaryStream(const char* pTagName, const OdUInt8* pData, OdUInt32 nData) override; void DropDbOwning(const char* pTagName, OdTrVisOwning owningId) override; void DropId(const char* pTagName, OdUInt64 data, OdTrVisUniqueID* = NULL, OdInt32 = -1) override; void OnStateChanged(OutputState newState) override; virtual bool UpdateClientDependentSectionOnly() const; }; #endif // OG_GLES_BINARY_SERVER_IMPL_H_