/*********************************************************************************************************************** * * Copyright (c) 2010 - 2025 by Tech Soft 3D, Inc. * The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret * as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event * of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized * employees of Tech Soft 3D, Inc. is granted only under a written non-disclosure agreement, expressly prescribing the * scope and manner of such use. * ***********************************************************************************************************************/ #ifndef __A3DPRCDRAWINGPARSE_H__ #define __A3DPRCDRAWINGPARSE_H__ #include #define A3D_PARSE_ERROR 0x0200 #define A3D_PARSE_CONTINUE_EVEN_IF_ERROR 0x0400 #define A3D_PARSE_DRAWING_ACTIVE_SHEET 0x0800 //###################################################################################################################### #define CHECK_RET(function_call) {\ iRet = function_call; if(iRet != A3D_SUCCESS) { std::cout << "Error number=" << iRet << std::endl; return iRet; }\ } //###################################################################################################################### typedef A3DStatus (*A3DCallbackParsePreProcess) (A3DEntity* psEntity, A3DMiscCascadedAttributes const* pAttribute, A3DVoid* pGlobalData, A3DVoid** pFunctionData, A3DUns32 uiFctBehavior); // entity already parsed //###################################################################################################################### typedef A3DStatus (*A3DCallbackParsePostProcess) (A3DEntity* psEntity, A3DMiscCascadedAttributes const* pAttribute, A3DVoid* pGlobalData, A3DVoid* pFunctionData, A3DUns32 uiFctBehavior); // error int process //###################################################################################################################### typedef struct { A3DCallbackParsePreProcess m_pfPreProcess; A3DCallbackParsePostProcess m_pfPostProcess; } A3DCallbackParse; //###################################################################################################################### typedef struct { A3DUns16 m_usStructSize; /*!< Reserved; must be initialized using the \ref A3D_INITIALIZE_DATA macro. */ A3DDrawingModel* m_pDrawingModel; A3DUns32 m_uiParseBehavior; A3DVoid* m_pGlobalData; A3DCallbackParse m_pfSheet; A3DCallbackParse m_pfView; A3DCallbackParse m_pfBlockBasic; A3DCallbackParse m_pfBlockOperator; A3DCallbackParse m_pfEntity; } A3DParseDrawingModelData; //###################################################################################################################### A3DStatus A3DParseDrawingModel(A3DParseDrawingModelData const* const pParseData); #endif // __A3DPRCDRAWINGPARSE_H__