68 lines
3.0 KiB
C++
68 lines
3.0 KiB
C++
/***********************************************************************************************************************
|
|
*
|
|
* 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 <iostream>
|
|
|
|
#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__
|