Files
Hoops_Exchange/exchange/exchangesource/PRC2XML/PRC2XML.h
2025-12-15 22:06:49 +08:00

220 lines
13 KiB
C

/***********************************************************************************************************************
*
* Copyright (c) 2010 - 2022 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 __A3DTESTERREAD_H__
#define __A3DTESTERREAD_H__
#include <stdlib.h>
#ifdef WIN32
# pragma warning (disable:4090)
# define _CRT_SECURE_NO_DEPRECATE 1
# ifdef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
# undef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
# define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
# endif
#else
#define sprintf_s(buf, buf_size, ...) sprintf((buf), __VA_ARGS__)
#endif
#ifdef __APPLE__
# include "TargetConditionals.h"
# if TARGET_OS_IPHONE == 1 || TARGET_IPHONE_SIMULATOR == 1
# include "tinyxml.h"
# include "common.hpp"
# else
# include <tinyxml.h>
# include <A3DSDKIncludes.h>
# include "../common.hpp"
# endif
#elif defined(__ANDROID__)
# include <tinyxml.h>
# include "common.hpp"
#else
# include <tinyxml.h>
# include <A3DSDKIncludes.h>
# include "../common.hpp"
#endif
//######################################################################################################################
A3DStatus ProcessFile(
A3DSDKHOOPSExchangeLoader& sHoopsExchangeLoader,
A3DImport& sImport,
const MY_CHAR* pcPRCFile,
const MY_CHAR* pcXMLFile);
//######################################################################################################################
void _SetAttributePtr(_TiXmlElement* psElement, const A3DUTF8Char* pcAttribName, void* pValue);
//######################################################################################################################
void _SetDoubleAttribute(_TiXmlElement* psElement, const char* name, double val);
//######################################################################################################################
int traverseDoubles(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DDouble* pd, _TiXmlElement* setting);
//######################################################################################################################
int traverseUInts(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DUns32* pui, _TiXmlElement* setting);
//######################################################################################################################
int traverseUChars(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DUns8* pui, _TiXmlElement* setting);
//######################################################################################################################
int traverseBools(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DBool* pb, _TiXmlElement* setting);
//######################################################################################################################
int traverseVoids(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DVoid** pp, _TiXmlElement* setting);
//######################################################################################################################
int traversePoint2d(const A3DUTF8Char* name, const A3DVector2dData& sData, _TiXmlElement* setting);
//######################################################################################################################
int traversePoint(const A3DUTF8Char* name, const A3DVector3dData& sData, _TiXmlElement* setting);
//######################################################################################################################
int traversePoints(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DVector3dData* pv, _TiXmlElement* setting);
//######################################################################################################################
int traverseInterval(const A3DIntervalData* pData, _TiXmlElement* setting);
//######################################################################################################################
int traverseDomain(const A3DDomainData* pData, _TiXmlElement* setting);
//######################################################################################################################
int traverseBoundingBox(const A3DBoundingBoxData* pData, _TiXmlElement* setting);
//######################################################################################################################
int traverseParam(const A3DParameterizationData* pData, _TiXmlElement* setting);
//######################################################################################################################
int traverseUVParam(const A3DUVParameterizationData* pData, _TiXmlElement* setting);
//######################################################################################################################
A3DStatus traverseTransformation(const A3DMiscTransformation* pTrsf, _TiXmlElement *setting);
//######################################################################################################################
A3DStatus traverseCartesianTransformationData(const A3DMiscCartesianTransformationData& oTrsf, _TiXmlElement* setting);
//######################################################################################################################
A3DStatus traverseCartesianTransformation(const A3DMiscCartesianTransformation* pTransfo3d, _TiXmlElement* setting);
//######################################################################################################################
int traverseSource(const A3DEntity* pEntity, _TiXmlElement* setting);
//######################################################################################################################
int traverseGlobal(const A3DGlobal* pGlobal, _TiXmlElement* setting);
//######################################################################################################################
int traverseModel(const A3DAsmModelFile* pModelFile, _TiXmlElement* setting);
//######################################################################################################################
int dumpRelationships(const A3DBIMData* pBimData, _TiXmlElement* model);
//######################################################################################################################
int traverseFonts(_TiXmlElement* setting);
//######################################################################################################################
int traverseCurve(const A3DCrvBase* pCrv, _TiXmlElement* setting);
//######################################################################################################################
int traverseSurface(const A3DSurfBase* pSrf, _TiXmlElement* setting);
//######################################################################################################################
int traverseSrfPlane(const A3DSurfPlane* pSrf, _TiXmlElement* setting);
//######################################################################################################################
int traverseAnnotation(const A3DMkpAnnotationEntity* pAnnot, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkup(const A3DMkpMarkup* pMarkup, _TiXmlElement* setting);
//######################################################################################################################
int traverseLeader(const A3DMkpLeader* pLeader, _TiXmlElement* setting);
//######################################################################################################################
int traverseLinkedItem(const A3DMiscMarkupLinkedItem* pMkpLinkedItem, _TiXmlElement* setting);
//######################################################################################################################
int traverseEntityReference(const A3DMiscEntityReference* pEntityReference, _TiXmlElement* setting);
//######################################################################################################################
int traverseSingleWireBody(const A3DTopoSingleWireBody* pSingleWireBody, _TiXmlElement* setting);
//######################################################################################################################
int traverseTopoContext(const A3DTopoContext* pContext, _TiXmlElement* setting);
//######################################################################################################################
int traverseBodyContent(const A3DTopoBody* pBody, _TiXmlElement* setting,unsigned char &ucBehav);
//######################################################################################################################
int traverseBrepData(const A3DTopoBrepData* pBrepData, _TiXmlElement* setting);
//######################################################################################################################
int traverseTessBase(const A3DTessBase* pTess, _TiXmlElement* setting);
//######################################################################################################################
int traverseView(const A3DMkpView* pView, _TiXmlElement* setting);
//######################################################################################################################
int traverseRepItem(const A3DRiRepresentationItem* pRepItem, _TiXmlElement* setting);
//######################################################################################################################
int traverseCSys(const A3DRiCoordinateSystem* pCSys, _TiXmlElement* setting);
//######################################################################################################################
int traverseTextureApplication(const A3DGraphTextureApplicationData& sData, _TiXmlElement* setting);
//######################################################################################################################
int traverseTextureDefinition(const A3DGraphTextureDefinitionData& sData, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupTess(const A3DTessMarkup* pMarkupTess, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupDefinition(const A3DMkpMarkup* pMarkup, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupText(const A3DMarkupText* pA3DMarkup, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupRichText(const A3DMarkupRichText* pA3DMarkup, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupDatum(const A3DMarkupDatum* pA3DMarkup, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupTextProperties(const A3DMDTextProperties* pA3DTextProperties, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting);
//######################################################################################################################
int traverseMarkupDimension(const A3DMarkupDimension* pMarkup, _TiXmlElement* setting);
//######################################################################################################################
int traverseDrawing(const A3DDrawingModel * pDrawing, _TiXmlElement* setting);
//######################################################################################################################
int traverseMaterial(const A3DGraphMaterialData& sData, _TiXmlElement* setting);
//######################################################################################################################
int traverseMaterialProperties(const A3DEntity* pEntity, _TiXmlElement* xmlfather);
//######################################################################################################################
A3DVoid traverseFeatureTree(const A3DFRMTree* pFeatFeatureTree, _TiXmlElement* xmlfather);
//######################################################################################################################
int traverseToleranceSizeValue(const A3DMDToleranceSizeValue* pToleranceSizeValue, _TiXmlElement* setting);
//######################################################################################################################
int traverseConstraint(const A3DAsmConstraint* pAsmConstraint, _TiXmlElement* xmlfather);
#endif /* __A3DTESTERREAD_H__ */