Files
Include/EXeExecutor.h
T
Dario Sassi cac25dd095 Include :
- aggiornamento prototipi.
2026-03-20 09:04:43 +01:00

1535 lines
110 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2024
//----------------------------------------------------------------------------
// File : EXcExecutor.h Data : 30.03.24 Versione : 2.6d1
// 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"
#include "/EgtDev/Include/EGkSelection.h"
#include "/EgtDev/Include/EgtFunPtrType.h"
#define NOMINMAX
#include <windows.h>
#undef GetClassName
class LuaMgr ;
//----------------------- 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 ExeSetOnTerminateProcess( psfOnTerminateProcess pFun) ;
EXE_EXPORT bool ExeOnTerminateProcess( int nExitCode) ;
EXE_EXPORT int ExeGetDebugLevel( void) ;
EXE_EXPORT bool ExeSetUserLevel( int nUserLev) ;
EXE_EXPORT int ExeGetUserLevel( void) ;
EXE_EXPORT bool ExeSetKey( const std::string& sKey) ;
EXE_EXPORT bool ExeSetNestKey( const std::string& sNestKey) ;
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 ExeSetIniFile( const std::string& sIniFile) ;
EXE_EXPORT bool ExeGetIniFile( std::string& sIniFile) ;
EXE_EXPORT bool ExeSetCommandLogger( const std::string& sLogFile) ;
EXE_EXPORT bool ExeEnableCommandLogger( void) ;
EXE_EXPORT bool ExeDisableCommandLogger( void) ;
EXE_EXPORT bool ExeGetExecutableVersion( std::string& sVer) ;
EXE_EXPORT bool ExeGetVersionInfo( std::string& sVer, const char* szNewLine) ;
EXE_EXPORT bool ExeGetKeyInfo( std::string& sKey) ;
EXE_EXPORT bool ExeSetLockType( int nType) ;
EXE_EXPORT bool ExeSetLockId( const std::string& sLockId) ;
EXE_EXPORT bool ExeSetNetHwKey( bool bNetHwKey, int nUserId = 0, const std::string& sAddrPort = "") ;
EXE_EXPORT bool ExeGetKeyLevel( int nProd, int nVer, int nLev, int& nKLev) ;
EXE_EXPORT bool ExeGetKeyOptions( int nProd, int nVer, int nLev, unsigned int& nOpt2) ;
EXE_EXPORT bool ExeGetKeyLeftDays( int& nLeftDays) ;
EXE_EXPORT bool ExeGetKeyAssLeftDays( int& nAssLeftDays) ;
EXE_EXPORT bool ExeGetKeyOptLeftDays( int& nOptLeftDays) ;
EXE_EXPORT bool ExeGetNetHwKey( void) ;
EXE_EXPORT bool ExeGetOsInfo( std::string& sOs) ;
EXE_EXPORT bool ExeGetCpuInfo( std::string& sCpu) ;
EXE_EXPORT bool ExeGetMemoryInfo( std::string& sMem) ;
EXE_EXPORT bool ExeOutLog( const std::string& sMsg, int nDebugLevel = 0) ;
EXE_EXPORT bool ExeSetEnableUI( bool bEnableUI) ;
EXE_EXPORT bool ExeGetEnableUI( void) ;
EXE_EXPORT int ExeMessageBox( const std::string& sText, const std::string& sTitle, int nType) ;
EXE_EXPORT bool ExeSetProcessEvents( psfProcEvents pFun) ;
EXE_EXPORT int ExeProcessEvents( int nProg, int nPause) ;
EXE_EXPORT bool ExeSetOutText( psfOutText pFun) ;
EXE_EXPORT bool ExeOutText( const std::string& sText) ;
EXE_EXPORT bool ExeSetTempDir( const std::string& sTempDir) ;
EXE_EXPORT bool ExeGetTempDir( std::string& sTempDir) ;
EXE_EXPORT bool ExeSetMainWindowHandle( HWND hMainWnd) ;
EXE_EXPORT bool ExeGetStringUtf8FromIni( const std::string& sSec, const std::string& sKey, const std::string& sDef,
std::string& sVal, const std::string& sIniFile) ;
EXE_EXPORT bool ExeWriteStringUtf8ToIni( const std::string& sSec, const std::string& sKey, const std::string& sVal, const std::string& sIniFile) ;
// UiUnits
EXE_EXPORT bool ExeSetUiUnits( bool bMM) ;
EXE_EXPORT bool ExeUiUnitsAreMM( void) ;
EXE_EXPORT double ExeFromUiUnits( double dVal) ;
EXE_EXPORT double ExeToUiUnits( double dVal) ;
// GeomDB
EXE_EXPORT int ExeInitContext( void) ;
EXE_EXPORT bool ExeDeleteContext( int nGseCtx) ;
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 ExeGetEnableModified( 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( const INTVECTOR& vId, const std::string& sFilePath, int nFlag) ;
EXE_EXPORT bool ExeSaveMachGroupToFile( int nMGroupId, const INTVECTOR& vPlusId, const std::string& sFilePath, int nFlag) ;
// Exchange
EXE_EXPORT int ExeGetFileType( const std::string& sFilePath) ;
EXE_EXPORT bool ExeSetBtlAuxDir( const std::string& sBtlAuxDir) ;
EXE_EXPORT bool ExeImportBtl( const std::string& sFilePath, int nFlag) ;
EXE_EXPORT bool ExeImportBtlx( const std::string& sFilePath, int nFlag) ;
EXE_EXPORT bool ExeImportCnc( const std::string& sFilePath, int nFlag) ;
EXE_EXPORT bool ExeImportCsf( const std::string& sFilePath) ;
EXE_EXPORT bool ExeImportDxf( const std::string& sFilePath, double dScaleFactor) ;
EXE_EXPORT bool ExeImportPnt( const std::string& sFilePath, int nFlag) ;
EXE_EXPORT bool ExeImportStl( const std::string& sFilePath, double dScaleFactor) ;
EXE_EXPORT bool ExeImportOff( const std::string& sFilePath, double dScaleFactor) ;
EXE_EXPORT bool ExeImportPly( const std::string& sFilePath, double dScaleFactor) ;
EXE_EXPORT bool ExeImport3MF( const std::string& sFilePath, int nFlag = 0) ;
EXE_EXPORT bool ExeImport3dm( const std::string& sFilePath) ;
EXE_EXPORT bool ExeAdvancedImportIsEnabled( void) ;
EXE_EXPORT bool ExeAdvancedImport( const std::string& sFilePath, double dToler = 0.1, int nFlag = 0) ;
EXE_EXPORT bool ExeExportDxf( int nId, const std::string& sFilePath, int nFlag = 1, int nFilter = 393) ;
EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeExport3MF( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeExport3dm( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeExportSvg( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeSetThreeJSLibDir( const std::string & sThreeJSLibDir) ;
EXE_EXPORT bool ExeExportThreeJS( int nId, const std::string& sFilePath, int nFilter = 393) ;
// BeamManager
EXE_EXPORT bool ExeInitBeamMgr( int nFlag) ;
EXE_EXPORT bool ExeBeamSetFlag( int nFlag) ;
EXE_EXPORT int ExeBeamCreatePart( void) ;
EXE_EXPORT bool ExeBeamSetPart( int nPartId) ;
EXE_EXPORT bool ExeBeamErasePart( void) ;
EXE_EXPORT bool ExeBeamUpdatePart( void) ;
EXE_EXPORT bool ExeBeamSetPartProdNbr( int nProdNbr) ;
EXE_EXPORT bool ExeBeamSetPartName( const std::string& sName) ;
EXE_EXPORT bool ExeBeamSetPartCount( int nCount) ;
EXE_EXPORT bool ExeBeamSetPartBox( double dLength, double dHeight, double dWidth, bool bUpdate = true) ;
EXE_EXPORT bool ExeBeamGetSideData( int nSide, Frame3d& frRef, double& dLength, double& dWidth, double& dHeight) ;
EXE_EXPORT bool ExeBeamShowFacesName( bool bShow) ;
EXE_EXPORT bool ExeBeamShowLoadingSide( bool bShow, bool bFromLeft) ;
EXE_EXPORT int ExeBeamAddProcess( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
int nCrvId, int nCrv2Id, bool bUpdate = true) ;
EXE_EXPORT int ExeBeamModifyProcess( int nGeomId, int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
int nCrvId, int nCrv2Id, bool bUpdate = true) ;
EXE_EXPORT bool ExeBeamEraseProcess( int nGeomId, bool bUpdate = true) ;
EXE_EXPORT bool ExeBeamEnableProcess( int nGeomId, bool bEnable, bool bUpdate = true) ;
EXE_EXPORT bool ExeBeamCalcAllSolids( bool bShow, bool bRecalc = false) ;
EXE_EXPORT bool ExeBeamShowAllSolids( bool bShow) ;
EXE_EXPORT bool ExeBeamCalcSolid( int nPartId, bool bRecalc = false) ;
EXE_EXPORT int ExeBeamGetSolid( int nPartId) ;
EXE_EXPORT bool ExeBeamShowSolid( int nPartId, bool bShow) ;
EXE_EXPORT bool ExeBeamGetBuildingIsOn( int nAssGrpId) ;
EXE_EXPORT bool ExeBeamShowBuilding( int nAssGrpId, bool bShow) ;
// Tsc Executor
EXE_EXPORT bool ExeInitTscExec( void) ;
EXE_EXPORT bool ExeTscExecFile( const std::string& sFilePath) ;
EXE_EXPORT bool ExeTscExecLine( const std::string& sLine) ;
EXE_EXPORT bool ExeTscSetVariable( const std::string& sName, int nVal) ;
EXE_EXPORT bool ExeTscGetVariable( const std::string& sName, int& nVal) ;
// LUA Executor
EXE_EXPORT bool ExeLuaCreateGlobTable( const std::string& sVar) ;
EXE_EXPORT bool ExeLuaSetGlobBoolVar( const std::string& sVar, bool bVal) ;
EXE_EXPORT bool ExeLuaSetGlobIntVar( const std::string& sVar, int nVal) ;
EXE_EXPORT bool ExeLuaSetGlobNumVar( const std::string& sVar, double dVal) ;
EXE_EXPORT bool ExeLuaSetGlobStringVar( const std::string& sVar, const std::string& sVal) ;
EXE_EXPORT bool ExeLuaSetGlobVectorVar( const std::string& sVar, const Vector3d& vtVal) ;
EXE_EXPORT bool ExeLuaSetGlobPointVar( const std::string& sVar, const Point3d& ptVal) ;
EXE_EXPORT bool ExeLuaGetGlobBoolVar( const std::string& sVar, bool* pbVal) ;
EXE_EXPORT bool ExeLuaGetGlobIntVar( const std::string& sVar, int* pnVal) ;
EXE_EXPORT bool ExeLuaGetGlobNumVar( const std::string& sVar, double* pdVal) ;
EXE_EXPORT bool ExeLuaGetGlobStringVar( const std::string& sVar, std::string& sVal) ;
EXE_EXPORT bool ExeLuaGetGlobVectorVar( const std::string& sVar, Vector3d& vtVal) ;
EXE_EXPORT bool ExeLuaGetGlobPointVar( const std::string& sVar, Point3d& ptVal) ;
EXE_EXPORT bool ExeLuaResetGlobVar( const std::string& sVar) ;
EXE_EXPORT bool ExeLuaExistsFunction( const std::string& sFun) ;
EXE_EXPORT bool ExeLuaCallFunction( const std::string& sFun) ;
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, bool LogInfo = true) ;
EXE_EXPORT bool ExeLuaRequire( const std::string& sFilePath) ;
EXE_EXPORT bool ExeLuaGetLastError( std::string& sError) ;
// LUA Base
EXE_EXPORT bool LuaInstallEgtFunctions( LuaMgr& LuaMgr) ;
// ShortestPath
EXE_EXPORT bool ExeSpInit( void) ;
EXE_EXPORT bool ExeSpTerminate( void) ;
EXE_EXPORT bool ExeSpAddPoint( double dXi, double dYi, double dZi, double dHi, double dVi,
double dXf, double dYf, double dZf, double dHf, double dVf) ;
EXE_EXPORT bool ExeSpSetOpenBound( bool bStartVsEnd, int nFlag,
double dX, double dY, double dZ, double dH, double dV) ;
EXE_EXPORT bool ExeSpSetAngularParams( double dAngHAdd, double dAngHMul, double dAngVAdd, double dAngVMul) ;
EXE_EXPORT bool ExeSpSetZzOwStep( double dStep) ;
EXE_EXPORT bool ExeSpCalculate( int nType) ;
EXE_EXPORT bool ExeSpGetOrder( INTVECTOR& vOrder) ;
EXE_EXPORT bool ExeSpGetMinLength( double& dMinLen) ;
// Machining Order Optimization
EXE_EXPORT bool ExeOptMachInit( void) ;
EXE_EXPORT bool ExeOptMachTerminate( void) ;
EXE_EXPORT bool ExeOptMachAddTool( int nId,
double dTCX, double dTCY, double dTCZ, double dTCA, double dTCB, double dTCC,
bool bX, bool bY, bool bZ, bool bA, bool bB, bool bC,
double dTLoad, double dTUnL) ;
EXE_EXPORT bool ExeOptMachAddMachining( int nId, int nToolId, int nGroup,
double dX_Start, double dY_Start, double dZ_Start,
double dA_Start, double dB_Start, double dC_Start,
double dX_End, double dY_End, double dZ_End,
double dA_End, double dB_End, double dC_End) ;
EXE_EXPORT bool ExeOptMachSetFirstMachining( int nId) ;
EXE_EXPORT bool ExeOptMachSetLastMachining( int nId) ;
EXE_EXPORT bool ExeOptMachSetFeeds( double dFeedL, double dFeedA) ;
EXE_EXPORT bool ExeOptMachAddDependence( int nIdPrec, int nIdNext) ;
EXE_EXPORT bool ExeOptMachAddSuggestedDependence( int nIdPrec, int nIdNext) ;
EXE_EXPORT bool ExeOptMachSetAllGroupDependencesAsMandatory( bool bAllMandatory) ;
EXE_EXPORT bool ExeOptMachSetOptimizationForGroups( bool bOptForGroups) ;
EXE_EXPORT bool ExeOptMachSetOpenBound( bool bStartVsEnd, int nFlag, double dX, double dY, double dZ) ;
EXE_EXPORT bool ExeOptMachSetOpenBoundForGroups( int nGroup, bool bStartVsEnd, int nFlag, double dX, double dY, double dZ) ;
EXE_EXPORT bool ExeOptMachCalculate( INTVECTOR& vIds) ;
// 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,
const std::string& sText, double dH, int nRefType) ;
EXE_EXPORT int ExeCreateTextEx( int nParentId, const Point3d& ptP, double dAngRotDeg,
const std::string& sText, const std::string& sFont, bool bItalic, double dH, int nRefType) ;
EXE_EXPORT int ExeCreateTextAdv( int nParentId, const Point3d& ptP, double dAngRotDeg,
const std::string& sText, const std::string& sFont,
int nW, bool bItalic, double dH, double dRat, double dAddAdv, int nInsPos, int nRefType) ;
EXE_EXPORT bool ExeSetCurrDimensionStyle( double dExtLineLen, double dArrowLen, double dTextDist,
int nLenIsMM, int nDecDigit, const std::string& sFont, double dTextHeight) ;
EXE_EXPORT bool ExeResetCurrDimensionStyle( void) ;
EXE_EXPORT int ExeCreateHorizontalDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP2,
const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateVerticalDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP2,
const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAlignedDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP2,
const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateRadialDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateDiametralDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimension( int nParentId, const Point3d& ptV, const Point3d& ptP1, const Point3d& ptP2,
const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimensionEx( int nParentId, const Point3d& ptV1, const Point3d& ptP1,
const Point3d& ptV2, const Point3d& ptP2, const Point3d& ptDim,
const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimensionFromLines( int nParentId, const INTVECTOR vLineIds, const Point3d& ptDim,
const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimensionFromArc( int nParentId, int nCrvId, const Point3d& ptDim,
const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimensionFromCircle( int nParentId, int nCrvId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptDim,
const std::string& sText, int nRefType) ;
// GeomDB Create Curve
EXE_EXPORT int ExeCreateLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ;
EXE_EXPORT int ExeCreateLineEx( int nParentId, const Point3d& ptIni, int nSepI, int nIdI,
const Point3d& ptFin, int nSepF, int nIdF, int nRefType) ;
EXE_EXPORT int ExeCreateLinePDL( int nParentId, const Point3d& ptIni,
double dDirDeg, double dLen, int nRefType) ;
EXE_EXPORT int ExeCreateLinePVL( int nParentId, const Point3d& ptIni,
const Vector3d& vtDir, double dLen, int nRefType) ;
EXE_EXPORT int ExeCreateLineMinPointCurve( int nParentId,
const Point3d& ptStart, int nCrvId, double dNearPar, int nRefType) ;
EXE_EXPORT int ExeCreateCircle( int nParentId, const Point3d& ptCen, double dRad, int nRefType) ;
EXE_EXPORT int ExeCreateCircleCP( int nParentId, const Point3d& ptCen,
const Point3d& ptOn, int nRefType) ;
EXE_EXPORT int ExeCreateCircleCPEx( int nParentId, const Point3d& ptCen,
const Point3d& ptOn, int nSepO, int nIdO, int nRefType) ;
EXE_EXPORT int ExeCreateCircle2P( int nParentId, const Point3d& ptP1, const Point3d& ptP2, int nRefType) ;
EXE_EXPORT int ExeCreateCircle3P( int nParentId, const Point3d& ptP1,
const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateArc( int nParentId, const Point3d& ptCen, double dRad,
double dAngIniDeg, double dAngCenDeg, double dDeltaN, int nRefType) ;
EXE_EXPORT int ExeCreateArcCPA( int nParentId, const Point3d& ptCen, const Point3d& ptStart,
double dAngCenDeg, double dDeltaN, int nRefType) ;
EXE_EXPORT int ExeCreateArcC2P( int nParentId, const Point3d& ptCen, const Point3d& ptStart,
const Point3d& ptNearEnd, int nRefType) ;
EXE_EXPORT int ExeCreateArcC2PEx( int nParentId, const Point3d& ptCen,
const Point3d& ptStart, int nSepS, int nIdS,
const Point3d& ptNearEnd, int nRefType) ;
EXE_EXPORT int ExeCreateArc3P( int nParentId, const Point3d& ptP1,
const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PR( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
double dRad, bool bCCW, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PB( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
double dBulge, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PD( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
double dDirSDeg, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PDEx( int nParentId, const Point3d& ptStart,
const Point3d& ptEnd, int nSep, int nId,
double dDirSDeg, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PV( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
const Vector3d& vtDirS, int nRefType) ;
EXE_EXPORT int ExeCreateBiArc( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
double dDirSDeg, double dDirEDeg, double dPar, int nRefType) ;
EXE_EXPORT int ExeCreateCurveFillet( int nParentId, int nCrv1, const Point3d& ptNear1,
int nCrv2, const Point3d& ptNear2,
double dRad, bool bTrim, int nRefType) ;
EXE_EXPORT int ExeCreateCurveChamfer( int nParentId, int nCrv1, const Point3d& ptNear1,
int nCrv2, const Point3d& ptNear2,
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 ExeCreateCurveBezierFromCurve( int nParentId, int nCrvId, bool bRational = true) ;
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 ExeCreateCurveCompoByChainEx( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, double dToler, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoByReorder( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoByReorderEx( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, double dToler, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoByInterpolation( int nParentId, const PolyLine& PL, int nType, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCompoByApproximation( int nParentId, const PolyLine& PL, int nType,
double dLinTol, int nRefType) ;
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 ExeCreateRectangle2P( int nParentId, const Point3d& ptIni,
const Point3d& ptCross, int nRefType) ;
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, int nRefType) ;
EXE_EXPORT int ExeCreatePolygonFromApothem( int nParentId, int nNumSides, const Point3d& ptCen,
const Point3d& ptMid, int nRefType) ;
EXE_EXPORT int ExeCreatePolygonFromSide( int nParentId, int nNumSides, const Point3d& ptIni,
const Point3d& ptFin, int nRefType) ;
EXE_EXPORT int ExeCreateCirclesAlongCurve( int nParentId, int nCrvId, double dOffset, double dOverlap,
double dStartAdd, double dEndAdd, double dDiam, int* pnCount) ;
// GeomDB Create Surf
EXE_EXPORT int ExeCreateSurfFlatRegion( int nParentId, const INTVECTOR& vCrvIds, int* pnCount) ;
EXE_EXPORT int ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquaredEnds, bool bSquaredMids, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfFrRectangle( int nParentId, const Point3d& ptIni, const Point3d& ptCross, int nRefType) ;
EXE_EXPORT int ExeCreateSurfFrRectangle3P( int nParentId, const Point3d& ptIni,
const Point3d& ptCross, const Point3d& ptDir, int nRefType) ;
EXE_EXPORT int ExeCreateSurfFrStadium( int nParentId, const Point3d& ptIni, const Point3d& ptCross, int nRefType) ;
EXE_EXPORT int ExeCreateSurfFrDisk( int nParentId, const Point3d& ptOrig, double dRad, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmEmpty( int nParentId) ;
EXE_EXPORT int ExeCreateSurfTmPlaneInBBox( int nParentId, const Point3d& ptP, const Vector3d& vtN, const BBox3d& b3Box, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmConvexHullInBBox( int nParentId, int nId, const BBox3d& b3Box, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmBBox( int nParentId, const BBox3d& b3Box, bool bRegular, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmBox( int nParentId, const Point3d& ptIni, const Point3d& ptCross,
const Point3d& ptDir, double dHeight, bool bRegular, 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 ExeCreateSurfTmPyramidFrustum( int nParentId, double dBaseDimX, double dBaseDimY,
double dTopDimX, double dTopDimY, double dHeight) ;
EXE_EXPORT int ExeCreateSurfTmConeFrustum( int nParentId, double dBaseRad, double dTopRad, double dHeight, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmTriangle( int nParentId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmRectangle( int nParentId, const Point3d& ptO, const Point3d& ptL, const Point3d& ptT, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByPolygon( int nParentId, const PolyLine& PL, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByPolygonWithHoles( int nParentId, const POLYLINEVECTOR& vPL, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByFlatContour( int nParentId, int nCrvId, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByRegion( int nParentId, const INTVECTOR& vCrvIds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByExtrusion( int nParentId, const INTVECTOR& vCrvIds, const Vector3d& vtExtr,
double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByRegionExtrusion( int nParentId, const 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, bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmRectSwept( int nParentId, double dDimH, double dDimV, double dBevelH, double dBevelV,
int nGuideId, int nCapType, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmSwept( int nParentId, int nSectId, int nGuideId, const Vector3d& vtAx,
bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmTransSwept( int nParentId, int nSectId, int nGuideId, bool bCapEnds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, int nType, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByTriangles( int nParentId, const INTVECTOR& vIds, bool bErase) ;
EXE_EXPORT int ExeCreateSurfTmBySewing( int nParentId, const INTVECTOR& vIds, bool bErase) ;
EXE_EXPORT int ExeCreateSurfTmByVolZmap( int nParentId, int nZmapId, int nPart) ;
EXE_EXPORT int ExeCreateSurfShell( int nParentId, int nSurfId, double dThick, double dLinTol) ;
EXE_EXPORT int ExeSurfTmOffset( int nParentId, const INTVECTOR& vIds, double dOffs, double dLinTol, int nType) ;
EXE_EXPORT int ExeSurfTmThickeningOffset( int nParentId, const INTVECTOR& vIds, double dOffs, double dLinTol, int nType) ;
EXE_EXPORT int ExeCreateSurfBezier( int nParentId, int nDegU, int nDegV, int nSpanU, int nSpanV, const PNTVECTOR& vPnt, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBezierRational( int nParentId, int nDegU, int nDegV, int nSpanU, int nSpanV, const PNTUVECTOR& vPntW, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBezierLeaves( int nParentId, int nSurfBzId, int nTextHeight = 50, bool bShowTrim = false, bool bRefined = false, int* pnCount = nullptr) ;
EXE_EXPORT int ExeCreateBezierSphere( int nParentId, const Point3d& ptCenter, double dR, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBezierTria2D( int nParentId, int nSurfBzId, int nTextHeight, bool bShowTrim, int* pnCount) ;
EXE_EXPORT int ExeCreateSurfBzByFlatContour( int nParentId, int nCrvId, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfBzByRegion( int nParentId, const INTVECTOR& vCrvId, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfBzByExtrusion( int nParentId, int nCrvId, const Vector3d& vtExtr, bool bCapEnds,
double dLinTol, int nRefType, int* pnCount = nullptr) ;
EXE_EXPORT int ExeCreateSurfBzByRegionExtrusion( int nParentId, const INTVECTOR& vCrvIds, const Vector3d& vtExtr, bool bCapEnds,
double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBzByScrewing( int nParentId, int nCrvId,
const Point3d& ptAx, const Vector3d& vtAx,
double dAngRotDeg, double dMove, bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBzByRevolve( int nParentId, int nCrvId,
const Point3d& ptAx, const Vector3d& vtAx,
bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBzByPointCurve( int nParentId, int nCrvId, const Point3d& ptAx, bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBzRuled( int nParentId, int nCrvId1, int nCrvId2, int nRuledType, bool bCapEnds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfBzRuledGuided( int nParentId, int nCrvId1, int nCrvId2, const BIPNTVECTOR& vGuidesCrv,
bool bCapEnds, double dLinTol, int nLayGuides = GDB_ID_NULL) ;
EXE_EXPORT int ExeCreateSurfBzSkinned( int nParentId, const INTVECTOR& nCrvId1, bool bCapEnds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfBzSwept( int nParentId, int nSectId, int nGuideId, const Vector3d& vtAx,
bool bCapEnds, double dLinTol, int nRefType) ;
// GeomDB Create Volume
EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX,
double dDimY, double dDimZ, double dPrec, bool bTriDex, int nRefType) ;
EXE_EXPORT int ExeCreateVolZmapEmpty( int nParentId, const Point3d& ptIni, double dDimX,
double dDimY, double dDimZ, double dPrec, bool bTriDex, int nRefType) ;
EXE_EXPORT int ExeCreateVolZmapByRegionExtrusion( int nParentId, int nSfrId, double dDimZ, double dPrec, bool bTriDex) ;
EXE_EXPORT int ExeCreateVolZmapFromSurfTm( int nParentId, int nStmId, double dPrec, bool bTriDex, double dExtraBox = 0) ;
// 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 ExeGetPartCount( bool bOnlyVisible) ;
EXE_EXPORT int ExeGetFirstPart( bool bOnlyVisible) ;
EXE_EXPORT int ExeGetNextPart( int nId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetLastPart( bool bOnlyVisible) ;
EXE_EXPORT int ExeGetPrevPart( int nId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetFirstLayer( int nPartId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetNextLayer( int nId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetLastLayer( int nPartId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetPrevLayer( int nId, bool bOnlyVisible) ;
EXE_EXPORT bool ExeIsGhostPart( int nGhostId) ;
EXE_EXPORT int ExeGetFirstGhostPart( void) ;
EXE_EXPORT int ExeGetNextGhostPart( int nId) ;
EXE_EXPORT bool ExeEraseEmptyParts( void) ;
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) ;
EXE_EXPORT int ExeDuploNew( int nSouId) ;
EXE_EXPORT bool ExeDuploCount( int nSouId, int& nCount) ;
EXE_EXPORT bool ExeDuploList( int nSouId, INTVECTOR& vnRef) ;
EXE_EXPORT bool ExeDuploInRawCount( int nSouId, int& nCount) ;
EXE_EXPORT bool ExeDuploWithoutRawList( INTVECTOR& vnRef) ;
EXE_EXPORT bool ExeDuploSetModified( int nSouId) ;
EXE_EXPORT bool ExeDuploGetModified( int nSouId, bool& bModif) ;
EXE_EXPORT bool ExeDuploSetLocked( int nDupId) ;
EXE_EXPORT bool ExeDuploResetLocked( int nDupId) ;
EXE_EXPORT bool ExeDuploGetLocked( int nDupId, bool& bLocked) ;
EXE_EXPORT bool ExeDuploUpdate( int nSouId) ;
EXE_EXPORT bool ExeIsDuplo( int nDupId) ;
EXE_EXPORT int ExeDuploGetOriginal( int nDupId) ;
// GeomDB Objects
EXE_EXPORT bool ExeExistsObj( int nId) ;
EXE_EXPORT int ExeGetParent( int nId) ;
EXE_EXPORT bool ExeGetGlobFrame( int nId, Frame3d& frGlob) ;
EXE_EXPORT bool ExeGetGroupGlobFrame( int nId, Frame3d& frGlob) ;
EXE_EXPORT int ExeGetGroupObjs( int nId) ;
EXE_EXPORT bool ExeGetAllInGroup( int nGroupId, INTVECTOR& vIds) ;
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 ExeGetNameInGroup( int nGroupId, const std::string& sName, INTVECTOR& vIds) ;
EXE_EXPORT bool ExeGetInfoInGroup( int nGroupId, const std::string& sKey, INTVECTOR& vIds) ;
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 ExeCopyEx( int nSouCtx, int nSouId, int nDestCtx, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT int ExeCopyGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT int ExeCopyGlobEx( int nSouCtx, int nSouId, int nDestCtx, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeDuplicateGeomDB( int nSouCtx, int nDestCtx, bool bSkipTemp = false) ;
EXE_EXPORT bool ExeRelocate( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeRelocateGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeGroupSwap( int nId1, int nId2, bool bSwapRef, bool bMark) ;
EXE_EXPORT int ExeGetNewId( void) ;
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 ExeCopyAttributes( int nSouId, int nDestId) ;
EXE_EXPORT bool ExeSetLevel( const INTVECTOR& vIds, 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( const INTVECTOR& vIds, 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, int nMark = 1) ;
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, bool bInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, int nInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, double dInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const std::string& sInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const Vector3d& vtV) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const Point3d& ptP) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const BBox3d& b3Box) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const Frame3d& frFrame) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const INTVECTOR& vnInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const DBLVECTOR& vdInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const STRVECTOR& vsInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, bool& bInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, int& nInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, double& dInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, std::string& sInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, Vector3d& vtV) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, Point3d& ptP) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, BBox3d& b3Box) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, Frame3d& frFrame) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, INTVECTOR& vnInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, DBLVECTOR& vdInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, STRVECTOR& vsInfo) ;
EXE_EXPORT bool ExeExistsInfo( int nId, const std::string& sKey) ;
EXE_EXPORT bool ExeRemoveInfo( int nId, const std::string& sKey) ;
EXE_EXPORT bool ExeGetAllInfo( int nId, STRVECTOR& vsInfo) ;
EXE_EXPORT bool ExeSetTextureName( int nId, const std::string& sTxrName) ;
EXE_EXPORT bool ExeSetTextureFrame( int nId, const Frame3d& frTxrRef, int nRefType) ;
EXE_EXPORT bool ExeRemoveTextureData( int nId) ;
EXE_EXPORT bool ExeGetTextureName( int nId, std::string& sTxrName) ;
EXE_EXPORT bool ExeGetTextureFrame( int nId, int nRefId, Frame3d& frTxrRef) ;
EXE_EXPORT bool ExeSetStipple( int nId, int nFactor, int nPattern) ;
// GeomDb Obj Selection
EXE_EXPORT bool ExeSetObjFilterForSelect( bool bZerodim, bool bCurve, bool bSurf, bool bVolume, bool bExtra) ;
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 ExeGetSelectedObjCount( void) ;
EXE_EXPORT int ExeGetFirstSelectedObj( void) ;
EXE_EXPORT int ExeGetNextSelectedObj( void) ;
EXE_EXPORT int ExeGetLastSelectedObj( void) ;
EXE_EXPORT int ExeGetPrevSelectedObj( void) ;
EXE_EXPORT bool ExeSetSelInfo( int nId, int nSub, const Point3d& ptSel) ;
EXE_EXPORT bool ExeGetLastSelInfo( int& nLastId, int& nLastSub, Point3d& ptLastSel) ;
EXE_EXPORT bool ExeGetPrevSelInfo( int& nPrevId, int& nPrevSub, Point3d& ptPrevSel) ;
// 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 ExeInvertVector( const INTVECTOR& vIds) ;
EXE_EXPORT bool ExeModifyText( int nId, const std::string& sNewText) ;
EXE_EXPORT bool ExeChangeTextFont( int nId, const std::string& sNewFont) ;
EXE_EXPORT bool ExeChangeTextHeight( int nId, double dH) ;
EXE_EXPORT bool ExeChangeTextItalic( int nId, bool bItl) ;
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 int ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount, double dLinTol = 10 * EPS_SMALL) ;
EXE_EXPORT int ExeCurveMedialAxis( int nId) ;
EXE_EXPORT bool ExeApproxCurve( int nId, int nApprType, double dLinTol, double dMaxSegmLen = INFINITO) ;
EXE_EXPORT bool ExeProjectCurveOnPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT bool ExeChangeClosedCurveStart( int nId, double dU) ;
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 ExeSpiralizeCurveAlongExtrusion( int nId, double dDelta) ;
EXE_EXPORT bool ExeSpiralizeCurveAlongGuide( int nCrvId, int nGuideId, double dLinTol) ;
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 ExeTrimCurveWithRegion( int nCrvId, int nRegId, bool bInVsOut, bool bOn, int* pnCount) ;
EXE_EXPORT int ExeTrimFlatCurveWithBox( int nCrvId, const Frame3d& frBox, const Vector3d& vtDiag, bool bInVsOut, bool bOn, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeSplitCurve( int nId, int nParts) ;
EXE_EXPORT int ExeSplitCurveAtPoint( int nId, const Point3d& ptOn, int nRefType) ;
EXE_EXPORT int ExeSplitCurveAtParam( int nId, double dParam) ;
EXE_EXPORT int ExeSplitCurveAtCorners( int nId, double dTgAngToler, int* pnCount) ;
EXE_EXPORT int ExeSplitCurveAtSelfInters( int nId, int* pnCount) ;
EXE_EXPORT int ExeGetCurveLinearConvexHullXY( int nId, double dLinTol, int nRefType) ;
EXE_EXPORT bool ExeModifyCircleCP( int nId, const Point3d& ptOn, int nRefType) ;
EXE_EXPORT bool ExeModifyCircle3P( int nId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT bool ExeModifyArcRadius( int nId, double dRad, bool bKeepCenter = true) ;
EXE_EXPORT bool ExeModifyArcAngCenter( int nId, double dAngCenter) ;
EXE_EXPORT bool ExeModifyArcC2P( int nId, const Point3d& ptEnd, int nRefType) ;
EXE_EXPORT bool ExeModifyArc3P( int nId, const Point3d& ptMid, int nRefType) ;
EXE_EXPORT bool ExeModifyArcToExplementary( int nId) ;
EXE_EXPORT bool ExeModifyArcByFlip( int nId) ;
EXE_EXPORT bool ExeCloseCurveCompo( int nId) ;
EXE_EXPORT bool ExeAddCurveCompoCurve( int nId, int nAddCrvId, bool bEraseOrig, bool bEndVsStart) ;
EXE_EXPORT bool ExeAddCurveCompoLine( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType) ;
EXE_EXPORT bool ExeAddCurveCompoLineTg( int nId, double dLen, bool bEndVsStart) ;
EXE_EXPORT bool ExeAddCurveCompoArc2P( int nId, const Point3d& ptMid, const Point3d& ptP, bool bEndVsStart, int nRefType) ;
EXE_EXPORT bool ExeAddCurveCompoArcTg( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType) ;
EXE_EXPORT bool ExeRemoveCurveCompoCurve( int nId, bool bLast) ;
EXE_EXPORT bool ExeAddCurveCompoJoint( int nId, double dU) ;
EXE_EXPORT bool ExeModifyCurveCompoJoint( int nId, int nU, const Point3d& ptP, int nRefType) ;
EXE_EXPORT int ExeGetCurveCompoJointCount( int nId) ;
EXE_EXPORT bool ExeRemoveCurveCompoJoint( int nId, int nU) ;
EXE_EXPORT bool ExeMoveCurveCompoCurve( int nId, int nCrv, const Vector3d& vtMove, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveCompoCurveToArc( int nId, int nCrv, const Point3d& ptMid, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveCompoCurveToLine( int nId, int nCrv) ;
EXE_EXPORT int ExeExplodeCurveCompo( int nId, int* pnCount) ;
EXE_EXPORT bool ExeMergeCurvesInCurveCompo( int nId, double dLinTol, bool bStartEnd) ;
EXE_EXPORT bool ExeRemoveCurveCompoUndercutOnY( int nId, double dLinTol) ;
EXE_EXPORT bool ExeCurveCompoSetTempProp( int nId, int nCrv, int nProp, int nPropInd = 0) ;
EXE_EXPORT bool ExeCurveCompoSetTempParam( int nId, int nCrv, double dParam, int nParamInd = 0) ;
EXE_EXPORT bool ExeChainCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ;
EXE_EXPORT bool ExeReorderCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ;
EXE_EXPORT bool ExeProjectCurveOnSurf( int nCurveId, const INTVECTOR& vnSurfId, int nDestGrpId,
double dLinTol, double dMaxSegmLen) ;
EXE_EXPORT bool ExeProjectCurveOnSurfDir( int nCurveId, const INTVECTOR& vnSurfId, const Vector3d& vtProj, int nDestGrpId,
double dLinTol, double dMaxSegmLen, bool bDirFromProj, int nRefType) ;
EXE_EXPORT bool ExeProjectCurveOnSurfExt( int nCurveId, const INTVECTOR& vnSurfId, int nGuideId, int nDestGrpId,
double dLinTol, double dMaxSegmLen, bool bDirFromGuide) ;
EXE_EXPORT int ExeCurveGetVoronoi( const INTVECTOR& vIds, int nDestGrpId, int nBound, int* pnCount) ;
EXE_EXPORT int ExeCurveGetMedialAxis( const INTVECTOR& vIds, int nDestGrpId, int nSide, int* pnCount) ;
EXE_EXPORT int ExeCurveGetFatCurve( int nId, int nDestGrpId, double dRad, bool bSquareEnds, bool bSquareMids, int* pnCount) ;
EXE_EXPORT bool ExeCurveBezierIncreaseDegree( int nCrvId) ;
EXE_EXPORT bool ExeCurveBezierDecreaseDegree( int nCrvId, double dTol = 100) ;
EXE_EXPORT bool ExeCurveBezierApproxToNonRat( int nCrvId, double dTol = 10 * EPS_SMALL) ;
EXE_EXPORT bool ExeCurveBezierApproxWithCubicBeziers( int nCrvId, double dTol = 10 * EPS_SMALL) ;
// GeomDb Surf Modify
EXE_EXPORT bool ExeInvertSurface( const INTVECTOR& vIds) ;
EXE_EXPORT int ExeExplodeSurface( int nId, int* pnCount) ;
EXE_EXPORT bool ExeApproxSurface( int nId, double dLinTol, double dTriaMinSide = 100 * EPS_SMALL) ;
EXE_EXPORT bool ExeSurfFrAdd( int nId1, int nId2) ;
EXE_EXPORT bool ExeSurfFrSubtract( int nId1, int nId2) ;
EXE_EXPORT bool ExeSurfFrIntersect( int nId1, int nId2) ;
EXE_EXPORT bool ExeSurfFrOffset( int nId, double dDist, int nType) ;
EXE_EXPORT bool ExeSurfFrOffsetAdv( int nId, double dDist, int nType, int& nNewId) ;
EXE_EXPORT bool ExeSurfFrEraseChunk( int nId, int nChunk) ;
EXE_EXPORT bool ExeSurfFrMoveSimpleNoCollision( int nId1, int nId2, const Vector3d& vtDir, double& dLen, int nRefType) ;
EXE_EXPORT bool ExeSurfFrRotateSimpleNoCollision( int nId1, int nId2, const Point3d& ptCen, double& dAngDeg, int nRefType) ;
EXE_EXPORT bool ExeSurfTmMoveVertex( int nId, int nVert, const Point3d& ptNewVert, int nRefType, bool bUpdate) ;
EXE_EXPORT bool ExeSurfTmMoveFacet( int nId, int nFacet, const Vector3d& vtMove, int nRefType, bool bUpdate) ;
EXE_EXPORT int ExeSurfTmToTriangles( int nId, int* pnCount) ;
EXE_EXPORT bool ExeSurfTmRemoveFacet( int nId, int nFacet) ;
EXE_EXPORT bool ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ;
EXE_EXPORT bool ExeSurfTmRemovePart( int nId, int nPart) ;
EXE_EXPORT bool ExeCutSurfTmPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSaveOnEq, int nRefType) ;
EXE_EXPORT bool ExeCutSurfBzPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSaveOnEq, int nRefType) ;
EXE_EXPORT bool ExeCutSurfTmClosedCurve( int nSurfId, int nCurveId, bool bSaveOnEq) ;
EXE_EXPORT bool ExeSurfTmAdd( int nId1, int nId2, bool bTwoColors = false) ;
EXE_EXPORT bool ExeSurfTmSubtract( int nId1, int nId2, bool bTwoColors = false) ;
EXE_EXPORT bool ExeSurfTmIntersect( int nId1, int nId2, bool bTwoColors = false) ;
EXE_EXPORT int ExeSurfTmSplit( int nId, int nSplitterId, int* pnCount) ;
EXE_EXPORT bool ExeSurfTmCut( int nId, int nCutterId, bool bInVsOut, bool bSaveOnEq) ;
EXE_EXPORT bool ExeSurfTmSubtractProjectedFacesOnFace( int nSurfId, int nFaceInd, int nDestGrpId,
INTVECTOR vSurfsId, bool bOCFlag,
bool& bExistProjection, int& nNewId, int& nNewFaceNbr) ;
EXE_EXPORT bool ExeSurfTmSetFaceColor( int nId, int nFacet, int nColor) ;
EXE_EXPORT bool ExeSurfTmGetTriaColor( int nId, int nTria, int& nColor) ;
EXE_EXPORT bool ExeSurfTmResetTwoColors( int nId) ;
EXE_EXPORT bool ExeSurfTmSetShowEdges( int nId, bool bShow) ;
EXE_EXPORT bool ExeSurfTmGetShowEdges( int nId, bool& bShow) ;
EXE_EXPORT bool ExeSurfBzTrim( int nId, int nCutterId) ;
EXE_EXPORT bool ExeSurfTmSetSmoothAng( int nId, double dAngDeg) ;
// GeomDb Volume Modify
EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ;
EXE_EXPORT bool ExeVolZmapChangeResolution( int nId, int nNewRes) ;
EXE_EXPORT bool ExeVolZmapSetShowEdges( int nId, bool bShow) ;
EXE_EXPORT bool ExeRemoveVolZmapPart( int nId, int nPart) ;
EXE_EXPORT bool ExeVolZmapSetStdTool( const INTVECTOR& vIds, const std::string& sToolName,
double dLen, double dDiam, double dCornR, double dCutterH, int nFlag, bool bFirst) ;
EXE_EXPORT bool ExeVolZmapSetAdvTool( const INTVECTOR& vIds, const std::string& sToolName,
double dLen, double dDiam, double dTipLen, double dTipDiam, double dCornR, double dCutterH, int nFlag, bool bFirst) ;
EXE_EXPORT bool ExeVolZmapSetSawTool( const INTVECTOR& vIds, const std::string& sToolName,
double dLen, double dDiam, double dThick, double dStemDiam, double dCornR, int nFlag, bool bFirst) ;
EXE_EXPORT bool ExeVolZmapSetGenTool( const INTVECTOR& vIds, const std::string& sToolName, int nToolSectId, int nFlag, bool bFirst) ;
EXE_EXPORT bool ExeVolZmapSetMortiserTool( const INTVECTOR& vIds, const std::string& sToolName,
double dLen, double dWidth, double dThick, double dCornR, int nFlag, bool bFirst) ;
EXE_EXPORT bool ExeVolZmapSetChiselTool( const INTVECTOR& vIds, const std::string& sToolName,
double dLen, double dWidth, double dThick, int nFlag, bool bFirst) ;
EXE_EXPORT bool ExeVolZmapSetAdditiveTool( const INTVECTOR& vIds, const std::string& sToolName,
double dLen, double dDiam, double dCornR, int nFlag, bool bFirst) ;
EXE_EXPORT bool ExeVolZmapResetTools( const INTVECTOR& vIds) ;
EXE_EXPORT int ExeVolZmapGetToolOutline( int nId, int nDestGrpId, bool bApprox = false) ;
EXE_EXPORT bool ExeVolZmapMillingStep( int nId, const Point3d& ptPs, const Vector3d& vtDs,
const Point3d& ptPe, const Vector3d& vtD, int nRefType) ;
EXE_EXPORT bool ExeVolZmapMillingStep( int nId, const Point3d& ptPs, const Vector3d& vtDs, const Vector3d& vtAs,
const Point3d& ptPe, const Vector3d& vtDe, const Vector3d& vtAe, int nRefType) ;
EXE_EXPORT bool ExeCutVolZmapPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT bool ExeUpdateVolZmapByAddingSurfTm( int nVolZmapId, int nStmId) ;
EXE_EXPORT bool ExeVolZmapMakeUniform( int nVolZmapId, double dToler, bool bExtensionFirst, int nToolNum) ;
EXE_EXPORT bool ExeVolZMapOffset( int nId, double dDist, int nType) ;
EXE_EXPORT bool ExeVolZMapRemoveFins( int nVolZMapId, const Vector3d& vtDir, double dThick, int nRefType) ;
// GeomDB Get
EXE_EXPORT bool ExeTextNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExeTextGetContent( int nId, std::string& sText) ;
EXE_EXPORT bool ExeTextGetFont( int nId, std::string& sFont) ;
EXE_EXPORT bool ExeTextGetHeight( int nId, double& dH) ;
EXE_EXPORT bool ExeTextGetItalic( int nId, bool& bItl) ;
// GeomDb Get Pocketing
EXE_EXPORT bool ExePocketing( int nId, double dRad, double dStep, double dAngle, int nType, bool bSmooth, int nDestGrpId, int& nFirstId, int& nCrvCount) ;
EXE_EXPORT int ExeSurfFrGetZigZagInfill( int nId, int nDestGrpId, double dStep, double dAng, bool bSmooth, bool bRemoveOverlapLink,int* pnCount) ;
// GeomDb Curve Get
EXE_EXPORT bool ExeCurveDomain( int nId, double* pdStart, double* pdEnd) ;
EXE_EXPORT bool ExeCurveLength( int nId, double* pdLen) ;
EXE_EXPORT bool ExeCurveLengthAtParam( int nId, double dPar, double* pdLen) ;
EXE_EXPORT bool ExeCurveParamAtLength( int nId, double dLen, double* pdPar) ;
EXE_EXPORT bool ExeCurveParamAtPoint( int nId, const Point3d& pt, double dTol, int nRefType, double* pdPar) ;
EXE_EXPORT bool ExeCurveLengthAtPoint( int nId, const Point3d& ptOn, double dExtend, double* pdLen) ;
EXE_EXPORT bool ExeCurveIsClosed( int nId) ;
EXE_EXPORT bool ExeCurveIsFlat( int nId, Plane3d& Plane, bool bUseExtrusion = true, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveIsACircle( int nId, Point3d& ptCen, Vector3d& vtN, double& dRad, bool& bCCW, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveIsARectangle( int nId, Point3d& ptP, Vector3d& vtL1, Vector3d& vtL2, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveIsATrapezoid( int nId, Point3d& ptP, Vector3d& vtB1, Vector3d& vtL1, Vector3d& vtB2, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveAreaXY( int nId, double& dArea) ;
EXE_EXPORT bool ExeCurveArea( int nId, Plane3d& Plane, double& dArea) ;
EXE_EXPORT bool ExeCurveMaxOffset( int nId, double& dMaxOffset) ;
EXE_EXPORT bool ExeCurveNearestExtremityToPoint( int nId, const Point3d& ptP, bool& bStart) ;
EXE_EXPORT bool ExeCurveExtrusion( int nId, int nRefId, Vector3d& vtExtr) ;
EXE_EXPORT bool ExeCurveThickness( int nId, double* pdThick) ;
EXE_EXPORT bool ExeCurveSelfIntersCount( int nId, int* pnCount) ;
EXE_EXPORT bool ExeCurveMinAreaRectangleXY( int nId, int nRefId, Frame3d& frRect, double& dDimX, double& dDimY) ;
EXE_EXPORT int ExeClosedCurveClassify( int nId1, int nId2) ;
EXE_EXPORT int ExeCurveWithRegionClassify( int nCurveId, int nRegionId) ;
EXE_EXPORT bool ExeArcRadius( int nId, double* pdRad) ;
EXE_EXPORT bool ExeArcAngCenter( int nId, double* pdAngDeg) ;
EXE_EXPORT bool ExeArcDeltaN( int nId, double* pdDeltaN) ;
EXE_EXPORT bool ExeArcNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExeCurveCompoLength( int nId, int nSimpCrv, double& dLen) ;
EXE_EXPORT bool ExeCurveCompoCenter( int nId, int nSimpCrv, int nRefId, Point3d& ptCen) ;
EXE_EXPORT bool ExeCurveCompoRadius( int nId, int nSimpCrv, double& dRad) ;
EXE_EXPORT bool ExeCurveCompoAngCenter( int nId, int nSimpCrv, double& dAngCen) ;
EXE_EXPORT bool ExeCurveCompoNormVersor( int nId, int nSimpCrv, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExeCurveCompoGetTempProp( int nId, INTVECTOR& vProp, int nPropInd) ;
EXE_EXPORT bool ExeCurveCompoGetTempParam( int nId, DBLVECTOR& vParam, int nParamInd) ;
EXE_EXPORT int ExeShowCurveBezierControlPoints( int nCrvId, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeCopyCompoSubCurve( int nCrvId, int nSubCrvToCopy, int nDestGrpId) ;
EXE_EXPORT int ExeCopyParamRange( int nCrvId, double dUStart, double dUEnd, int nDestGrpId) ;
// GeomDb Surf Get
EXE_EXPORT bool ExeSurfArea( int nId, double& dArea) ;
EXE_EXPORT bool ExeSurfIsClosed( int nId) ;
EXE_EXPORT bool ExeSurfVolume( int nId, double& dVol) ;
EXE_EXPORT bool ExeSurfFrNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExeSurfFrGrossArea( int nId, double& dArea) ;
EXE_EXPORT bool ExeSurfFrChunkMaxOffset( int nId, int nChunk, double& dMaxOffset) ;
EXE_EXPORT bool ExeSurfFrTestExternal( int nId1, int nId2, double dMinDist) ;
EXE_EXPORT int ExeSurfFrChunkCount( int nId) ;
EXE_EXPORT int ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2, double dToler = 0) ;
EXE_EXPORT bool ExeSurfFrChunkCenter( int nId, int nChunk, int nRefId, Point3d& ptCen, Vector3d& vtN) ;
EXE_EXPORT int ExeExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeSurfFrGetZigZagInfill( int nId, int nDestGrpId, double dStep, double dAng, bool bSmooth, int* pnCount) ;
EXE_EXPORT int ExeSurfTmVertexCount( int nId) ;
EXE_EXPORT int ExeSurfTmFacetCount( int nId) ;
EXE_EXPORT int ExeSurfTmPartCount( int nId) ;
EXE_EXPORT bool ExeSurfTmGetPartAndShellFromFacet( int nSurfTm, int nFacet, int& nPart, int& nShell) ;
EXE_EXPORT bool ExeSurfTmGetVertex( int nId, int nVert, int nRefId, Point3d& ptVert) ;
EXE_EXPORT bool ExeSurfTmGetNearestVertex( int nId, const Point3d& ptNear, int nRefId, int& nVert, Point3d& ptVert) ;
EXE_EXPORT bool ExeSurfTmTriangleNormVersor( int nId, int nTria, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT int ExeSurfTmFacetFromTria( int nId, int nT) ;
EXE_EXPORT bool ExeSurfTmFacetAdjacencies( int nId, int nFacet, INTMATRIX& vAdj) ;
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 ExeSurfTmFacetMinAreaRectangle( int nId, int nFacet, int nRefId, Frame3d& frRect, double& dDimX, double& dDimY) ;
EXE_EXPORT bool ExeSurfTmFacetElevationInBBox( int nId, int nFacet, const BBox3d& b3Box, bool bAcceptOutFacet, int nRefId, double& dElev) ;
EXE_EXPORT bool ExeSurfTmFacetElevationInClosedSurfTm( int nFacetStmId, int nFacet, int nClosedStmId, bool bAcceptOutFacet, double& dElev) ;
EXE_EXPORT bool ExeSurfTmFacetOppositeSide( int nId, int nFacet, const Vector3d& vtDir, int nRefId,
Point3d& ptP1, Point3d& ptP2) ;
EXE_EXPORT bool ExeSurfTmFacetOppositeSideEx( int nId, int nFacet, const Vector3d& vtDir, int nRefId,
Point3d& ptP1, Point3d& ptPm, Point3d& ptP2, Vector3d& vtIn1, Vector3d& vtOut2, double& dLen, double& dWidth) ;
EXE_EXPORT bool ExeSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId, bool& bAdjac, Point3d& ptP1, Point3d& ptP2, double& dAng) ;
EXE_EXPORT int ExeExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, double dToler, int nDestGrpId, int nRefType, int* pnCount, bool bAllTria = false) ;
EXE_EXPORT int ExeGetSurfTmParSilhouettes( const INTVECTOR& vIds, const Point3d& ptOn, const Vector3d& vtN, const DBLVECTOR& vdDist,
double dToler, int nDestGrpId, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeExtractSurfTmTriaLoop( int nId, int nT, int nDestGrpId) ;
EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
EXE_EXPORT bool ExeSurfTmGetAllVertInFacet( int nId, int nFacet, INTVECTOR& vVert) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBox( int nId, int nFacet, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBoxGlob( int nId, int nFacet, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBoxRef( int nId, int nFacet, int nFlag, const Frame3d& frRef, BBox3d& b3Box) ;
EXE_EXPORT bool ExeSurfTmGetFacetOutlineInfo( int nId, int nFacet, int nRefId,
int& nStatus, BOOLVECTOR& vbOpen, INTVECTOR& vnAdj, DBLVECTOR& vdLen,
PNTVECTOR& vptStart, VCT3DVECTOR& vvtNorm, DBLVECTOR& vdElev) ;
EXE_EXPORT int ExeSurfTmGetEdges( int nId, int nDestGrpId, bool bSmoothAng, int* pnCount) ;
EXE_EXPORT bool ExeSurfTmGetCurvatures( int nId, int nV, double& dK1, Vector3d& vtK1, double& dK2, Vector3d& vtK2) ;
EXE_EXPORT bool ExeSurfBezierGetPoint( int nSurfId, double dU, double dV, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeSurfBezierGetPointD1( int nSurfId, double dU, double dV, int nUsd, int nVsd, int nRefId,
Point3d& ptP, Vector3d& vtDerU, Vector3d& vtDerV) ;
EXE_EXPORT bool ExeSurfBezierGetPointNrmD1( int nSurfId, double dU, double dV, int nUsd, int nVsd, int nRefId,
Point3d& ptP, Vector3d& vtN, Vector3d& vtDerU, Vector3d& vtDerV) ;
EXE_EXPORT bool ExeSurfBezierParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nRefId, double& dU, double& dV) ;
EXE_EXPORT bool ExeSurfBezierGetInfo( int nSurfId, int& nDegU, int& nDegV, int& nSpanU, int& nSpanV, bool& bIsRat, bool& bTrimmed) ;
EXE_EXPORT int ExeSurfBezierGetCurveU( int nSurfId, double dV, int nDestGrpId) ;
EXE_EXPORT int ExeSurfBezierGetCurveV( int nSurfId, double dU, int nDestGrpId) ;
EXE_EXPORT int ExeSurfBezierGetControlCurveU( int nSurfId, int nIndV, int nDestGrpId) ;
EXE_EXPORT int ExeSurfBezierGetControlCurveV( int nSurfId, int nIndU, int nDestGrpId) ;
EXE_EXPORT int ExeExtractSurfBezierLoops( int nId, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeShowSurfBezierControlPoints( int nSrfId, int nDestGrpId, int* pnCount) ;
// GeomDb Volume Get
EXE_EXPORT bool ExeVolZmapVolume( int nId, double& dVol) ;
EXE_EXPORT int ExeVolZmapResolution( int nId) ;
EXE_EXPORT int ExeVolZmapPartCount( int nId) ;
EXE_EXPORT bool ExeVolZmapPartVolume( int nId, int nPart, double& dVol) ;
EXE_EXPORT bool ExeVolZmapGetPartBBox( int nId, int nPart, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeVolZmapGetPartBBoxGlob( int nId, int nPart, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeVolZmapGetPartMinDist( int nId, const Point3d ptNear, int nRefType, int& nPart) ;
EXE_EXPORT int ExeCopyVolZmapPart( int nId, int nPart, int nDestGrpId) ;
EXE_EXPORT bool ExeVolZmapGetDepth( int nId, const Point3d& ptP, const Vector3d& vtDir, int nRefType, bool bExact,
double& dInLen, double& dOutLen) ;
EXE_EXPORT int ExeVolZmapGetEdges( int nId, int nDestGrpId, 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 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 ExeTransform( const INTVECTOR& vIds, const Frame3d& frRef, int nRefType) ;
EXE_EXPORT bool ExeMove( const INTVECTOR& vIds, const Vector3d& vtMove, int nRefType) ;
EXE_EXPORT bool ExeRotate( const INTVECTOR& vIds, const Point3d& ptAx, const Vector3d& vtAx,
double dAngRotDeg, int nRefType) ;
EXE_EXPORT bool ExeScale( const INTVECTOR& vIds, const Frame3d& frRef,
double dCoeffX, double dCoeffY, double dCoeffZ, int nRefType) ;
EXE_EXPORT bool ExeMirror( const INTVECTOR& vIds, const Point3d& ptP, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT bool ExeShear( const 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) ;
// Geo Dist
EXE_EXPORT bool ExePointCurveDist( const Point3d& ptP, int nCurveId, int nRefType,
double* pdDist, Point3d& ptMin, double* pdU) ;
EXE_EXPORT bool ExePointCurveDistSide( const Point3d& ptP, int nCurveId, const Vector3d& vtN, int nRefType,
double* pdDist, Point3d& ptMin, int* pnSide) ;
EXE_EXPORT bool ExePointSurfTmDist( const Point3d& ptP, int nStmId, int nRefType,
double* pdDist, Point3d& ptMin, int* pnTria) ;
EXE_EXPORT bool ExePointSurfBzDist( const Point3d& ptP, int nSbzId, int nRefType,
double* pdDist, Point3d& ptMin, Vector3d& vtN) ;
// Geo Intersect
EXE_EXPORT bool ExeLineCurveInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType,
INTDBLVECTOR& vInters) ;
EXE_EXPORT bool ExeLineBoxInters( const Point3d& ptP, const Vector3d& vtDir, const BBox3d& b3Box,
INTDBLVECTOR& vInters) ;
EXE_EXPORT bool ExeLineSurfTmInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType,
INTDBLVECTOR& vInters) ;
EXE_EXPORT bool ExeLineSurfBzInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType,
INTDBLVECTOR& vInters) ;
EXE_EXPORT bool ExeLineVolZmapInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType,
INTDBLVECTOR& vInters) ;
EXE_EXPORT int ExePlaneCurveInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType,
int* pnCount) ;
EXE_EXPORT int ExePlaneBoxInters( const Point3d& ptOn, const Vector3d& vtN, const BBox3d& b3Box, int nDestGrpId, int nRefType,
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
EXE_EXPORT int ExePlaneSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType, double dToler,
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
EXE_EXPORT int ExeParPlanesSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, const DBLVECTOR& vdDist, int nId, int nDestGrpId, int nRefType, double dToler,
int* pnGrpCount) ;
EXE_EXPORT int ExePlaneVolZmapInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType,
int* pnCount) ;
EXE_EXPORT int ExeCurveCurveInters( int nId1, int nId2, int nDestGrpId,
int* pnPntCount, int* pnCrvCount, bool bOnly3D = false) ;
EXE_EXPORT int ExeCurveSurfTmInters( int nCrvId, int nStmId, int nDestGrpId,
int* pnPntCount, int* pnCrvCount) ;
EXE_EXPORT int ExeSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId, double dToler,
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
EXE_EXPORT bool ExeBBoxOverlap( const BBox3d& bboxA, const Frame3d& frA, const BBox3d& bboxB, const Frame3d& frB) ;
// Collision Detection
EXE_EXPORT int ExeCDeBoxSolid( const Frame3d& frBox, const Vector3d& vtDiag, int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeRectPrismoidSolid( const Frame3d& frPrismoid, double dBaseLenX, double dBaseLenY,
double dTopLenX, double dTopLenY, double dHeight,
int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeCylSolid( const Frame3d& frCyl, double dR, double dH, int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeConeSolid( const Frame3d& frCone, double dR1, double dR2, double dH, int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeSpheSolid( const Point3d& ptCen, double dR, int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeSolidSolid( int nSolid1Id, int nSolid2Id, double dSafeDist) ;
// Test Interference
EXE_EXPORT int ExeTestBoxSurface( const Frame3d& frBox, const Vector3d& vtDiag, int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestRectPrismoidSurface( const Frame3d& frPrismoid, double dBaseLenX, double dBaseLenY,
double dTopLenX, double dTopLenY, double dHeight,
int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestCylSurface( const Frame3d& frCyl, double dR, double dH, int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestConeSurface( const Frame3d& frCone, double dR1, double dR2, double dH, int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestSpheSurface( const Point3d& ptCen, double dR, int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestSurfaceSurface( int nSurf1Id, int nSurf2Id, double dSafeDist, bool bTestEnclosion = false) ;
// Maximum Filler
EXE_EXPORT bool ExeMaxFillerStart( void) ;
EXE_EXPORT bool ExeMaxFillerAddPart( int nPartId, double dLen) ;
EXE_EXPORT bool ExeMaxFillerAddPart( int nPartId, double dLen, double dDispLen, int nCount) ;
EXE_EXPORT bool ExeMaxFillerCompute( double dLenToFill, double dStartGap, double dMidGap, double dEndGap, int nSortType) ;
EXE_EXPORT bool ExeMaxFillerGetResults( int& nFilledParts, int& nDiffParts, double& dTotFillRatio) ;
EXE_EXPORT bool ExeMaxFillerGetOneResult( int nInd, int& nPartId, int& nCount) ;
// Nesting
// CreateFlatParts
EXE_EXPORT bool ExeCreateAdjustFlatParts( int nType, double dToler) ;
EXE_EXPORT bool ExeCreateFlatParts( int nType, double dToler) ;
EXE_EXPORT bool ExeAdjustFlatParts( void) ;
EXE_EXPORT bool ExeAdjustFlatPart( int nPartId) ;
EXE_EXPORT bool ExeAdjustFlatPartLayer( int nLayerId) ;
EXE_EXPORT bool ExeCalcFlatPartUpRegion( int nPartId, bool bCalc) ;
EXE_EXPORT bool ExeCalcFlatPartDownRegion( int nPartId, double dH) ;
// Box Nesting
EXE_EXPORT bool ExePackBox( int nId, double dXmin, double dYmin,
double dXmax, double dYmax, double dOffs, bool bBottomUp) ;
EXE_EXPORT bool ExePackBoxCluster( const INTVECTOR& vIds, double dXmin, double dYmin,
double dXmax, double dYmax, double dOffs, bool bBottomUp) ;
EXE_EXPORT bool ExeMoveBoxCluster( const INTVECTOR& vIds, Vector3d& vtMove,
double dXmin, double dYmin, double dXmax, double dYmax, double dOffs) ;
EXE_EXPORT bool ExeGetClusterBBoxGlob( const INTVECTOR& vIds, BBox3d& b3Box) ;
// Part Nesting
EXE_EXPORT bool ExeCreateOutRegion( int nParentId, double dXmin, double dYmin, double dXmax, double dYmax, double dZ) ;
EXE_EXPORT bool ExeCreateOutRegion( int nParentId, int nOutCrvId) ;
EXE_EXPORT bool ExeCreateReferenceRegion( int nParentId, int nOutCrvId, bool bBottomUp) ;
EXE_EXPORT bool ExeCreateDamagedRegion( int nParentId, int nDmgCrvId) ;
EXE_EXPORT bool ExeVerifyPartCluster( const INTVECTOR& vIds, bool bReducedCut) ;
EXE_EXPORT bool ExePackPartClusterInRectangle( const INTVECTOR& vIds, bool bReducedCut, bool bBottomUp) ;
EXE_EXPORT bool ExePackPartCluster( const INTVECTOR& vIds, bool bReducedCut, bool bBottomUp) ;
EXE_EXPORT bool ExeMovePartCluster( const INTVECTOR& vIds, bool bReducedCut, Vector3d& vtMove) ;
EXE_EXPORT bool ExeRotatePartCluster( const INTVECTOR& vIds, bool bReducedCut, const Point3d& ptCen, double& dRotAngDeg) ;
EXE_EXPORT bool ExeTgMovePartClusterOnCollision( const INTVECTOR& vIds, bool bReducedCut, Vector3d& vtMove) ;
EXE_EXPORT bool ExeAlignPartClusterOnCollision( const INTVECTOR& vIds, bool bReducedCut, bool& bMoved) ;
EXE_EXPORT bool ExeMoveToSnapPointOnCollision( const INTVECTOR& vIds, bool bReducedCut, double dMaxMove, bool& bMoved) ;
EXE_EXPORT void ExeSaveCollInfo( void) ;
EXE_EXPORT void ExeRestoreCollInfo( void) ;
EXE_EXPORT bool ExeGetPartClusterCenterGlob( const INTVECTOR& vIds, Point3d& ptCen) ;
EXE_EXPORT bool ExeAutomaticPackParts( INTVECTOR& vIds, bool bMinimizeOnXvsY, bool bReducedCut, bool bGuillotineMode, int nMaxTime) ;
// Machining Nest
EXE_EXPORT bool ExeVerifyMachining( int nMchId, int& nResult) ;
EXE_EXPORT int ExeVerifyCutAsSplitting( int nMchId) ;
// AutoNesting
EXE_EXPORT bool ExeAutoNestStart( void) ;
EXE_EXPORT bool ExeAutoNestSetGuillotineMode( void) ;
EXE_EXPORT bool ExeAutoNestSetStartCorner( int nCorner) ;
EXE_EXPORT bool ExeAutoNestAddSheet( int nSheetId, int nOutlineId, double dKerf, int nPriority, int nCount, bool* pbIsRect = nullptr) ;
EXE_EXPORT bool ExeAutoNestAddDefectToSheet( int nSheetId, int nDefectId) ;
EXE_EXPORT bool ExeAutoNestAddRestrictedZoneToSheet( int nSheetId, int nRstZoneId, int nRzConstrId) ;
EXE_EXPORT bool ExeAutoNestAddPart( int nPartId, int nOutlineId, bool bCanFlip, bool bCanRotate, double dRotStep, int nPriority, int nCount) ;
EXE_EXPORT bool ExeAutoNestAddHoleToPart( int nPartId, int nHoleId) ;
EXE_EXPORT bool ExeAutoNestAddAnotherOutlineToPart( int nPartId, int nAnotherOutlineId) ;
EXE_EXPORT bool ExeAutoNestAddToolOutlineToPart( int nPartId, int nToolOutlineId) ;
EXE_EXPORT bool ExeAutoNestSetRestrictedZoneToPart( int nPartId, int nRzConstrId) ;
EXE_EXPORT bool ExeAutoNestSetStripYconstraintToPart( int nPartId, const Point3d& ptRef, double dStripStart, double dStripRepeat) ;
EXE_EXPORT bool ExeAutoNestSetStripXconstraintToPart( int nPartId, const Point3d& ptRef, double dStripStart, double dStripRepeat) ;
EXE_EXPORT bool ExeAutoNestSetInterpartGap( double dGap) ;
EXE_EXPORT bool ExeAutoNestSetShearGap( double dShearGap) ;
EXE_EXPORT bool ExeAutoNestSetReportFile( const std::string& sReportFile) ;
EXE_EXPORT bool ExeAutoNestCompute( bool bMinimizeOnXvsY, int nMaxTime) ;
EXE_EXPORT bool ExeAutoNestCancelComputation( void) ;
EXE_EXPORT bool ExeAutoNestGetComputationStatus( int& nStatus) ;
EXE_EXPORT bool ExeAutoNestPrintResults( const std::string& sHtmlFile) ;
EXE_EXPORT bool ExeAutoNestGetResults( int& nNestedParts, int& nParts, int& nSheets, int& nNestings, double& dTotFillRatio) ;
EXE_EXPORT bool ExeAutoNestGetOneResult( int nInd, int& nType, int& nId, int& nFlag, double& dX, double& dY, double& dAngRot) ;
EXE_EXPORT bool ExeAutoNestCalcShearSequence( int nNesting, PNTVECTOR& vPtStart, PNTVECTOR& vPtEnd) ;
// Collision Avoidance Tool SurfaceTriMesh
EXE_EXPORT bool ExeCAvSetStdTool( double dToolLen, double dToolDiam, double dToolCornR) ;
EXE_EXPORT bool ExeCAvSetAdvTool( double dToolLen, double dToolDiam, double dTipLen, double dTipDiam, double dToolCornR) ;
EXE_EXPORT bool ExeCAvSetSawTool( double dToolLen, double dToolDiam, double dThickness, double dStemDiam, double dToolCornR) ;
EXE_EXPORT bool ExeCAvSetGenTool( int nToolSectId) ;
EXE_EXPORT int ExeCAvGetToolOutline( int nDestGrpId, bool bApprox = false) ;
EXE_EXPORT double ExeCAvToolPosBox( const Point3d& ptP, const Vector3d& vtAx, const BBox3d& b3Box, const Vector3d& vtMove) ;
EXE_EXPORT double ExeCAvToolPosStm( const Point3d& ptP, const Vector3d& vtAx, int nSurfTmId, const Vector3d& vtMove, int nRefType) ;
EXE_EXPORT bool ExeCAvToolPathStm( int nCrvId, const Vector3d& vtAx, int nSurfTmId, const Vector3d& vtMove, double dLinTol, int nRefType) ;
// Machining
EXE_EXPORT bool ExeInitMachMgr( const std::string& sMachinesDir, const std::string& sToolMakersDir) ;
EXE_EXPORT bool ExeUpdateMachMgr( void) ;
// Errors & Warnings
EXE_EXPORT int ExeGetLastMachMgrErrorId( void) ;
EXE_EXPORT std::string ExeGetLastMachMgrErrorString( void) ;
EXE_EXPORT int ExeGetMachMgrWarningId( int nInd) ;
EXE_EXPORT std::string ExeGetMachMgrWarningString( int nInd) ;
// Machines
EXE_EXPORT bool ExeGetMachines( STRVECTOR& vsMachineNames, STRVECTOR& vsMachineDirs) ;
EXE_EXPORT bool ExeSetCurrMachine( const std::string& sMachineName) ;
EXE_EXPORT bool ExeGetCurrMachineName( std::string& sMachineName) ;
EXE_EXPORT bool ExeGetCurrMachineDir( std::string& sMachineDir) ;
// Machining Groups
EXE_EXPORT int ExeGetMachGroupCount( void) ;
EXE_EXPORT int ExeGetFirstMachGroup( void) ;
EXE_EXPORT int ExeGetNextMachGroup( int nId) ;
EXE_EXPORT int ExeGetLastMachGroup( void) ;
EXE_EXPORT int ExeGetPrevMachGroup( int nId) ;
EXE_EXPORT bool ExeGetMachGroupNewName( std::string& sName) ;
EXE_EXPORT int ExeAddMachGroup( const std::string& sName, const std::string& sMachineName) ;
EXE_EXPORT int ExeCopyMachGroup( const std::string& sSouName, const std::string& sName) ;
EXE_EXPORT bool ExeRemoveMachGroup( int nMGroupId) ;
EXE_EXPORT bool ExeChangeMachGroupName( int nId, const std::string& sNewName) ;
EXE_EXPORT bool ExeGetMachGroupName( int nId, std::string& sName) ;
EXE_EXPORT bool ExeGetMachGroupMachineName( int nId, std::string& sMachineName) ;
EXE_EXPORT int ExeGetMachGroupId( const std::string& sName) ;
EXE_EXPORT bool ExeSetCurrMachGroup( int nMGroupId) ;
EXE_EXPORT bool ExeResetCurrMachGroup( void) ;
EXE_EXPORT int ExeGetCurrMachGroup( void) ;
// Phases
EXE_EXPORT int ExeAddPhase( void) ;
EXE_EXPORT bool ExeSetCurrPhase( int nPhase, bool bForced) ;
EXE_EXPORT int ExeGetCurrPhase( void) ;
EXE_EXPORT bool ExeRemoveLastPhase( void) ;
EXE_EXPORT int ExeGetPhaseCount( void) ;
// Raw Parts & Parts
EXE_EXPORT int ExeGetRawPartCount( void) ;
EXE_EXPORT int ExeGetFirstRawPart( void) ;
EXE_EXPORT int ExeGetNextRawPart( int nRawId) ;
EXE_EXPORT bool ExeIsRawPart( int nRawId) ;
EXE_EXPORT int ExeAddRawPart( Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol) ;
EXE_EXPORT int ExeAddRawPartWithPart( int nPartId, int nCrvId, double dOverMat, Color cCol) ;
EXE_EXPORT bool ExeModifyRawPart( int nRawId, Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol) ;
EXE_EXPORT bool ExeModifyRawPart( int nRawId, int nCrvId, double dOverMat, double dHeight, Color cCol) ;
EXE_EXPORT bool ExeModifyRawPartSize( int nRawId, double dLength, double dWidth, double dHeight) ;
EXE_EXPORT bool ExeModifyRawPartHeight( int nRawId, double dHeight) ;
EXE_EXPORT bool ExeKeepRawPart( int nRawId, int nSouPhase) ;
EXE_EXPORT bool ExeVerifyRawPartPhase( int nRawId, int nPhase) ;
EXE_EXPORT bool ExeVerifyRawPartCurrPhase( int nRawId) ;
EXE_EXPORT bool ExeRemoveRawPartFromCurrPhase( int nRawId) ;
EXE_EXPORT bool ExeRemoveRawPart( int nRawId) ;
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 bool ExeMoveRawPart( int nRawId, const Vector3d& vtMove) ;
EXE_EXPORT bool ExeGetRawPartCenter( int nRawId, Point3d& ptCen) ;
EXE_EXPORT bool ExeGetRawPartBBox( int nRawId, BBox3d& b3Raw) ;
EXE_EXPORT int ExeSplitFlatRawPartWithMachinings( int nRawId, const INTVECTOR& vMchId) ;
EXE_EXPORT int ExeGetPartInRawPartCount( 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 int ExeGetRawPartFromPart( int nPartId) ;
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) ;
// Table & Disposition
EXE_EXPORT bool ExeSetTable( const std::string& sTable) ;
EXE_EXPORT bool ExeSetTableAreaOffset( double dOffsXP, double dOffsYP, double dOffsXM, double dOffsYM) ;
EXE_EXPORT bool ExeGetTable( std::string& sTable) ;
EXE_EXPORT bool ExeGetTableRef( int nInd, Point3d& ptPos) ;
EXE_EXPORT bool ExeGetTableArea( int nInd, BBox3d& b3Area) ;
EXE_EXPORT bool ExeGetTableAreaOffset( int nInd, BBox3d& b3AreaOffs) ;
EXE_EXPORT bool ExeChangeTable( const std::string& sTable, bool bUpdateDisp) ;
EXE_EXPORT bool ExeShowOnlyTable( bool bVal) ;
EXE_EXPORT bool ExeMoveDispAxis( const std::string& sName, double dPos) ;
EXE_EXPORT bool ExeRemoveDispAxis( const std::string& sName) ;
EXE_EXPORT bool ExeKeepAllDispAxes( int nSouPhase) ;
EXE_EXPORT int ExeAddFixture( const std::string& sName, const Point3d& ptPos, double dAngRotDeg, double dMov) ;
EXE_EXPORT bool ExeKeepFixture( int nFxtId, int nSouPhase) ;
EXE_EXPORT bool ExeRemoveFixture( int nFxtId) ;
EXE_EXPORT bool ExeVerifyFixture( int nFxtId) ;
EXE_EXPORT int ExeGetFirstFixture( void) ;
EXE_EXPORT int ExeGetNextFixture( int nFxtId) ;
EXE_EXPORT bool ExeMoveFixture( int nFxtId, const Vector3d& vtMove) ;
EXE_EXPORT bool ExeRotateFixture( int nFxtId, double dDeltaAngDeg) ;
EXE_EXPORT bool ExeSetFixtureLink( int nFxtId, const std::string& sTaLink) ;
EXE_EXPORT bool ExeMoveFixtureMobile( int nFxtId, double dDeltaMove) ;
EXE_EXPORT bool ExeSetFixtureMobile( int nFxtId, double dMove) ;
// Tools Database
EXE_EXPORT bool ExeTdbGetToolNewName( std::string& sName) ;
EXE_EXPORT bool ExeTdbAddTool( const std::string& sName, int nType) ;
EXE_EXPORT bool ExeTdbCopyTool( const std::string& sSource, const std::string& sName) ;
EXE_EXPORT bool ExeTdbRemoveTool( const std::string& sName) ;
EXE_EXPORT bool ExeTdbGetFirstTool( int nFamily, std::string& sName, int& nType) ;
EXE_EXPORT bool ExeTdbGetNextTool( int nFamily, std::string& sName, int& nType) ;
EXE_EXPORT bool ExeTdbGetToolFromUUID( const std::string& sTuuid, std::string& sName) ;
EXE_EXPORT bool ExeTdbSetCurrTool( const std::string& sName) ;
EXE_EXPORT bool ExeTdbSaveCurrTool( void) ;
EXE_EXPORT bool ExeTdbIsCurrToolModified( void) ;
EXE_EXPORT bool ExeTdbSetCurrToolParam( int nType, bool bVal) ;
EXE_EXPORT bool ExeTdbSetCurrToolParam( int nType, int nVal) ;
EXE_EXPORT bool ExeTdbSetCurrToolParam( int nType, double dVal) ;
EXE_EXPORT bool ExeTdbSetCurrToolParam( int nType, const std::string& sVal) ;
EXE_EXPORT bool ExeTdbSetCurrToolValInNotes( int nType, const std::string& sKey, bool bVal) ;
EXE_EXPORT bool ExeTdbSetCurrToolValInNotes( int nType, const std::string& sKey, int nVal) ;
EXE_EXPORT bool ExeTdbSetCurrToolValInNotes( int nType, const std::string& sKey, double dVal) ;
EXE_EXPORT bool ExeTdbSetCurrToolValInNotes( int nType, const std::string& sKey, const std::string& sVal) ;
EXE_EXPORT bool ExeTdbRemoveCurrToolValInNotes( int nType, const std::string& sKey) ;
EXE_EXPORT bool ExeTdbGetCurrToolParam( int nType, bool& nVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolParam( int nType, int& nVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolParam( int nType, double& dVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolParam( int nType, std::string& sVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolValInNotes( int nType, const std::string& sKey, bool& bVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolValInNotes( int nType, const std::string& sKey, int& nVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolValInNotes( int nType, const std::string& sKey, double& dVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolValInNotes( int nType, const std::string& sKey, std::string& sVal) ;
EXE_EXPORT bool ExeTdbGetCurrToolMaxDepth( double& dMaxDepth) ;
EXE_EXPORT bool ExeTdbGetCurrToolThDiam( double& dThDiam) ;
EXE_EXPORT bool ExeTdbGetCurrToolThLength( double& dThLen) ;
EXE_EXPORT bool ExeTdbCurrToolIsStandardDraw( bool& bStandard) ;
EXE_EXPORT int ExeTdbCurrToolDraw( int nGenCtx, int nToolCtx) ;
EXE_EXPORT bool ExeTdbReload( void) ;
EXE_EXPORT bool ExeTdbSave( void) ;
EXE_EXPORT bool ExeTdbGetToolDir( std::string& sToolDir) ;
EXE_EXPORT bool ExeTdbGetToolHolderDir( std::string& sTHolderDir) ;
EXE_EXPORT bool ExeTdbExport( const STRVECTOR& vsToolsNames, const std::string& sOutFile) ;
EXE_EXPORT bool ExeTdbToBeImported( const std::string& sFile, STRVECTOR& vsToolsNames, INTVECTOR& vToolsTypes) ;
EXE_EXPORT bool ExeTdbImport( const std::string& sFile, const STRVECTOR& vsToolsToImport, const STRVECTOR& vsToolsNames, STRVECTOR& vsImported) ;
// Setup
EXE_EXPORT int ExeGetCurrSetup( void) ;
EXE_EXPORT bool ExeGetDefaultSetupName( std::string& sName) ;
EXE_EXPORT bool ExeImportSetup( const std::string& sName) ;
EXE_EXPORT bool ExeExistsCurrSetup( void) ;
EXE_EXPORT bool ExeVerifyCurrSetup( STRVECTOR& vsErrors) ;
EXE_EXPORT bool ExeFindToolInCurrSetup( const std::string& sTool) ;
EXE_EXPORT bool ExeGetToolSetupPosInCurrSetup( const std::string& sTool, std::string& sTcPos) ;
EXE_EXPORT bool ExeGetToolsInCurrSetupPos( const std::string& sTcPos, STRVECTOR& vsTools) ;
EXE_EXPORT bool ExeUpdateCurrSetup( void) ;
EXE_EXPORT bool ExeEraseCurrSetup( void) ;
// Machinings Database
EXE_EXPORT bool ExeMdbGetMachiningNewName( std::string& sName) ;
EXE_EXPORT bool ExeMdbAddMachining( const std::string& sName, int nType) ;
EXE_EXPORT bool ExeMdbCopyMachining( const std::string& sSource, const std::string& sName) ;
EXE_EXPORT bool ExeMdbRemoveMachining( const std::string& sName) ;
EXE_EXPORT bool ExeMdbGetFirstMachining( int nType, std::string& sName) ;
EXE_EXPORT bool ExeMdbGetNextMachining( int nType, std::string& sName) ;
EXE_EXPORT bool ExeMdbGetMachiningFromUUID( const std::string& sMuuid, std::string& sName) ;
EXE_EXPORT bool ExeMdbSetCurrMachining( const std::string& sName) ;
EXE_EXPORT bool ExeMdbSaveCurrMachining( void) ;
EXE_EXPORT bool ExeMdbIsCurrMachiningModified( void) ;
EXE_EXPORT bool ExeMdbSetCurrMachiningParam( int nType, bool bVal) ;
EXE_EXPORT bool ExeMdbSetCurrMachiningParam( int nType, int nVal) ;
EXE_EXPORT bool ExeMdbSetCurrMachiningParam( int nType, double dVal) ;
EXE_EXPORT bool ExeMdbSetCurrMachiningParam( int nType, const std::string& sVal) ;
EXE_EXPORT bool ExeMdbGetCurrMachiningParam( int nType, bool& nVal) ;
EXE_EXPORT bool ExeMdbGetCurrMachiningParam( int nType, int& nVal) ;
EXE_EXPORT bool ExeMdbGetCurrMachiningParam( int nType, double& dVal) ;
EXE_EXPORT bool ExeMdbGetCurrMachiningParam( int nType, std::string& sVal) ;
EXE_EXPORT bool ExeMdbSetGeneralParam( int nType, bool bVal) ;
EXE_EXPORT bool ExeMdbSetGeneralParam( int nType, int nVal) ;
EXE_EXPORT bool ExeMdbSetGeneralParam( int nType, double dVal) ;
EXE_EXPORT bool ExeMdbGetGeneralParam( int nType, bool& bVal) ;
EXE_EXPORT bool ExeMdbGetGeneralParam( int nType, int& nVal) ;
EXE_EXPORT bool ExeMdbGetGeneralParam( int nType, double& dVal) ;
EXE_EXPORT bool ExeMdbReload( void) ;
EXE_EXPORT bool ExeMdbSave( void) ;
EXE_EXPORT bool ExeMdbGetMachiningDir( std::string& sMchDir) ;
EXE_EXPORT bool ExeMdbExport( const STRVECTOR& vsMachiningsNames, const std::string& sOutFile) ;
EXE_EXPORT bool ExeMdbToBeImported( const std::string& sFile, STRVECTOR& vsMachiningsNames, INTVECTOR& vMachiningsTypes) ;
EXE_EXPORT bool ExeMdbImport( const std::string& sFile, const STRVECTOR& vsMachiningsToImport, const STRVECTOR& vsMachiningsNames, STRVECTOR& vsImported) ;
// Operations
EXE_EXPORT int ExeGetFirstOperation( void) ;
EXE_EXPORT int ExeGetNextOperation( int nId) ;
EXE_EXPORT int ExeGetLastOperation( void) ;
EXE_EXPORT int ExeGetPrevOperation( int nId) ;
EXE_EXPORT int ExeGetFirstActiveOperation( bool bNeedMachNotEmpty = false) ;
EXE_EXPORT int ExeGetNextActiveOperation( int nId, bool bNeedMachNotEmpty = false) ;
EXE_EXPORT int ExeGetLastActiveOperation( bool bNeedMachNotEmpty = false) ;
EXE_EXPORT int ExeGetPrevActiveOperation( int nId, bool bNeedMachNotEmpty = false) ;
EXE_EXPORT int ExeGetOperationType( int nId) ;
EXE_EXPORT int ExeGetOperationPhase( int nId) ;
EXE_EXPORT bool ExeSetOperationName( int nId, const std::string& sName) ;
EXE_EXPORT bool ExeGetOperationName( int nId, std::string& sName) ;
EXE_EXPORT int ExeGetOperationId( const std::string& sName) ;
EXE_EXPORT bool ExeIsOperationEmpty( int nId, int nEmptyType = 0) ;
EXE_EXPORT bool ExeRemoveOperation( int nId) ;
EXE_EXPORT bool ExeRemoveAllPhaseOperations( int nPhase) ;
EXE_EXPORT bool ExeRemoveAllOperations( void) ;
EXE_EXPORT bool ExeSetOperationMode( int nId, bool bActive) ;
EXE_EXPORT bool ExeGetOperationMode( int nId, bool& bActive) ;
EXE_EXPORT bool ExeSetAllOperationsMode( bool bActive) ;
EXE_EXPORT bool ExeSetOperationStatus( int nId, bool bShow) ;
EXE_EXPORT bool ExeGetOperationStatus( int nId, bool& bShow) ;
EXE_EXPORT bool ExeSetAllOperationsStatus( bool bShow) ;
EXE_EXPORT bool ExeAdjustOperationPhase( int nId) ;
EXE_EXPORT bool ExeChangeOperationPhase( int nId, int nNewPhase) ;
EXE_EXPORT int ExeGetPhaseLastOperation( int nPhase) ;
EXE_EXPORT bool ExeRemoveOperationHome( int nId) ;
// Dispositions
EXE_EXPORT int ExeGetPhaseDisposition( int nPhase) ;
EXE_EXPORT bool ExeSpecialApplyDisposition( int nId, bool bRecalc) ;
EXE_EXPORT bool ExeSpecialUpdateDisposition( int nId) ;
EXE_EXPORT bool ExeGetDispositionToolData( int nId, std::string& sName, std::string& sHead, int& nExit, std::string& sTcPos) ;
// Machinings
EXE_EXPORT int ExeAddMachining( const std::string& sName, const std::string& sMachining) ;
EXE_EXPORT int ExeAddMachining( const std::string& sName, int nMchType, const std::string& sTool) ;
EXE_EXPORT int ExeCopyMachining( const std::string& sName, const std::string& sSouName) ;
EXE_EXPORT bool ExeSetCurrMachining( int nId) ;
EXE_EXPORT bool ExeResetCurrMachining( void) ;
EXE_EXPORT int ExeGetCurrMachining( void) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, bool bVal) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, int nVal) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, double dVal) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, const std::string& sVal) ;
EXE_EXPORT bool ExeSetMachiningGeometry( const SELVECTOR& vIds) ;
EXE_EXPORT bool ExePreviewMachining( bool bRecalc) ;
EXE_EXPORT bool ExeApplyMachining( bool bRecalc, bool bPostApply = true) ;
EXE_EXPORT bool ExeUpdateMachining( bool bPostApply = true) ;
EXE_EXPORT bool ExeChangePreviewMachiningToolShow( int nLookFlag) ;
EXE_EXPORT bool ExePreparePreviewMachiningTool( void) ;
EXE_EXPORT bool ExeRemovePreviewMachiningTool( void) ;
EXE_EXPORT int ExeGetPreviewMachiningToolStepCount( void) ;
EXE_EXPORT int ExePreviewMachiningTool( int nEntId, int nStep) ;
EXE_EXPORT bool ExeGetMachiningParam( int nType, bool& bVal) ;
EXE_EXPORT bool ExeGetMachiningParam( int nType, int& nVal) ;
EXE_EXPORT bool ExeGetMachiningParam( int nType, double& dVal) ;
EXE_EXPORT bool ExeGetMachiningParam( int nType, std::string& sVal) ;
EXE_EXPORT bool ExeGetMachiningGeometry( SELVECTOR& vIds) ;
EXE_EXPORT bool ExeGetMachiningSkippedGeometry( SELVECTOR& vIds) ;
EXE_EXPORT bool ExeIsMachiningEmpty( int nEmptyType) ;
EXE_EXPORT bool ExeGetMachiningStartPoint( Point3d& ptStart) ;
EXE_EXPORT bool ExeGetMachiningEndPoint( Point3d& ptEnd) ;
EXE_EXPORT bool ExeGetMachiningStartAxes( bool bSkipClimb, DBLVECTOR& vAxVal) ;
EXE_EXPORT bool ExeGetMachiningEndAxes( bool bSkipRise, DBLVECTOR& vAxVal) ;
EXE_EXPORT bool ExeApplyAllMachinings( bool bRecalc, bool bStopOnFirstErr, std::string& sErrList) ;
EXE_EXPORT bool ExeApplyAllMachiningsEx( bool bRecalc, bool bStopOnFirstErr, std::string& sErrList, std::string& sWarnList) ;
EXE_EXPORT bool ExeUpdateAllMachinings( bool bStopOnFirstErr, std::string& sErrList) ;
EXE_EXPORT bool ExeUpdateAllMachiningsEx( bool bStopOnFirstErr, std::string& sErrList, std::string& sWarnList) ;
// CL Entities Interrogations
EXE_EXPORT bool ExeGetClEntMove( int nEntId, int& nMove) ;
EXE_EXPORT bool ExeGetClEntFlag( int nEntId, int& nFlag, int& nFlag2) ;
EXE_EXPORT bool ExeGetClEntIndex( int nEntId, int& nIndex) ;
EXE_EXPORT bool ExeGetClEntFeed( int nEntId, double& dFeed) ;
EXE_EXPORT bool ExeGetClEntAxesStatus( int nEntId, int& nStatus) ;
EXE_EXPORT bool ExeGetClEntAxesMask( int nEntId, int& nMask) ;
EXE_EXPORT bool ExeGetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) ;
EXE_EXPORT bool ExeGetClEntTDir( int nEntId, Vector3d& vTDir) ;
EXE_EXPORT bool ExeGetClEntCDir( int nEntId, Vector3d& vCDir) ;
EXE_EXPORT bool ExeGetClEntADir( int nEntId, Vector3d& vADir) ;
// Simulation
EXE_EXPORT bool ExeSimInit( void) ;
EXE_EXPORT bool ExeSimStart( bool bFirst) ;
EXE_EXPORT bool ExeSimMove( int& nStatus) ;
EXE_EXPORT bool ExeSimHome( void) ;
EXE_EXPORT bool ExeSimSetStep( double dStep) ;
EXE_EXPORT bool ExeSimSetUiStatus( int nUiStatus) ;
EXE_EXPORT bool ExeSimEnableToolTipTrace( bool bEnable) ;
EXE_EXPORT bool ExeSimGetAxisInfoPos( int nI, std::string& sName, std::string& sToken, bool& bLinear, double& dVal) ;
EXE_EXPORT bool ExeSimGetToolInfo( std::string& sName, double& dSpeed) ;
EXE_EXPORT bool ExeSimGetOperationInfo( std::string& sName, int& nType) ;
EXE_EXPORT bool ExeSimGetMoveInfo( int& nGmove, double& dFeed) ;
EXE_EXPORT bool ExeSimExit( void) ;
// Generation & T&L estimation
EXE_EXPORT bool ExeGenerate( const std::string& sCncFile, const std::string& sInfo) ;
EXE_EXPORT bool ExeEstimate( const std::string& sEstFile, const std::string& sInfo) ;
EXE_EXPORT bool ExeSimulate( int& nErr, std::string& sError) ;
// Machine
EXE_EXPORT int ExeGetBaseId( const std::string& sBase) ;
EXE_EXPORT int ExeGetTableId( const std::string& sTable) ;
EXE_EXPORT int ExeGetAxisId( const std::string& sAxis) ;
EXE_EXPORT int ExeGetHeadId( const std::string& sHead) ;
EXE_EXPORT int ExeGetHeadExitCount( const std::string& sHead) ;
EXE_EXPORT int ExeGetExitId( const std::string& sHead, int nExit) ;
EXE_EXPORT int ExeGetTcPosId( const std::string& sTcPos) ;
EXE_EXPORT bool ExeGetAxisToken( const std::string& sAxis, std::string& sToken) ;
EXE_EXPORT bool ExeGetAxisType( const std::string& sAxis, bool& bLinear) ;
EXE_EXPORT bool ExeGetAxisDir( const std::string& sAxis, Vector3d& vtDir) ;
EXE_EXPORT bool ExeGetAxisInvert( const std::string& sAxis, bool& bInvert) ;
EXE_EXPORT bool ExeGetAxisOffset( const std::string& sAxis, double& dOffset) ;
EXE_EXPORT bool ExeGetAllTablesNames( STRVECTOR& vNames) ;
EXE_EXPORT bool ExeGetAllAxesNames( STRVECTOR& vNames) ;
EXE_EXPORT bool ExeGetAllHeadsNames( STRVECTOR& vNames) ;
EXE_EXPORT bool ExeGetAllTcPosNames( STRVECTOR& vNames) ;
// Machine Calc
EXE_EXPORT bool ExeSetCalcTable( const std::string& sTable) ;
EXE_EXPORT bool ExeSetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) ;
EXE_EXPORT bool ExeSetCalcSolCh( int nScc, bool bExact) ;
EXE_EXPORT bool ExeSetRotAxisBlock( const std::string& sAxis, double dVal) ;
EXE_EXPORT bool ExeGetCalcTable( std::string& sTable) ;
EXE_EXPORT bool ExeGetCalcTool( std::string& sTool, std::string& sHead, int& nExit) ;
EXE_EXPORT bool ExeGetCalcSolCh( int& nScc, bool& bExact) ;
EXE_EXPORT bool ExeGetAllCurrAxesNames( STRVECTOR& vAxName) ;
EXE_EXPORT bool ExeGetRotAxisBlocked( int nInd, std::string& sAxis, double& dVal) ;
EXE_EXPORT bool ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
int& nStat, double& dAngA1, double& dAngB1, double& dAngA2, double& dAngB2) ;
EXE_EXPORT bool ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
int& nStat, DBLVECTOR& vAng1, DBLVECTOR& vAng2) ;
EXE_EXPORT bool ExeGetCalcPositions( const Point3d& ptP, double dAngA, double dAngB,
double& dX, double& dY, double& dZ) ;
EXE_EXPORT bool ExeGetCalcPositions( const Point3d& ptP, const DBLVECTOR& vAng,
double& dX, double& dY, double& dZ) ;
EXE_EXPORT bool ExeGetRobotAngles( const Point3d& ptP, const Vector3d& vtDirT, const Vector3d& vtDirA,
DBLVECTOR& vAng1, DBLVECTOR& vAng2) ;
EXE_EXPORT bool ExeGetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, double dAngB,
bool bBottom, Point3d& ptTip) ;
EXE_EXPORT bool ExeGetCalcTipFromPositions( double dX, double dY, double dZ, const DBLVECTOR& vAng,
bool bBottom, Point3d& ptTip) ;
EXE_EXPORT bool ExeGetCalcToolDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir) ;
EXE_EXPORT bool ExeGetCalcAuxDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir) ;
EXE_EXPORT bool ExeVerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) ;
EXE_EXPORT bool ExeGetOutstrokeInfo( std::string& sInfo) ;
// Machine Move
EXE_EXPORT bool ExeSetAxisPos( const std::string& sAxis, double dVal, double* pdNewVal = nullptr) ;
EXE_EXPORT bool ExeGetAxisPos( const std::string& sAxis, double* pdVal) ;
EXE_EXPORT bool ExeGetAxisMin( const std::string& sAxis, double* pdMin) ;
EXE_EXPORT bool ExeGetAxisMax( const std::string& sAxis, double* pdMax) ;
EXE_EXPORT bool ExeGetAxisHomePos( const std::string& sAxis, double* pdHomeVal) ;
EXE_EXPORT bool ExeResetAxisPos( const std::string& sAxis) ;
EXE_EXPORT bool ExeLoadTool( const std::string& sHead, int nExit, const std::string& sTool) ;
EXE_EXPORT bool ExeGetLoadedTool( const std::string& sHead, int nExit, std::string& sTool) ;
EXE_EXPORT bool ExeUnloadTool( const std::string& sHead, int nExit) ;
EXE_EXPORT bool ExeResetHeadSet( const std::string& sHead) ;
EXE_EXPORT bool ExeSetMachineLook( int nFlag) ;
// 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 ExeGetBackground( Color& TopCol, Color& BottomCol) ;
EXE_EXPORT bool ExeSetLineAttribs( int nWidth) ;
EXE_EXPORT bool ExeSetMarkAttribs( Color MarkCol, Color Mark2Col) ;
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 ExeSetGridGeoAdv( double dSnapStep, int nMinLineSstep, int nMajLineSstep,
double dXmin, double dXmax, double dYmin, double dYmax) ;
EXE_EXPORT bool ExeSetGridColor( Color colMin, Color colMaj) ;
EXE_EXPORT bool ExeSetCameraType( bool bOrthoOrPersp, bool bRedraw) ;
EXE_EXPORT bool ExeSetZoomType( int nMode, bool bRedraw) ;
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 ExeSetObjFilterForSelWin( 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 ExeGetPlaneSnapPoint( int nWinX, int nWinY, const Plane3d& Plane, Point3d& ptP) ;
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 ExeSetShowSurfBezierTol( double dLinTol, bool bRedraw) ;
EXE_EXPORT double ExeGetShowSurfBezierTol( void) ;
EXE_EXPORT bool ExeSetShowZmap( int nMode, bool bRedraw) ;
EXE_EXPORT int ExeGetShowZmap( void) ;
EXE_EXPORT bool ExeZoomRadius( double dRadius, bool bRedraw) ;
EXE_EXPORT bool ExeZoom( int nZoom, bool bRedraw) ;
EXE_EXPORT bool ExeZoomObject( int nId, 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 ExeSetViewOrizzOffsStep( int nDirOffsStep = 0) ;
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 ExeGetViewOrizzOffsStep( int* pnDirOffsStep) ;
EXE_EXPORT bool ExeGetView( int* pnDir) ;
EXE_EXPORT bool ExeGetGenericView( double* pdAngVertDeg, double* pdAngHorizDeg) ;
EXE_EXPORT bool ExeGetViewUp( Vector3d& vtUp) ;
EXE_EXPORT bool ExeProjectPoint( const Point3d& ptP, Point3d& ptWin) ;
EXE_EXPORT bool ExeUnProjectPoint( int nWinX, int nWinY, Point3d& ptP) ;
EXE_EXPORT bool ExeSetTextureMaxLinPixels( int nMaxLinPix) ;
EXE_EXPORT bool ExeLoadTexture( const std::string& sName, const std::string& sFile,
double dMMxPix, double dDimX, double dDimY, int nRepeat) ;
EXE_EXPORT bool ExeUnloadTexture( const std::string& sName) ;
EXE_EXPORT bool ExeExistsTexture( const std::string& sName) ;
EXE_EXPORT bool ExeGetTexturePixels( const std::string& sName, int& nWidth, int& nHeight) ;
EXE_EXPORT bool ExeGetTextureImagePixels( const std::string& sName, int& nWidth, int& nHeight) ;
EXE_EXPORT bool ExeGetTextureDimensions( const std::string& sName, double& dDimX, double& dDimY) ;
EXE_EXPORT bool ExeChangeTextureDimensions( const std::string& sName, double dDimX, double dDimY) ;
EXE_EXPORT bool ExeGetImage( int nShowMode, Color colBackTop, Color colBackBottom,
int nWidth, int nHeight, const std::string& sFile) ;
EXE_EXPORT bool ExeGetImageEx( int nDriver, bool b2Buff, int nColorBits, int nDepthBits,
int nShowMode, Color colBackTop, Color colBackBottom,
int nCameraDir, int nWidth, int nHeight, const std::string& sFile) ;
// Image
EXE_EXPORT bool ExeGetImagePixels( const std::string& sFile, int& nPixelX, int& nPixelY) ;
// Photo
EXE_EXPORT int ExeAddPhoto( const std::string& sName, const std::string& sPath,
const Point3d& ptOri, const Point3d& ptCen, double dMMxPixel,
int nParentId, const Point3d& ptMin, const Point3d& ptMax) ;
EXE_EXPORT int ExeAddPhoto( const std::string& sName, const std::string& sPath,
const Point3d& ptOri, const Point3d& ptCen, double dDimX, double dDimY,
int nParentId, const Point3d& ptMin, const Point3d& ptMax) ;
EXE_EXPORT bool ExeMovePhoto( int nId, const Vector3d& vtMove) ;
EXE_EXPORT bool ExeRotatePhoto( int nId, const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) ;
EXE_EXPORT bool ExeGetPhotoPath( int nId, std::string& sPath) ;
EXE_EXPORT bool ExeChangePhotoPath( int nId, const std::string& sPath) ;
EXE_EXPORT bool ExeGetPhotoOrigin( int nId, Point3d& ptOri) ;
EXE_EXPORT bool ExeGetPhotoCenter( int nId, Point3d& ptCen) ;
EXE_EXPORT bool ExeChangePhotoCenterAsFlatScan( int nId) ;
EXE_EXPORT bool ExeGetPhotoDimensions( int nId, double& dDimX, double& dDimY) ;
EXE_EXPORT bool ExeGetPhotoPixels( int nId, int& nPixelX, int& nPixelY) ;
EXE_EXPORT bool ExeGetPhotoImagePixels( int nId, int& nPixelX, int& nPixelY) ;
// Picture
EXE_EXPORT int ExeAddPicture( int nParentId, const std::string& sName, const std::string& sPath,
double dDimX, double dDimY, int nRefType) ;
// Messages
EXE_EXPORT bool ExeLoadMessages( const std::string& sMsgFilePath) ;
EXE_EXPORT const std::string& ExeGetLanguage( void) ;
EXE_EXPORT const std::string& ExeGetMsg( int nMsg) ;
// Redis
EXE_EXPORT bool ExeRedisConnect( const std::string& sConnection, int& nIdConnection) ;
EXE_EXPORT bool ExeRedisDisconnect( int nIdConnection) ;
EXE_EXPORT bool ExeRedisSetValFromKey( int nIdConnection, const std::string& sKey, const std::string& sVal) ;
EXE_EXPORT bool ExeRedisGetValFromKey( int nIdConnection, const std::string& sKey, std::string& sVal) ;
EXE_EXPORT bool ExeRedisAsyncConnect( const std::string& sConnection, int& nIdConnection) ;
EXE_EXPORT bool ExeRedisAsyncDisconnect( int nIdConnection) ;
EXE_EXPORT bool ExeRedisAsyncPublish( int nIdConnection, const std::string& sChannel, const std::string& sMessage) ;
EXE_EXPORT bool ExeRedisAsyncSubscribe( int nIdConnection, const std::string& sChannel) ;
EXE_EXPORT bool ExeRedisAsyncUnsubscribe( int nIdConnection, const std::string& sChannel) ;
EXE_EXPORT bool ExeRedisAsyncSubscribeOneMessage( int nIdConnection, const std::string& sChannel, double dMaxTimeOut, std::string& sMessage) ;
EXE_EXPORT bool ExeRedisAsyncGetMessage( int nIdConnection, const std::string& sChannel, int& nCount, std::string& sMessage) ;
// Base64
EXE_EXPORT bool ExeBase64Encode( const std::string& sFile, std::string& sB64Dest) ;
EXE_EXPORT bool ExeBase64Decode( const std::string& sB64Sou, const std::string& sFile) ;
// Trimming
EXE_EXPORT int ExeTrimmingGetSurfTmFaceAdj( int nParentId, int nSurfId, int nTria, const Point3d& vPts,
double dAngTol, double dSize, double dSizeTol) ;
EXE_EXPORT int ExeTrimmingGetSurfTmFromStmFaces( int nParentId, int nSurfId, const INTVECTOR& vFaces) ;
EXE_EXPORT bool ExeTrimmingGetAdjSurfs( const INTVECTOR& vSurfId, const INTVECTOR& vOtherSurfId, double dLinTol,
double dAngTol, double dAngFaceTol, INTVECTOR& vResId) ;
EXE_EXPORT bool ExeTrimmingGetBorders( int nParentId, const SELVECTOR& vIds, double dSurfLinTol, double dSurfAngTol,
double dLinTol, double dAngTol, int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetBordersByNormals( int nParentId, const SELVECTOR& vIds, double dSurfLinTol,
double dSurfAngTol, double dLinTol, double dAngTol,
double dThick, int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetFinalBorders( int nParentId, const INTVECTOR& vCrvBezierId, double dLinTol, double dAngTol,
const PNTVECTOR& vBreakingPts, double dThick, double dThickTol,
int& nFirstId, int& nCount) ;
EXE_EXPORT int ExeTrimmingGetRuledBezier( int nParentId, const INTVECTOR& vIds, int nEdge1Id, int nEdge2Id, double dLinTol,
const INTVECTOR& vnLineIds) ;
EXE_EXPORT bool ExeTrimmingInterpolateSyncLines( int nParentId, int nSync1Id, int nSync2Id,
int nBorder1Id, int nBorder2Id, double dEdgeLinTol,
double dEdgeAngTol, int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetSurfBzSyncPoints( int nParentId, int nEdge1Id, int nEdge2Id, double dLinTol,
double dAngTol, int nLineNbr, bool bShowOnCorners,
int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetHoleBorder( int nParentId, const INTVECTOR& vSurfIds, const INTVECTOR& vOtherSurfIds,
double dSurfLinTol, double dSurfAngTol, double dEdgeLinTol, double dEdgeAngTol,
double dEdgeThick, int& nFirstId, int& nCount) ;