261 lines
15 KiB
C
261 lines
15 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 __A3DTESTERREAD_H__
|
|
#define __A3DTESTERREAD_H__
|
|
|
|
#include <stdlib.h>
|
|
|
|
#ifndef _MAX_PATH
|
|
# ifdef _MSC_VER
|
|
# define _MAX_PATH 260
|
|
# else
|
|
# define _MAX_PATH 4096
|
|
# endif
|
|
#endif
|
|
|
|
#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_MACCATALYST != 1 && (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
|
|
|
|
#if !defined(__ANDROID__) && !defined(APPLE_IOS)
|
|
//######################################################################################################################
|
|
void ShowUsage(MY_CHAR** ppcArgv);
|
|
|
|
//######################################################################################################################
|
|
bool ParseArgs(A3DInt32 iArgc, MY_CHAR** ppcArgv,
|
|
MY_CHAR(&acSrcFileName)[_MAX_PATH * 2],
|
|
MY_CHAR(&acDstFileName)[_MAX_PATH * 2],
|
|
MY_CHAR(&acLogFileName)[_MAX_PATH * 2],
|
|
unsigned& uPrc2xmlFlagArgs);
|
|
#endif // !defined(__ANDROID__) && !defined(APPLE_IOS)
|
|
|
|
//######################################################################################################################
|
|
A3DStatus ProcessFile(
|
|
A3DSDKHOOPSExchangeLoader& sHoopsExchangeLoader,
|
|
A3DImport& sImport,
|
|
const MY_CHAR* pcPRCFile,
|
|
const MY_CHAR* pcXMLFile,
|
|
bool bDumpPictures);
|
|
|
|
//######################################################################################################################
|
|
void setTextureDirectory(const MY_CHAR *texturePath); // use this to also output texture pictures files
|
|
|
|
//######################################################################################################################
|
|
void setAttributePtr(const A3DUTF8Char* pcAttribName, const A3DEntity* pElement, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
unsigned int getPRC2XMLID(const A3DEntity* pElement);
|
|
|
|
//######################################################################################################################
|
|
void setAttributePRC2XMLID(const A3DEntity* pElement, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traversePRC2XMLIDs(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DEntity** pp, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
void setDoubleAttribute(_TiXmlElement* psElement, const char* name, double val);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseDoubles(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DDouble* pd, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseUInts(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DUns32* pui, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseUChars(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DUns8* pui, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseBools(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DBool* pb, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traversePoint2d(const A3DUTF8Char* name, const A3DVector2dData& sData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traversePoint(const A3DUTF8Char* name, const A3DVector3dData& sData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traversePoints(const A3DUTF8Char* name, const A3DUns32 uiSize, const A3DVector3dData* pv, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseInterval(const A3DIntervalData* pData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseDomain(const A3DDomainData* pData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseBoundingBox(const A3DBoundingBoxData* pData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseParam(const A3DParameterizationData* pData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus 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);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseSource(const A3DEntity* pEntity, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseGlobal(const A3DGlobal* pGlobal, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseModel(const A3DAsmModelFile* pModelFile, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
int dumpRelationships(const A3DBIMData* pBimData, _TiXmlElement* model);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseFonts(_TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseCurve(const A3DCrvBase* pCrv, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseSurface(const A3DSurfBase* pSrf, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseSrfPlane(const A3DSurfPlane* pSrf, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseAnnotation(const A3DMkpAnnotationEntity* pAnnot, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkup(const A3DMkpMarkup* pMarkup, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseLeader(const A3DMkpLeader* pLeader, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseLinkedItem(const A3DMiscMarkupLinkedItem* pMkpLinkedItem, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseEntityReference(const A3DMiscEntityReference* pEntityReference, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseSingleWireBody(const A3DTopoSingleWireBody* pSingleWireBody, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseTopoContext(const A3DTopoContext* pContext, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseBodyContent(const A3DTopoBody* pBody, _TiXmlElement* setting,unsigned char &ucBehav);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseBrepData(const A3DTopoBrepData* pBrepData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseTessBase(const A3DTessBase* pTess, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseView(const A3DMkpView* pView, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseRepItem(const A3DRiRepresentationItem* pRepItem, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseCSys(const A3DRiCoordinateSystem* pCSys, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseTextureApplication(const A3DGraphTextureApplicationData& sData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseTextureDefinition(const A3DGraphTextureDefinitionData& sData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupTess(const A3DTessMarkup* pMarkupTess, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupDefinition(const A3DMkpMarkup* pMarkup, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupText(const A3DMarkupText* pA3DMarkup, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupRichText(const A3DMarkupRichText* pA3DMarkup, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupDatum(const A3DMarkupDatum* pA3DMarkup, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupTextProperties(const A3DMDTextProperties* pA3DTextProperties, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMarkupDimension(const A3DMarkupDimension* pMarkup, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseDrawing(const A3DDrawingModel * pDrawing, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMaterial(const A3DGraphMaterialData& sData, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseMaterialProperties(const A3DEntity* pEntity, _TiXmlElement* xmlfather);
|
|
|
|
//######################################################################################################################
|
|
A3DVoid traverseFeatureTree(const A3DFRMTree* pFeatFeatureTree, _TiXmlElement* xmlfather);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseToleranceSizeValue(const A3DMDToleranceSizeValue* pToleranceSizeValue, _TiXmlElement* setting);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traverseConstraint(const A3DAsmConstraint* pAsmConstraint, _TiXmlElement* xmlfather);
|
|
|
|
//######################################################################################################################
|
|
A3DStatus traversePublicationSet(const A3DAsmPublicationSet* pPublicationSet, _TiXmlElement* pXMLParent);
|
|
|
|
//######################################################################################################################
|
|
enum PRC2XMLFlagArgs
|
|
{
|
|
EMPTY=0x0,
|
|
DUMPPICTURES=0x1,
|
|
DUMPRELATIONSHIPS=0x2
|
|
};
|
|
|
|
#endif /* __A3DTESTERREAD_H__ */
|