From 8fb9ad437233d609087774aa49a2362609bca23e Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Tue, 5 May 2015 22:15:33 +0000 Subject: [PATCH] Include : - nuovi prototipi per EgtExecutor. --- EExDllMain.h | 1 + EGrDllMain.h | 1 + EInAPI.h | 20 +- EMkDllMain.h | 1 + EInConst.h => EXeConst.h | 6 +- EXeDllMain.h | 26 +++ EXeExecutor.h | 466 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 508 insertions(+), 13 deletions(-) rename EInConst.h => EXeConst.h (78%) create mode 100644 EXeDllMain.h create mode 100644 EXeExecutor.h diff --git a/EExDllMain.h b/EExDllMain.h index 122d030..e806d7f 100644 --- a/EExDllMain.h +++ b/EExDllMain.h @@ -26,6 +26,7 @@ class ILogger ; #endif //----------------------------------------------------------------------------- +// E' necessaria l'interfaccia in C per caricare queste funzioni dinamicamente extern "C" { // restituisce la versione della Dll EEX_EXPORT const char* GetEExVersion( void) ; diff --git a/EGrDllMain.h b/EGrDllMain.h index 8c233ce..1a234f3 100644 --- a/EGrDllMain.h +++ b/EGrDllMain.h @@ -25,6 +25,7 @@ class ILogger ; #endif //----------------------------------------------------------------------------- +// E' necessaria l'interfaccia in C per caricare queste funzioni dinamicamente extern "C" { // restituisce la versione della Dll EGR_EXPORT const char* GetEGrVersion( void) ; diff --git a/EInAPI.h b/EInAPI.h index 4e3a152..9d29a38 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -194,17 +194,17 @@ EIN_EXPORT int __stdcall EgtCreateSurfTmByTriangles( int nParentId, int nNumId, EIN_EXPORT int __stdcall EgtCreateSurfTmBySewing( int nParentId, int nNumId, const int nIds[], BOOL bErase) ; // GeomDB PartLayer -EIN_EXPORT int __stdcall EgtIsPart( int nPartId) ; -EIN_EXPORT int __stdcall EgtIsLayer( int nLayerId) ; +EIN_EXPORT BOOL __stdcall EgtIsPart( int nPartId) ; +EIN_EXPORT BOOL __stdcall EgtIsLayer( int nLayerId) ; EIN_EXPORT int __stdcall EgtGetCurrPart( void) ; EIN_EXPORT int __stdcall EgtGetCurrLayer( void) ; EIN_EXPORT BOOL __stdcall EgtSetCurrPartLayer( int nPartId, int nLayerId) ; EIN_EXPORT BOOL __stdcall EgtResetCurrPartLayer( void) ; -EIN_EXPORT int __stdcall EgtGetPartNbr( bool bOnlyVisible) ; -EIN_EXPORT int __stdcall EgtGetFirstPart( bool bOnlyVisible) ; -EIN_EXPORT int __stdcall EgtGetNextPart( int nId, bool bOnlyVisible) ; -EIN_EXPORT int __stdcall EgtGetFirstLayer( int nPartId, bool bOnlyVisible) ; -EIN_EXPORT int __stdcall EgtGetNextLayer( int nId, bool bOnlyVisible) ; +EIN_EXPORT int __stdcall EgtGetPartNbr( BOOL bOnlyVisible) ; +EIN_EXPORT int __stdcall EgtGetFirstPart( BOOL bOnlyVisible) ; +EIN_EXPORT int __stdcall EgtGetNextPart( int nId, BOOL bOnlyVisible) ; +EIN_EXPORT int __stdcall EgtGetFirstLayer( int nPartId, BOOL bOnlyVisible) ; +EIN_EXPORT int __stdcall EgtGetNextLayer( int nId, BOOL bOnlyVisible) ; EIN_EXPORT BOOL __stdcall EgtSelectPartObjs( int nPartId) ; EIN_EXPORT BOOL __stdcall EgtDeselectPartObjs( int nPartId) ; EIN_EXPORT BOOL __stdcall EgtSelectLayerObjs( int nLayerId) ; @@ -278,7 +278,7 @@ EIN_EXPORT BOOL __stdcall EgtRemoveInfo( int nId, const wchar_t* wsKey) ; // GeomDb Obj Selection EIN_EXPORT BOOL __stdcall EgtSelectObj( int nId) ; EIN_EXPORT BOOL __stdcall EgtDeselectObj( int nId) ; -EIN_EXPORT BOOL __stdcall EgtSelectAll( bool bOnlyIfVisible) ; +EIN_EXPORT BOOL __stdcall EgtSelectAll( BOOL bOnlyIfVisible) ; EIN_EXPORT BOOL __stdcall EgtDeselectAll( void) ; EIN_EXPORT BOOL __stdcall EgtSelectGroupObjs( int nGroupId) ; EIN_EXPORT BOOL __stdcall EgtDeselectGroupObjs( int nGroupId) ; @@ -347,7 +347,7 @@ EIN_EXPORT BOOL __stdcall EgtAtParamVector( int nId, double dU, int nSide, int n EIN_EXPORT BOOL __stdcall EgtFrame( int nId, int nRefId, double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ; EIN_EXPORT BOOL __stdcall EgtCurveLength( int nId, double* pdLen) ; -EIN_EXPORT BOOL __stdcall EgtCurveLengthAtPoint( int nId, double ptOn[3], double dExtend, double* pdLen) ; +EIN_EXPORT BOOL __stdcall EgtCurveLengthAtPoint( int nId, const double ptOn[3], double dExtend, double* pdLen) ; EIN_EXPORT BOOL __stdcall EgtCurveExtrusion( int nId, int nRefId, double vtExtr[3]) ; EIN_EXPORT BOOL __stdcall EgtCurveThickness( int nId, double* pdThick) ; EIN_EXPORT BOOL __stdcall EgtGetMinDistPointCurve( const double ptP[3], int nId, double* pdDist) ; @@ -402,7 +402,7 @@ EIN_EXPORT BOOL __stdcall EgtResetCurrMachGroup( void) ; EIN_EXPORT int __stdcall EgtGetCurrMachGroup( void) ; // Scene -EIN_EXPORT BOOL __stdcall EgtInitScene( HWND hWnd, int nDriver, int b2Buff, int nColorBits, int nDepthBits) ; +EIN_EXPORT BOOL __stdcall EgtInitScene( HWND hWnd, int nDriver, BOOL b2Buff, int nColorBits, int nDepthBits) ; EIN_EXPORT BOOL __stdcall EgtGetSceneInfo( wchar_t*& wsInfo) ; EIN_EXPORT BOOL __stdcall EgtSetBackground( const int nTopCol[4], const int nBottomCol[4], BOOL bRedraw) ; EIN_EXPORT BOOL __stdcall EgtSetMarkAttribs( const int MarkCol[4]) ; diff --git a/EMkDllMain.h b/EMkDllMain.h index 568e0d4..87f6ead 100644 --- a/EMkDllMain.h +++ b/EMkDllMain.h @@ -26,6 +26,7 @@ class ILogger ; #endif //----------------------------------------------------------------------------- +// E' necessaria l'interfaccia in C per caricare queste funzioni dinamicamente extern "C" { // restituisce la versione della Dll EMK_EXPORT const char* GetEMkVersion( void) ; diff --git a/EInConst.h b/EXeConst.h similarity index 78% rename from EInConst.h rename to EXeConst.h index f46876b..d39b188 100644 --- a/EInConst.h +++ b/EXeConst.h @@ -1,13 +1,13 @@ //---------------------------------------------------------------------------- // EgalTech 2014-2015 //---------------------------------------------------------------------------- -// File : EInConst.h Data : 16.01.15 Versione : 1.6a3 -// Contenuto : Costanti generali per EgtInterface. +// File : EXeConst.h Data : 05.05.15 Versione : 1.6e2 +// Contenuto : Costanti generali per EgtExecuter. // // // // Modifiche : 24.11.14 DS Creazione modulo. -// +// 05.05.15 DS Rinominato da EInConst.h. // //---------------------------------------------------------------------------- diff --git a/EXeDllMain.h b/EXeDllMain.h new file mode 100644 index 0000000..f5917ba --- /dev/null +++ b/EXeDllMain.h @@ -0,0 +1,26 @@ +//---------------------------------------------------------------------------- +// EgalTech 2015-2015 +//---------------------------------------------------------------------------- +// File : EXeDllMain.h Data : 04.05.15 Versione : 1.6e1 +// Contenuto : Prototipi funzioni generali della DLL. +// +// +// +// Modifiche : 04.05.15 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + + +//----------------------- Macro per import/export ---------------------------- +#undef EXE_EXPORT +#if defined( I_AM_EXE) // da definirsi solo nella DLL + #define EXE_EXPORT __declspec( dllexport) +#else + #define EXE_EXPORT __declspec( dllimport) +#endif + +//----------------------------------------------------------------------------- +EXE_EXPORT const char* GetEXeVersion( void) ; diff --git a/EXeExecutor.h b/EXeExecutor.h new file mode 100644 index 0000000..1620466 --- /dev/null +++ b/EXeExecutor.h @@ -0,0 +1,466 @@ +//---------------------------------------------------------------------------- +// EgalTech 2015-2015 +//---------------------------------------------------------------------------- +// File : EXcExecutor.h Data : 04.05.15 Versione : 1.6e1 +// Contenuto : Interfaccia Executor. +// +// +// +// Modifiche : 04.05.15 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkFrame3d.h" +#include "/EgtDev/Include/EGkColor.h" +#include "/EgtDev/Include/EGkPolyLine.h" +#include "/EgtDev/Include/EGkPolyArc.h" +#define NOMINMAX +#include + + +//----------------------- Macro per import/export ---------------------------- +#undef EXE_EXPORT +#if defined( I_AM_EXE) // da definirsi solo nella DLL + #define EXE_EXPORT __declspec( dllexport) +#else + #define EXE_EXPORT __declspec( dllimport) +#endif + +//----------------------------------------------------------------------------- +// General +EXE_EXPORT bool ExeInit( int nDebug, const std::string& sLogFile, const std::string& sLogMsg) ; +EXE_EXPORT bool ExeExit( void) ; +EXE_EXPORT bool ExeSetKey( const std::string& sKey) ; +EXE_EXPORT bool ExeSetFont( const std::string& sNfeFontDir, const std::string& sDefaultFont) ; +EXE_EXPORT bool ExeGetNfeFontDir( std::string& sNfeFontDir) ; +EXE_EXPORT bool ExeGetDefaultFont( std::string& sDefaultFont) ; +EXE_EXPORT bool ExeSetLuaLibs( const std::string& sLuaLibsDir) ; +EXE_EXPORT bool ExeSetCommandLogger( const std::string& sLogFile) ; +EXE_EXPORT void ExeEnableCommandLogger( void) ; +EXE_EXPORT void ExeDisableCommandLogger( void) ; +EXE_EXPORT bool ExeGetVersionInfo( std::string& sVer, const char* szNewLine) ; +EXE_EXPORT bool ExeGetOsInfo( std::string& sOs) ; +EXE_EXPORT bool ExeGetCpuInfo( std::string& sCpu) ; +EXE_EXPORT bool ExeGetMemoryInfo( std::string& sMem) ; + +// GeomDB +EXE_EXPORT int ExeInitGeomDB( void) ; +EXE_EXPORT bool ExeSetCurrentContext( int nGseCtx) ; +EXE_EXPORT bool ExeResetCurrentContext( void) ; +EXE_EXPORT int ExeGetCurrentContext( void) ; +EXE_EXPORT bool ExeSetDefaultMaterial( Color ColDef) ; +EXE_EXPORT bool ExeSetGridFrame( const Frame3d& frFrame) ; +EXE_EXPORT bool ExeGetGridFrame( int nRefId, Frame3d& frFrame) ; +EXE_EXPORT bool ExeGetGridVersZ( int nRefId, Vector3d& vtVersZ) ; +EXE_EXPORT bool ExeSetCurrFilePath( const std::string& sFilePath) ; +EXE_EXPORT bool ExeGetCurrFilePath( std::string& sFilePath) ; +EXE_EXPORT bool ExeEnableModified( void) ; +EXE_EXPORT bool ExeDisableModified( void) ; +EXE_EXPORT bool ExeSetModified( void) ; +EXE_EXPORT bool ExeResetModified( void) ; +EXE_EXPORT bool ExeGetModified( void) ; +EXE_EXPORT bool ExeNewFile( void) ; +EXE_EXPORT bool ExeOpenFile( const std::string& sFilePath) ; +EXE_EXPORT bool ExeInsertFile( const std::string& sFilePath) ; +EXE_EXPORT bool ExeSaveFile( const std::string& sFilePath, int nFlag) ; +EXE_EXPORT bool ExeSaveObjToFile( int nId, const std::string& sFilePath, int nFlag) ; + +// Exchange +EXE_EXPORT int ExeGetFileType( const std::string& sFilePath) ; +EXE_EXPORT bool ExeImportDxf( const std::string& sFilePath, double dScaleFactor) ; +EXE_EXPORT bool ExeImportStl( const std::string& sFilePath, double dScaleFactor) ; +EXE_EXPORT bool ExeImportCnc( const std::string& sFilePath) ; +EXE_EXPORT bool ExeExportDxf( int nId, const std::string& sFilePath) ; +EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath) ; + +// Tsc Executor +EXE_EXPORT bool ExeInitTscExec( void) ; +EXE_EXPORT bool ExeTscExecFile( const std::string& sFilePath) ; +EXE_EXPORT bool ExeTscExecLine( const std::string& sLine) ; + +// LUA Executor +EXE_EXPORT bool ExeLuaEvalNumExpr( const std::string& sExpr, double* pdVal) ; +EXE_EXPORT bool ExeLuaEvalStringExpr( const std::string& sExpr, std::string& sVal) ; +EXE_EXPORT bool ExeLuaExecLine( const std::string& sLine) ; +EXE_EXPORT bool ExeLuaExecFile( const std::string& sFilePath) ; +EXE_EXPORT bool ExeLuaRequire( const std::string& sFilePath) ; +EXE_EXPORT bool ExeLuaGetLastError( std::string& sError) ; + +// GeomDB Create +EXE_EXPORT int ExeCreateGroup( int nParentId, const Frame3d& frFrame, int nRefType) ; +EXE_EXPORT int ExeCreateGeoPoint( int nParentId, const Point3d& ptP, int nRefType) ; +EXE_EXPORT int ExeCreateGeoVector( int nParentId, const Vector3d& vtV, const Point3d& ptB, int nRefType) ; +EXE_EXPORT int ExeCreateGeoFrame( int nParentId, const Frame3d& frFrame, int nRefType) ; +EXE_EXPORT int ExeCreateText( int nParentId, const Point3d& ptP, double dAngRotDeg, + const std::string& sText, double dH, int nRefType) ; +EXE_EXPORT int ExeCreateTextEx( int nParentId, const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD, + const std::string& sText, const std::string& sFont, bool bItalic, double dH, int nRefType) ; +EXE_EXPORT int ExeCreateTextAdv( int nParentId, const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD, + const std::string& sText, const std::string& sFont, + int nW, bool bItalic, double dH, double dRat, double dAddAdv, int nInsPos, int nRefType) ; + +// GeomDB Create Curve +EXE_EXPORT int ExeCreateCurveLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ; +EXE_EXPORT int ExeCreateCurveLineEx( int nParentId, const Point3d& ptIni, int nSepI, int nIdI, + const Point3d& ptFin, int nSepF, int nIdF, int nRefType) ; +EXE_EXPORT int ExeCreateCurveLinePVL( int nParentId, const Point3d& ptIni, + const Vector3d& vtDir, double dLen, int nRefType) ; +EXE_EXPORT int ExeCreateCurveLineMinPointCurve( int nParentId, + const Point3d& ptStart, int nCrvId, double dNearPar, int nRefType) ; +EXE_EXPORT int ExeCreateCurveCircle( int nParentId, const Point3d& ptCen, + const Vector3d& vtN, double dRad, int nRefType) ; +EXE_EXPORT int ExeCreateCurveCircleCPN( int nParentId, const Point3d& ptCen, + const Point3d& ptOn, const Vector3d& vtN, int nRefType) ; +EXE_EXPORT int ExeCreateCurveCircleCPNEx( int nParentId, const Point3d& ptCen, + const Point3d& ptOn, int nSepO, int nIdO, const Vector3d& vtN, int nRefType) ; +EXE_EXPORT int ExeCreateCurveCircle3P( int nParentId, const Point3d& ptP1, + const Point3d& ptP2, const Point3d& ptP3, int nRefType) ; +EXE_EXPORT int ExeCreateCurveArc( int nParentId, const Point3d& ptCen, const Vector3d& vtN, double dRad, + const Vector3d& vtS, double dAngCenDeg, double dDeltaN, int nRefType) ; +EXE_EXPORT int ExeCreateCurveArcC2PN( int nParentId, const Point3d& ptCen, const Point3d& ptStart, + const Point3d& ptNearEnd, const Vector3d& vtNorm, int nRefType) ; +EXE_EXPORT int ExeCreateCurveArcC2PNEx( int nParentId, const Point3d& ptCen, + const Point3d& ptStart, int nSepS, int nIdS, + const Point3d& ptNearEnd, const Vector3d& vtNorm, int nRefType) ; +EXE_EXPORT int ExeCreateCurveArc3P( int nParentId, const Point3d& ptP1, + const Point3d& ptP2, const Point3d& ptP3, int nRefType) ; +EXE_EXPORT int ExeCreateCurveArc2PVN( int nParentId, const Point3d& ptStart, const Point3d& ptEnd, + const Vector3d& vtDirS, const Vector3d& vtNorm, int nRefType) ; +EXE_EXPORT int ExeCreateCurveArc2PVNEx( int nParentId, const Point3d& ptStart, + const Point3d& ptEnd, int nSep, int nId, + const Vector3d& vtDirS, const Vector3d& vtNorm, int nRefType) ; +EXE_EXPORT int ExeCreateCurveFillet( int nParentId, int nCrv1, const Point3d& ptNear1, + int nCrv2, const Point3d& ptNear2, + const Vector3d& vtNorm, double dRad, bool bTrim, int nRefType) ; +EXE_EXPORT int ExeCreateCurveChamfer( int nParentId, int nCrv1, const Point3d& ptNear1, + int nCrv2, const Point3d& ptNear2, + const Vector3d& vtNorm, double dDist, bool bTrim, int nRefType) ; +EXE_EXPORT int ExeCreateCurveBezier( int nParentId, int nDegree, const PNTVECTOR& vPnt, int nRefType) ; +EXE_EXPORT int ExeCreateCurveBezierRational( int nParentId, int nDegree, const PNTUVECTOR& vPntW, int nRefType) ; +EXE_EXPORT int ExeCreateCurveBezierFromArc( int nParentId, int nArcId, bool bErase) ; +EXE_EXPORT int ExeCreateCurveCompo( int nParentId, const INTVECTOR& vIds, bool bErase) ; +EXE_EXPORT int ExeCreateCurveCompoByChain( int nParentId, const INTVECTOR& vIds, + const Point3d& ptNear, bool bErase, int nRefType, int* pnCount) ; +EXE_EXPORT int ExeCreateCurveCompoFromPoints( int nParentId, const PolyLine& PL, int nRefType) ; +EXE_EXPORT int ExeCreateCurveCompoFromPointBulges( int nParentId, const PolyArc& PA, int nRefType) ; +EXE_EXPORT int ExeCreateCurveCompoByApprox( int nParentId, int nSouId, bool bArcsVsLines, double dLinTol) ; +EXE_EXPORT int ExeCreateRectangle3P( int nParentId, const Point3d& ptIni, + const Point3d& ptCross, const Point3d& ptDir, int nRefType) ; +EXE_EXPORT int ExeCreatePolygonFromRadius( int nParentId, int nNumSides, const Point3d& ptCen, + const Point3d& ptCorn, const Vector3d& vtN, int nRefType) ; +EXE_EXPORT int ExeCreatePolygonFromApothem( int nParentId, int nNumSides, const Point3d& ptCen, + const Point3d& ptMid, const Vector3d& vtN, int nRefType) ; +EXE_EXPORT int ExeCreatePolygonFromSide( int nParentId, int nNumSides, const Point3d& ptIni, + const Point3d& ptFin, const Vector3d& vtN, int nRefType) ; +// GeomDB Create Surf +EXE_EXPORT int ExeCreateSurfTmBBox( int nParentId, const BBox3d& b3Box, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmBox( int nParentId, const Point3d& ptIni, const Point3d& ptCross, + const Point3d& ptDir, double dHeight, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmPyramid( int nParentId, const Point3d& ptIni, const Point3d& ptCross, + const Point3d& ptDir, double dHeight, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmCylinder( int nParentId, const Point3d& ptOrig, const Vector3d& vtN, + double dRad, double dHeight, double dLinTol, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmCone( int nParentId, const Point3d& ptOrig, const Vector3d& vtN, + double dRad, double dHeight, double dLinTol, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmSphere( int nParentId, const Point3d& ptOrig, + double dRad, double dLinTol, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmByFlatContour( int nParentId, int nCrvId, double dLinTol) ; +EXE_EXPORT int ExeCreateSurfTmByRegion( int nParentId, INTVECTOR& vCrvIds, double dLinTol) ; +EXE_EXPORT int ExeCreateSurfTmByExtrusion( int nParentId, INTVECTOR& vCrvIds, const Vector3d& vtExtr, + double dLinTol, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmByRegionExtrusion( int nParentId, INTVECTOR& vCrvIds, const Vector3d& vtExtr, + double dLinTol, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmByRevolve( int nParentId, int nCrvId, + const Point3d& ptAx, const Vector3d& vtAx, + bool bCapEnds, double dLinTol, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmByScrewing( int nParentId, int nCrvId, + const Point3d& ptAx, const Vector3d& vtAx, + double dAngRotDeg, double dMove, double dLinTol, int nRefType) ; +EXE_EXPORT int ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, double dLinTol) ; +EXE_EXPORT int ExeCreateSurfTmByTriangles( int nParentId, const INTVECTOR& vIds, bool bErase) ; +EXE_EXPORT int ExeCreateSurfTmBySewing( int nParentId, const INTVECTOR& vIds, bool bErase) ; + +// GeomDB PartLayer +EXE_EXPORT bool ExeIsPart( int nPartId) ; +EXE_EXPORT bool ExeIsLayer( int nLayerId) ; +EXE_EXPORT int ExeGetCurrPart( void) ; +EXE_EXPORT int ExeGetCurrLayer( void) ; +EXE_EXPORT bool ExeSetCurrPartLayer( int nPartId, int nLayerId) ; +EXE_EXPORT bool ExeResetCurrPartLayer( void) ; +EXE_EXPORT int ExeGetPartNbr( bool bOnlyVisible) ; +EXE_EXPORT int ExeGetFirstPart( bool bOnlyVisible) ; +EXE_EXPORT int ExeGetNextPart( int nId, bool bOnlyVisible) ; +EXE_EXPORT int ExeGetFirstLayer( int nPartId, bool bOnlyVisible) ; +EXE_EXPORT int ExeGetNextLayer( int nId, bool bOnlyVisible) ; +EXE_EXPORT bool ExeSelectPartObjs( int nPartId) ; +EXE_EXPORT bool ExeDeselectPartObjs( int nPartId) ; +EXE_EXPORT bool ExeSelectLayerObjs( int nLayerId) ; +EXE_EXPORT bool ExeDeselectLayerObjs( int nLayerId) ; +EXE_EXPORT bool ExeSelectPathObjs( int nId, bool bHaltOnFork) ; + +// GeomDB Objects +EXE_EXPORT bool ExeExistsObj( int nId) ; +EXE_EXPORT int ExeGetParent( int nId) ; +EXE_EXPORT bool ExeGetGroupGlobFrame( int nId, Frame3d& frGlob) ; +EXE_EXPORT int ExeGetGroupObjs( int nId) ; +EXE_EXPORT int ExeGetFirstInGroup( int nGroupId) ; +EXE_EXPORT int ExeGetNext( int nId) ; +EXE_EXPORT int ExeGetLastInGroup( int nGroupId) ; +EXE_EXPORT int ExeGetPrev( int nId) ; +EXE_EXPORT int ExeGetFirstGroupInGroup( int nGroupId) ; +EXE_EXPORT int ExeGetNextGroup( int nId) ; +EXE_EXPORT int ExeGetLastGroupInGroup( int nGroupId) ; +EXE_EXPORT int ExeGetPrevGroup( int nId) ; +EXE_EXPORT int ExeGetFirstNameInGroup( int nGroupId, const std::string& sName) ; +EXE_EXPORT int ExeGetNextName( int nId, const std::string& sName) ; +EXE_EXPORT int ExeGetLastNameInGroup( int nGroupId, const std::string& sName) ; +EXE_EXPORT int ExeGetPrevName( int nId, const std::string& sName) ; +EXE_EXPORT bool ExeGetBBox( int nId, int nFlag, BBox3d& b3Box) ; +EXE_EXPORT bool ExeGetBBoxGlob( int nId, int nFlag, BBox3d& b3Box) ; +EXE_EXPORT bool ExeGetBBoxRef( int nId, int nFlag, const Frame3d& frRef, BBox3d& b3Box) ; +EXE_EXPORT int ExeCopy( int nSouId, int nRefId, int nSonBeforeAfter) ; +EXE_EXPORT int ExeCopyGlob( int nSouId, int nRefId, int nSonBeforeAfter) ; +EXE_EXPORT bool ExeRelocate( int nSouId, int nRefId, int nSonBeforeAfter) ; +EXE_EXPORT bool ExeRelocateGlob( int nSouId, int nRefId, int nSonBeforeAfter) ; +EXE_EXPORT bool ExeChangeId( int nId, int nNewId) ; +EXE_EXPORT bool ExeErase( const INTVECTOR& vIds) ; +EXE_EXPORT bool ExeEmptyGroup( int nId) ; +EXE_EXPORT int ExeGetType( int nId) ; +EXE_EXPORT bool ExeGetTitle( int nId, std::string& sTitle) ; +EXE_EXPORT bool ExeGroupDump( int nId, std::string& sDump) ; +EXE_EXPORT bool ExeGeoObjDump( int nId, std::string& sDump) ; + +// GeomDB Obj Attributes +EXE_EXPORT bool ExeSetLevel( int nId, int nLevel) ; +EXE_EXPORT bool ExeRevertLevel( int nId) ; +EXE_EXPORT bool ExeGetLevel( int nId, int* pnLevel) ; +EXE_EXPORT bool ExeGetCalcLevel( int nId, int* pnLevel) ; +EXE_EXPORT bool ExeSetMode( int nId, int nMode) ; +EXE_EXPORT bool ExeRevertMode( int nId) ; +EXE_EXPORT bool ExeGetMode( int nId, int* pnMode) ; +EXE_EXPORT bool ExeGetCalcMode( int nId, int* pnMode) ; +EXE_EXPORT bool ExeSetStatus( const INTVECTOR& vIds, int nStat) ; +EXE_EXPORT bool ExeRevertStatus( int nId) ; +EXE_EXPORT bool ExeGetStatus( int nId, int* pnStat) ; +EXE_EXPORT bool ExeGetCalcStatus( int nId, int* pnStat) ; +EXE_EXPORT bool ExeSetMark( int nId) ; +EXE_EXPORT bool ExeResetMark( int nId) ; +EXE_EXPORT bool ExeGetMark( int nId, int* pnMark) ; +EXE_EXPORT bool ExeGetCalcMark( int nId, int* pnMark) ; +EXE_EXPORT bool ExeStdColor( const std::string& sName, Color& ColStd) ; +EXE_EXPORT bool ExeSetColor( const INTVECTOR& vIds, const Color& cCol, bool bSetAlpha) ; +EXE_EXPORT bool ExeSetAlpha( const INTVECTOR& vIds, int nAlpha) ; +EXE_EXPORT bool ExeResetColor( const INTVECTOR& vIds) ; +EXE_EXPORT bool ExeGetColor( int nId, Color& cCol) ; +EXE_EXPORT bool ExeGetCalcColor( int nId, Color& cCol) ; +EXE_EXPORT bool ExeSetName( int nId, const std::string& sName) ; +EXE_EXPORT bool ExeGetName( int nId, std::string& sName) ; +EXE_EXPORT bool ExeExistsName( int nId) ; +EXE_EXPORT bool ExeRemoveName( int nId) ; +EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const std::string& sInfo) ; +EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, int nInfo) ; +EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, std::string& sInfo) ; +EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, int& nInfo) ; +EXE_EXPORT bool ExeExistsInfo( int nId, const std::string& sKey) ; +EXE_EXPORT bool ExeRemoveInfo( int nId, const std::string& sKey) ; + +// GeomDb Obj Selection +EXE_EXPORT bool ExeSelectObj( int nId) ; +EXE_EXPORT bool ExeDeselectObj( int nId) ; +EXE_EXPORT bool ExeSelectAll( bool bOnlyIfVisible) ; +EXE_EXPORT bool ExeDeselectAll( void) ; +EXE_EXPORT bool ExeSelectGroupObjs( int nGroupId) ; +EXE_EXPORT bool ExeDeselectGroupObjs( int nGroupId) ; +EXE_EXPORT bool ExeIsSelectedObj( int nId) ; +EXE_EXPORT int ExeGetSelectedObjNbr( void) ; +EXE_EXPORT int ExeGetFirstSelectedObj( void) ; +EXE_EXPORT int ExeGetNextSelectedObj( void) ; +EXE_EXPORT int ExeGetLastSelectedObj( void) ; +EXE_EXPORT int ExeGetPrevSelectedObj( void) ; + +// GeomDB Modify +EXE_EXPORT bool ExeChangeGroupFrame( int nId, const Frame3d& frNewRef, int nRefType) ; +EXE_EXPORT bool ExeChangeVectorBase( int nId, const Point3d& ptB, int nRefType) ; +EXE_EXPORT bool ExeModifyText( int nId, const std::string& sNewText) ; +EXE_EXPORT bool ExeChangeTextFont( int nId, const std::string& sNewFont) ; +EXE_EXPORT bool ExeFlipText( int nId) ; +EXE_EXPORT bool ExeMirrorText( int nId, bool bOnL) ; +EXE_EXPORT int ExeExplodeText( int nId, int* pnCount) ; +EXE_EXPORT int ExeSplitText( int nId, int* pnCount) ; + +// GeomDb Curve Modify +EXE_EXPORT bool ExeInvertCurve( const INTVECTOR& vIds) ; +EXE_EXPORT bool ExeOffsetCurve( int nId, double dDist, int nType) ; +EXE_EXPORT bool ExeChangeClosedCurveStartPoint( int nId, const Point3d& ptP, int nRefType) ; +EXE_EXPORT bool ExeModifyCurveStartPoint( int nId, const Point3d& ptP, int nRefType) ; +EXE_EXPORT bool ExeModifyCurveEndPoint( int nId, const Point3d& ptP, int nRefType) ; +EXE_EXPORT bool ExeModifyCurveExtrusion( const INTVECTOR& vIds, const Vector3d& vtExtr, int nRefType) ; +EXE_EXPORT bool ExeModifyCurveThickness( const INTVECTOR& vIds, double dThick) ; +EXE_EXPORT bool ExeTrimCurveStartAtLen( int nId, double dLen) ; +EXE_EXPORT bool ExeTrimCurveEndAtLen( int nId, double dLen) ; +EXE_EXPORT bool ExeTrimCurveStartAtParam( int nId, double dPar) ; +EXE_EXPORT bool ExeTrimCurveEndAtParam( int nId, double dPar) ; +EXE_EXPORT bool ExeTrimCurveStartEndAtParam( int nId, double dParS, double dParE) ; +EXE_EXPORT bool ExeExtendCurveStartByLen( int nId, double dLen) ; +EXE_EXPORT bool ExeExtendCurveEndByLen( int nId, double dLen) ; +EXE_EXPORT bool ExeTrimExtendCurveByLen( int nId, double dLen, const Point3d& ptNear, int nRefType) ; +EXE_EXPORT int ExeSplitCurve( int nId, int nParts) ; +EXE_EXPORT int ExeSplitCurveAtPoint( int nId, const Point3d& ptOn, int nRefType) ; +EXE_EXPORT bool ExeModifyCurveCircleCPN( int nId, const Point3d& ptOn, int nRefType) ; +EXE_EXPORT bool ExeModifyCurveArcRadius( int nId, double dRad) ; +EXE_EXPORT bool ExeModifyCurveArcC2PN( int nId, const Point3d& ptEnd, int nRefType) ; +EXE_EXPORT bool ExeModifyCurveArc3P( int nId, const Point3d& ptMid, int nRefType) ; +EXE_EXPORT int ExeExplodeCurveCompo( int nId, int* pnCount) ; +EXE_EXPORT int ExeApproxCurveArc( int nId, double dLinTol) ; +EXE_EXPORT int ExeApproxCurveBezier( int nId, bool bArcsVsLines, double dLinTol) ; + +// GeomDb Surf Modify +EXE_EXPORT bool ExeInvertSurface( const INTVECTOR& vIds) ; +EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ; +EXE_EXPORT int ExeExplodeSurfTm( int nId, int* pnCount) ; + +// Geo Snap Vector/Point/Frame +EXE_EXPORT bool ExeStartPoint( int nId, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeEndPoint( int nId, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeMidPoint( int nId, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeCenterPoint( int nId, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeCentroid( int nId, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeAtParamPoint( int nId, double dU, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeNearPoint( int nId, const Point3d& ptNear, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeIntersectionPoint( int nId1, int nId2, const Point3d& ptNear, int nRefId, Point3d& ptP) ; +EXE_EXPORT bool ExeStartVector( int nId, int nRefId, Vector3d& vtV) ; +EXE_EXPORT bool ExeEndVector( int nId, int nRefId, Vector3d& vtV) ; +EXE_EXPORT bool ExeMidVector( int nId, int nRefId, Vector3d& vtV) ; +EXE_EXPORT bool ExeAtParamVector( int nId, double dU, int nSide, int nRefId, Vector3d& vtV) ; +EXE_EXPORT bool ExeFrame( int nId, int nRefId, Frame3d& frFrame) ; +EXE_EXPORT bool ExeCurveLength( int nId, double* pdLen) ; +EXE_EXPORT bool ExeCurveLengthAtPoint( int nId, const Point3d& ptOn, double dExtend, double* pdLen) ; +EXE_EXPORT bool ExeCurveExtrusion( int nId, int nRefId, Vector3d& vtExtr) ; +EXE_EXPORT bool ExeCurveThickness( int nId, double* pdThick) ; +EXE_EXPORT bool ExeGetMinDistPointCurve( const Point3d& ptP, int nId, double* pdDist) ; +EXE_EXPORT bool ExeGetMinDistPntSidePointCurve( const Point3d& ptP, int nId, const Vector3d& vtN, + double* pdDist, Point3d& ptMin, int* pnSide) ; +EXE_EXPORT bool ExeCurveArcRadius( int nId, double* pdRad) ; +EXE_EXPORT bool ExeCurveArcNormVersor( int nId, int nRefId, Vector3d& vtNorm) ; +EXE_EXPORT bool ExeCurveCompoCenter( int nId, int nSimpCrv, int nRefId, Point3d& ptCen) ; +EXE_EXPORT int ExeSurfTmFacetNbr( int nId) ; +EXE_EXPORT int ExeSurfTmFacetFromTria( int nId, int nT) ; +EXE_EXPORT bool ExeSurfTmFacetNearestEndPoint( int nId, int nFacet, const Point3d& ptNear, int nRefId, + Point3d& ptEnd, Vector3d& vtN) ; +EXE_EXPORT bool ExeSurfTmFacetNearestMidPoint( int nId, int nFacet, const Point3d& ptNear, int nRefId, + Point3d& ptMid, Vector3d& vtN) ; +EXE_EXPORT bool ExeSurfTmFacetCenter( int nId, int nFacet, int nRefId, Point3d& ptCen, Vector3d& vtN) ; +EXE_EXPORT bool ExeSurfTmFacetNormVersor( int nId, int nFacet, int nRefId, Vector3d& vtNorm) ; +EXE_EXPORT bool ExeExtTextNormVersor( int nId, int nRefId, Vector3d& vtNorm) ; +EXE_EXPORT bool ExePointToIdGlob( Point3d& ptP, int nId) ; +EXE_EXPORT bool ExePointToIdLoc( Point3d& ptP, int nId) ; +EXE_EXPORT bool ExeVectorToIdGlob( Vector3d& vtV, int nId) ; +EXE_EXPORT bool ExeVectorToIdLoc( Vector3d& vtV, int nId) ; + +// Geo Transform +EXE_EXPORT bool ExeMove( INTVECTOR& vIds, const Vector3d& vtMove, int nRefType) ; +EXE_EXPORT bool ExeRotate( INTVECTOR& vIds, const Point3d& ptAx, const Vector3d& vtAx, + double dAngRotDeg, int nRefType) ; +EXE_EXPORT bool ExeScale( INTVECTOR& vIds, const Frame3d& frRef, + double dCoeffX, double dCoeffY, double dCoeffZ, int nRefType) ; +EXE_EXPORT bool ExeMirror( INTVECTOR& vIds, const Point3d& ptP, const Vector3d& vtN, int nRefType) ; +EXE_EXPORT bool ExeShear( INTVECTOR& vIds, const Point3d& ptP, const Vector3d& vtN, + const Vector3d& vtDir, double dCoeff, int nRefType) ; +EXE_EXPORT bool ExeMoveGroup( int nId, const Vector3d& vtMove) ; +EXE_EXPORT bool ExeRotateGroup( int nId, const Point3d& ptAx, const Vector3d& vtAx, double dAngRotDeg) ; +EXE_EXPORT bool ExeScaleGroup( int nId, const Frame3d& frFrame, double dCoeffX, double dCoeffY, double dCoeffZ) ; +EXE_EXPORT bool ExeMirrorGroup( int nId, const Point3d& ptP, const Vector3d& vtN) ; +EXE_EXPORT bool ExeShearGroup( int nId, const Point3d& ptP, const Vector3d& vtN, + const Vector3d& vtDir, double dCoeff) ; + +// Machining +EXE_EXPORT bool ExeInitMachMgr( const std::string& sMachinesDir) ; +EXE_EXPORT bool ExeUpdateMachMgr( void) ; +EXE_EXPORT bool ExeInsertMachMgr( int nInsGrp) ; +EXE_EXPORT int ExeGetMachGroupNbr( void) ; +EXE_EXPORT int ExeGetFirstMachGroup( void) ; +EXE_EXPORT int ExeGetNextMachGroup( int nId) ; +EXE_EXPORT int ExeAddMachGroup( const std::string& sName, const std::string& sMachineName) ; +EXE_EXPORT bool ExeRemoveMachGroup( int nMGroupId) ; +EXE_EXPORT bool ExeGetMachGroupName( int nId, std::string& sName) ; +EXE_EXPORT int ExeGetMachGroupId( const std::string& sName) ; +EXE_EXPORT bool ExeSetCurrMachGroup( int nMGroupId) ; +EXE_EXPORT bool ExeResetCurrMachGroup( void) ; +EXE_EXPORT int ExeGetCurrMachGroup( void) ; +EXE_EXPORT int ExeGetRawPartNbr( void) ; +EXE_EXPORT int ExeGetFirstRawPart( void) ; +EXE_EXPORT int ExeGetNextRawPart( int nRawId) ; +EXE_EXPORT int ExeAddRawPart( Point3d ptOrig, double dWidth, double dLength, double dHeight, Color cCol) ; +EXE_EXPORT int ExeAddRawPartWithPart( int nPartId, int nCrvId, double dOverMat, Color cCol) ; +EXE_EXPORT bool ExeModifyRawPartHeight( int nRawId, double dHeight) ; +EXE_EXPORT bool ExeRemoveRawPart( int nRawId) ; +EXE_EXPORT bool ExeTranslateRawPart( int nRawId, const Vector3d& vtMove) ; +EXE_EXPORT bool ExeRotateRawPart( int nRawId, const Vector3d& vtAx, double dAngRotDeg) ; +EXE_EXPORT bool ExeMoveToCornerRawPart( int nRawId, const Point3d& ptCorner, int nFlag) ; +EXE_EXPORT bool ExeMoveToCenterRawPart( int nRawId, const Point3d& ptCenter, int nFlag) ; +EXE_EXPORT int ExeGetPartInRawPartNbr( int nRawId) ; +EXE_EXPORT int ExeGetFirstPartInRawPart( int nRawId) ; +EXE_EXPORT int ExeGetNextPartInRawPart( int nPartId) ; +EXE_EXPORT bool ExeAddPartToRawPart( int nPartId, const Point3d& ptPos, int nRawId) ; +EXE_EXPORT bool ExeRemovePartFromRawPart( int nPartId) ; +EXE_EXPORT bool ExeTranslatePartInRawPart( int nPartId, const Vector3d& vtMove) ; +EXE_EXPORT bool ExeRotatePartInRawPart( int nPartId, const Vector3d& vtAx, double dAngRotDeg) ; + +// Scene +EXE_EXPORT bool ExeInitScene( HWND hWnd, int nDriver, bool b2Buff, int nColorBits, int nDepthBits) ; +EXE_EXPORT bool ExeGetSceneInfo( std::string& sInfo) ; +EXE_EXPORT bool ExeSetBackground( Color TopCol, Color BottomCol, bool bRedraw) ; +EXE_EXPORT bool ExeSetMarkAttribs( Color MarkCol) ; +EXE_EXPORT bool ExeSetSelSurfAttribs( Color SelSurfCol) ; +EXE_EXPORT bool ExeSetGeoLineAttribs( Color GlCol) ; +EXE_EXPORT bool ExeSetGeoTriaAttribs( Color GtCol) ; +EXE_EXPORT bool ExeSetWinRectAttribs( bool bOutline, Color WrCol) ; +EXE_EXPORT bool ExeSetGlobFrameShow( bool bShow) ; +EXE_EXPORT bool ExeSetGridShow( bool bShowGrid, bool bShowFrame) ; +EXE_EXPORT bool ExeSetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) ; +EXE_EXPORT bool ExeSetGridColor( Color colMin, Color colMaj) ; +EXE_EXPORT bool ExeResize( int nW, int nH) ; +EXE_EXPORT bool ExeDraw( void) ; +EXE_EXPORT bool ExeSelect( int nWinX, int nWinY, int nSelW, int nSelH, int* pnSel) ; +EXE_EXPORT bool ExeSetObjFilterForSelect( bool bZerodim, bool bCurve, bool bSurf, bool bVolume, bool bExtra) ; +EXE_EXPORT bool ExeUnselectableRemove( int nId) ; +EXE_EXPORT bool ExeUnselectableAdd( int nId) ; +EXE_EXPORT bool ExeUnselectableClearAll( void) ; +EXE_EXPORT int ExeGetFirstObjInSelWin( void) ; +EXE_EXPORT int ExeGetNextObjInSelWin( void) ; +EXE_EXPORT bool ExeGetPointFromSelect( int nSelId, int nWinX, int nWinY, Point3d& ptSel, int* pnAux) ; +EXE_EXPORT bool ExeGetGraphicSnapPoint( int nSnap, int nWinX, int nWinY, int nSelW, int nSelH, Point3d& ptP) ; +EXE_EXPORT bool ExeGetGridSnapPointZ( bool bSketch, int nWinX, int nWinY, const Point3d& ptGrid, Point3d& ptP) ; +EXE_EXPORT int ExeGetLastSnapId( void) ; +EXE_EXPORT bool ExeGetLastSnapDir( Vector3d& vtV) ; +EXE_EXPORT bool ExeSetShowMode( int nShowMode, bool bRedraw) ; +EXE_EXPORT int ExeGetShowMode( void) ; +EXE_EXPORT bool ExeSetShowCurveDirection( bool bShow, bool bRedraw) ; +EXE_EXPORT bool ExeGetShowCurveDirection( void) ; +EXE_EXPORT bool ExeSetShowTriaAdv( bool bAdvanced, bool bRedraw) ; +EXE_EXPORT bool ExeGetShowTriaAdv( void) ; +EXE_EXPORT bool ExeZoom( int nZoom, bool bRedraw) ; +EXE_EXPORT bool ExeZoomOnPoint( int nWinX, int nWinY, double dCoeff, bool bRedraw) ; +EXE_EXPORT bool ExeSetGeoLine( const Point3d& ptP1, const Point3d& ptP2, bool bRedraw) ; +EXE_EXPORT bool ExeResetGeoLine( bool bRedraw) ; +EXE_EXPORT bool ExeSetGeoTria( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, bool bRedraw) ; +EXE_EXPORT bool ExeResetGeoTria( bool bRedraw) ; +EXE_EXPORT bool ExeSetWinRect( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ; +EXE_EXPORT bool ExeResetWinRect( bool bRedraw) ; +EXE_EXPORT bool ExeZoomWin( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ; +EXE_EXPORT bool ExeSetView( int nDir, bool bRedraw) ; +EXE_EXPORT bool ExeSetGenericView( double dAngVertDeg, double dAngHorizDeg, bool bRedraw) ; +EXE_EXPORT bool ExeSetViewCenter( const Point3d& ptP, bool bRedraw) ; +EXE_EXPORT bool ExePanView( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ; +EXE_EXPORT bool ExeRotateView( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ; +EXE_EXPORT bool ExeGetView( int* pnDir) ; +EXE_EXPORT bool ExeGetGenericView( double* pdAngVertDeg, double* pdAngHorizDeg) ; +EXE_EXPORT bool ExeProjectPoint( const Point3d& ptP, Point3d& ptWin) ; +EXE_EXPORT bool ExeUnProjectPoint( int nWinX, int nWinY, Point3d& ptP) ; + +// Messages +EXE_EXPORT bool ExeLoadMessages( const std::string& sMsgFilePath) ; +EXE_EXPORT const std::string& ExeGetMsg( int nMsg) ;