Files
Include/EXeExecutor.h
T
Dario Sassi a75ded90fe Include :
- aggiunto EgtUUID e Writer
- Scan diventato Scanner.
2015-06-06 17:57:02 +00:00

492 lines
31 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EXcExecutor.h Data : 04.05.15 Versione : 1.6e1
// Contenuto : Interfaccia Executor.
//
//
//
// Modifiche : 04.05.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkFrame3d.h"
#include "/EgtDev/Include/EGkColor.h"
#include "/EgtDev/Include/EGkPolyLine.h"
#include "/EgtDev/Include/EGkPolyArc.h"
#define NOMINMAX
#include <windows.h>
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 ExeSetKey( const std::string& sKey) ;
EXE_EXPORT bool ExeSetFont( const std::string& sNfeFontDir, const std::string& sDefaultFont) ;
EXE_EXPORT bool ExeGetNfeFontDir( std::string& sNfeFontDir) ;
EXE_EXPORT bool ExeGetDefaultFont( std::string& sDefaultFont) ;
EXE_EXPORT bool ExeSetLuaLibs( const std::string& sLuaLibsDir) ;
EXE_EXPORT bool ExeSetCommandLogger( const std::string& sLogFile) ;
EXE_EXPORT void ExeEnableCommandLogger( void) ;
EXE_EXPORT void ExeDisableCommandLogger( void) ;
EXE_EXPORT bool ExeGetVersionInfo( std::string& sVer, const char* szNewLine) ;
EXE_EXPORT bool ExeGetOsInfo( std::string& sOs) ;
EXE_EXPORT bool ExeGetCpuInfo( std::string& sCpu) ;
EXE_EXPORT bool ExeGetMemoryInfo( std::string& sMem) ;
EXE_EXPORT bool ExeOutLog( const std::string& sMsg) ;
// GeomDB
EXE_EXPORT int ExeInitGeomDB( void) ;
EXE_EXPORT bool ExeSetCurrentContext( int nGseCtx) ;
EXE_EXPORT bool ExeResetCurrentContext( void) ;
EXE_EXPORT int ExeGetCurrentContext( void) ;
EXE_EXPORT bool ExeSetDefaultMaterial( Color ColDef) ;
EXE_EXPORT bool ExeSetGridFrame( const Frame3d& frFrame) ;
EXE_EXPORT bool ExeGetGridFrame( int nRefId, Frame3d& frFrame) ;
EXE_EXPORT bool ExeGetGridVersZ( int nRefId, Vector3d& vtVersZ) ;
EXE_EXPORT bool ExeSetCurrFilePath( const std::string& sFilePath) ;
EXE_EXPORT bool ExeGetCurrFilePath( std::string& sFilePath) ;
EXE_EXPORT bool ExeEnableModified( void) ;
EXE_EXPORT bool ExeDisableModified( void) ;
EXE_EXPORT bool ExeSetModified( void) ;
EXE_EXPORT bool ExeResetModified( void) ;
EXE_EXPORT bool ExeGetModified( void) ;
EXE_EXPORT bool ExeNewFile( void) ;
EXE_EXPORT bool ExeOpenFile( const std::string& sFilePath) ;
EXE_EXPORT bool ExeInsertFile( const std::string& sFilePath) ;
EXE_EXPORT bool ExeSaveFile( const std::string& sFilePath, int nFlag) ;
EXE_EXPORT bool ExeSaveObjToFile( int nId, const std::string& sFilePath, int nFlag) ;
// Exchange
EXE_EXPORT int ExeGetFileType( const std::string& sFilePath) ;
EXE_EXPORT bool ExeImportDxf( const std::string& sFilePath, double dScaleFactor) ;
EXE_EXPORT bool ExeImportStl( const std::string& sFilePath, double dScaleFactor) ;
EXE_EXPORT bool ExeImportCnc( const std::string& sFilePath) ;
EXE_EXPORT bool ExeImportCsf( const std::string& sFilePath) ;
EXE_EXPORT bool ExeExportDxf( int nId, const std::string& sFilePath) ;
EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath) ;
// Tsc Executor
EXE_EXPORT bool ExeInitTscExec( void) ;
EXE_EXPORT bool ExeTscExecFile( const std::string& sFilePath) ;
EXE_EXPORT bool ExeTscExecLine( const std::string& sLine) ;
// LUA Executor
EXE_EXPORT bool ExeLuaEvalNumExpr( const std::string& sExpr, double* pdVal) ;
EXE_EXPORT bool ExeLuaEvalStringExpr( const std::string& sExpr, std::string& sVal) ;
EXE_EXPORT bool ExeLuaExecLine( const std::string& sLine) ;
EXE_EXPORT bool ExeLuaExecFile( const std::string& sFilePath) ;
EXE_EXPORT bool ExeLuaRequire( const std::string& sFilePath) ;
EXE_EXPORT bool ExeLuaGetLastError( std::string& sError) ;
// LUA Base
EXE_EXPORT bool LuaInstallEgtFunctions( LuaMgr& LuaMgr) ;
// GeomDB Create
EXE_EXPORT int ExeCreateGroup( int nParentId, const Frame3d& frFrame, int nRefType) ;
EXE_EXPORT int ExeCreateGeoPoint( int nParentId, const Point3d& ptP, int nRefType) ;
EXE_EXPORT int ExeCreateGeoVector( int nParentId, const Vector3d& vtV, const Point3d& ptB, int nRefType) ;
EXE_EXPORT int ExeCreateGeoFrame( int nParentId, const Frame3d& frFrame, int nRefType) ;
EXE_EXPORT int ExeCreateText( int nParentId, const Point3d& ptP, double dAngRotDeg,
const std::string& sText, double dH, int nRefType) ;
EXE_EXPORT int ExeCreateTextEx( int nParentId, const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
const std::string& sText, const std::string& sFont, bool bItalic, double dH, int nRefType) ;
EXE_EXPORT int ExeCreateTextAdv( int nParentId, const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
const std::string& sText, const std::string& sFont,
int nW, bool bItalic, double dH, double dRat, double dAddAdv, int nInsPos, int nRefType) ;
// GeomDB Create Curve
EXE_EXPORT int ExeCreateCurveLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ;
EXE_EXPORT int ExeCreateCurveLineEx( int nParentId, const Point3d& ptIni, int nSepI, int nIdI,
const Point3d& ptFin, int nSepF, int nIdF, int nRefType) ;
EXE_EXPORT int ExeCreateCurveLinePVL( int nParentId, const Point3d& ptIni,
const Vector3d& vtDir, double dLen, int nRefType) ;
EXE_EXPORT int ExeCreateCurveLineMinPointCurve( int nParentId,
const Point3d& ptStart, int nCrvId, double dNearPar, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCircle( int nParentId, const Point3d& ptCen,
const Vector3d& vtN, double dRad, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCircleCPN( int nParentId, const Point3d& ptCen,
const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCircleCPNEx( int nParentId, const Point3d& ptCen,
const Point3d& ptOn, int nSepO, int nIdO, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCircle3P( int nParentId, const Point3d& ptP1,
const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateCurveArc( int nParentId, const Point3d& ptCen, const Vector3d& vtN, double dRad,
const Vector3d& vtS, double dAngCenDeg, double dDeltaN, int nRefType) ;
EXE_EXPORT int ExeCreateCurveArcC2PN( int nParentId, const Point3d& ptCen, const Point3d& ptStart,
const Point3d& ptNearEnd, const Vector3d& vtNorm, int nRefType) ;
EXE_EXPORT int ExeCreateCurveArcC2PNEx( int nParentId, const Point3d& ptCen,
const Point3d& ptStart, int nSepS, int nIdS,
const Point3d& ptNearEnd, const Vector3d& vtNorm, int nRefType) ;
EXE_EXPORT int ExeCreateCurveArc3P( int nParentId, const Point3d& ptP1,
const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateCurveArc2PVN( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
const Vector3d& vtDirS, const Vector3d& vtNorm, int nRefType) ;
EXE_EXPORT int ExeCreateCurveArc2PVNEx( int nParentId, const Point3d& ptStart,
const Point3d& ptEnd, int nSep, int nId,
const Vector3d& vtDirS, const Vector3d& vtNorm, int nRefType) ;
EXE_EXPORT int ExeCreateCurveFillet( int nParentId, int nCrv1, const Point3d& ptNear1,
int nCrv2, const Point3d& ptNear2,
const Vector3d& vtNorm, double dRad, bool bTrim, int nRefType) ;
EXE_EXPORT int ExeCreateCurveChamfer( int nParentId, int nCrv1, const Point3d& ptNear1,
int nCrv2, const Point3d& ptNear2,
const Vector3d& vtNorm, double dDist, bool bTrim, int nRefType) ;
EXE_EXPORT int ExeCreateCurveBezier( int nParentId, int nDegree, const PNTVECTOR& vPnt, int nRefType) ;
EXE_EXPORT int ExeCreateCurveBezierRational( int nParentId, int nDegree, const PNTUVECTOR& vPntW, int nRefType) ;
EXE_EXPORT int ExeCreateCurveBezierFromArc( int nParentId, int nArcId, bool bErase) ;
EXE_EXPORT int ExeCreateCurveCompo( int nParentId, const INTVECTOR& vIds, bool bErase) ;
EXE_EXPORT int ExeCreateCurveCompoByChain( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoFromPoints( int nParentId, const PolyLine& PL, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCompoFromPointBulges( int nParentId, const PolyArc& PA, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCompoByApprox( int nParentId, int nSouId, bool bArcsVsLines, double dLinTol) ;
EXE_EXPORT int ExeCreateRectangle3P( int nParentId, const Point3d& ptIni,
const Point3d& ptCross, const Point3d& ptDir, int nRefType) ;
EXE_EXPORT int ExeCreatePolygonFromRadius( int nParentId, int nNumSides, const Point3d& ptCen,
const Point3d& ptCorn, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT int ExeCreatePolygonFromApothem( int nParentId, int nNumSides, const Point3d& ptCen,
const Point3d& ptMid, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT int ExeCreatePolygonFromSide( int nParentId, int nNumSides, const Point3d& ptIni,
const Point3d& ptFin, const Vector3d& vtN, int nRefType) ;
// GeomDB Create Surf
EXE_EXPORT int ExeCreateSurfTmBBox( int nParentId, const BBox3d& b3Box, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmBox( int nParentId, const Point3d& ptIni, const Point3d& ptCross,
const Point3d& ptDir, double dHeight, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmPyramid( int nParentId, const Point3d& ptIni, const Point3d& ptCross,
const Point3d& ptDir, double dHeight, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmCylinder( int nParentId, const Point3d& ptOrig, const Vector3d& vtN,
double dRad, double dHeight, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmCone( int nParentId, const Point3d& ptOrig, const Vector3d& vtN,
double dRad, double dHeight, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmSphere( int nParentId, const Point3d& ptOrig,
double dRad, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByFlatContour( int nParentId, int nCrvId, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByRegion( int nParentId, INTVECTOR& vCrvIds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByExtrusion( int nParentId, INTVECTOR& vCrvIds, const Vector3d& vtExtr,
double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByRegionExtrusion( int nParentId, INTVECTOR& vCrvIds, const Vector3d& vtExtr,
double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByRevolve( int nParentId, int nCrvId,
const Point3d& ptAx, const Vector3d& vtAx,
bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByScrewing( int nParentId, int nCrvId,
const Point3d& ptAx, const Vector3d& vtAx,
double dAngRotDeg, double dMove, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByTriangles( int nParentId, const INTVECTOR& vIds, bool bErase) ;
EXE_EXPORT int ExeCreateSurfTmBySewing( int nParentId, const INTVECTOR& vIds, bool bErase) ;
// GeomDB PartLayer
EXE_EXPORT bool ExeIsPart( int nPartId) ;
EXE_EXPORT bool ExeIsLayer( int nLayerId) ;
EXE_EXPORT int ExeGetCurrPart( void) ;
EXE_EXPORT int ExeGetCurrLayer( void) ;
EXE_EXPORT bool ExeSetCurrPartLayer( int nPartId, int nLayerId) ;
EXE_EXPORT bool ExeResetCurrPartLayer( void) ;
EXE_EXPORT int ExeGetPartNbr( bool bOnlyVisible) ;
EXE_EXPORT int ExeGetFirstPart( bool bOnlyVisible) ;
EXE_EXPORT int ExeGetNextPart( int nId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetFirstLayer( int nPartId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetNextLayer( int nId, bool bOnlyVisible) ;
EXE_EXPORT bool ExeSelectPartObjs( int nPartId) ;
EXE_EXPORT bool ExeDeselectPartObjs( int nPartId) ;
EXE_EXPORT bool ExeSelectLayerObjs( int nLayerId) ;
EXE_EXPORT bool ExeDeselectLayerObjs( int nLayerId) ;
EXE_EXPORT bool ExeSelectPathObjs( int nId, bool bHaltOnFork) ;
// GeomDB Objects
EXE_EXPORT bool ExeExistsObj( int nId) ;
EXE_EXPORT int ExeGetParent( int nId) ;
EXE_EXPORT bool ExeGetGroupGlobFrame( int nId, Frame3d& frGlob) ;
EXE_EXPORT int ExeGetGroupObjs( int nId) ;
EXE_EXPORT int ExeGetFirstInGroup( int nGroupId) ;
EXE_EXPORT int ExeGetNext( int nId) ;
EXE_EXPORT int ExeGetLastInGroup( int nGroupId) ;
EXE_EXPORT int ExeGetPrev( int nId) ;
EXE_EXPORT int ExeGetFirstGroupInGroup( int nGroupId) ;
EXE_EXPORT int ExeGetNextGroup( int nId) ;
EXE_EXPORT int ExeGetLastGroupInGroup( int nGroupId) ;
EXE_EXPORT int ExeGetPrevGroup( int nId) ;
EXE_EXPORT int ExeGetFirstNameInGroup( int nGroupId, const std::string& sName) ;
EXE_EXPORT int ExeGetNextName( int nId, const std::string& sName) ;
EXE_EXPORT int ExeGetLastNameInGroup( int nGroupId, const std::string& sName) ;
EXE_EXPORT int ExeGetPrevName( int nId, const std::string& sName) ;
EXE_EXPORT bool ExeGetBBox( int nId, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeGetBBoxGlob( int nId, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeGetBBoxRef( int nId, int nFlag, const Frame3d& frRef, BBox3d& b3Box) ;
EXE_EXPORT int ExeCopy( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT int ExeCopyGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeRelocate( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeRelocateGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeChangeId( int nId, int nNewId) ;
EXE_EXPORT bool ExeErase( const INTVECTOR& vIds) ;
EXE_EXPORT bool ExeEmptyGroup( int nId) ;
EXE_EXPORT int ExeGetType( int nId) ;
EXE_EXPORT bool ExeGetTitle( int nId, std::string& sTitle) ;
EXE_EXPORT bool ExeGroupDump( int nId, std::string& sDump) ;
EXE_EXPORT bool ExeGeoObjDump( int nId, std::string& sDump) ;
// GeomDB Obj Attributes
EXE_EXPORT bool ExeSetLevel( int nId, int nLevel) ;
EXE_EXPORT bool ExeRevertLevel( int nId) ;
EXE_EXPORT bool ExeGetLevel( int nId, int* pnLevel) ;
EXE_EXPORT bool ExeGetCalcLevel( int nId, int* pnLevel) ;
EXE_EXPORT bool ExeSetMode( int nId, int nMode) ;
EXE_EXPORT bool ExeRevertMode( int nId) ;
EXE_EXPORT bool ExeGetMode( int nId, int* pnMode) ;
EXE_EXPORT bool ExeGetCalcMode( int nId, int* pnMode) ;
EXE_EXPORT bool ExeSetStatus( const INTVECTOR& vIds, int nStat) ;
EXE_EXPORT bool ExeRevertStatus( int nId) ;
EXE_EXPORT bool ExeGetStatus( int nId, int* pnStat) ;
EXE_EXPORT bool ExeGetCalcStatus( int nId, int* pnStat) ;
EXE_EXPORT bool ExeSetMark( int nId) ;
EXE_EXPORT bool ExeResetMark( int nId) ;
EXE_EXPORT bool ExeGetMark( int nId, int* pnMark) ;
EXE_EXPORT bool ExeGetCalcMark( int nId, int* pnMark) ;
EXE_EXPORT bool ExeStdColor( const std::string& sName, Color& ColStd) ;
EXE_EXPORT bool ExeSetColor( const INTVECTOR& vIds, const Color& cCol, bool bSetAlpha) ;
EXE_EXPORT bool ExeSetAlpha( const INTVECTOR& vIds, int nAlpha) ;
EXE_EXPORT bool ExeResetColor( const INTVECTOR& vIds) ;
EXE_EXPORT bool ExeGetColor( int nId, Color& cCol) ;
EXE_EXPORT bool ExeGetCalcColor( int nId, Color& cCol) ;
EXE_EXPORT bool ExeSetName( int nId, const std::string& sName) ;
EXE_EXPORT bool ExeGetName( int nId, std::string& sName) ;
EXE_EXPORT bool ExeExistsName( int nId) ;
EXE_EXPORT bool ExeRemoveName( int nId) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const std::string& sInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, int nInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, std::string& sInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, int& nInfo) ;
EXE_EXPORT bool ExeExistsInfo( int nId, const std::string& sKey) ;
EXE_EXPORT bool ExeRemoveInfo( int nId, const std::string& sKey) ;
// GeomDb Obj Selection
EXE_EXPORT bool ExeSelectObj( int nId) ;
EXE_EXPORT bool ExeDeselectObj( int nId) ;
EXE_EXPORT bool ExeSelectAll( bool bOnlyIfVisible) ;
EXE_EXPORT bool ExeDeselectAll( void) ;
EXE_EXPORT bool ExeSelectGroupObjs( int nGroupId) ;
EXE_EXPORT bool ExeDeselectGroupObjs( int nGroupId) ;
EXE_EXPORT bool ExeIsSelectedObj( int nId) ;
EXE_EXPORT int ExeGetSelectedObjNbr( void) ;
EXE_EXPORT int ExeGetFirstSelectedObj( void) ;
EXE_EXPORT int ExeGetNextSelectedObj( void) ;
EXE_EXPORT int ExeGetLastSelectedObj( void) ;
EXE_EXPORT int ExeGetPrevSelectedObj( void) ;
// GeomDB Modify
EXE_EXPORT bool ExeChangeGroupFrame( int nId, const Frame3d& frNewRef, int nRefType) ;
EXE_EXPORT bool ExeChangeVectorBase( int nId, const Point3d& ptB, int nRefType) ;
EXE_EXPORT bool ExeModifyText( int nId, const std::string& sNewText) ;
EXE_EXPORT bool ExeChangeTextFont( int nId, const std::string& sNewFont) ;
EXE_EXPORT bool ExeFlipText( int nId) ;
EXE_EXPORT bool ExeMirrorText( int nId, bool bOnL) ;
EXE_EXPORT int ExeExplodeText( int nId, int* pnCount) ;
EXE_EXPORT int ExeSplitText( int nId, int* pnCount) ;
// GeomDb Curve Modify
EXE_EXPORT bool ExeInvertCurve( const INTVECTOR& vIds) ;
EXE_EXPORT bool ExeOffsetCurve( int nId, double dDist, int nType) ;
EXE_EXPORT bool ExeChangeClosedCurveStartPoint( int nId, const Point3d& ptP, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveStartPoint( int nId, const Point3d& ptP, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveEndPoint( int nId, const Point3d& ptP, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveExtrusion( const INTVECTOR& vIds, const Vector3d& vtExtr, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveThickness( const INTVECTOR& vIds, double dThick) ;
EXE_EXPORT bool ExeTrimCurveStartAtLen( int nId, double dLen) ;
EXE_EXPORT bool ExeTrimCurveEndAtLen( int nId, double dLen) ;
EXE_EXPORT bool ExeTrimCurveStartAtParam( int nId, double dPar) ;
EXE_EXPORT bool ExeTrimCurveEndAtParam( int nId, double dPar) ;
EXE_EXPORT bool ExeTrimCurveStartEndAtParam( int nId, double dParS, double dParE) ;
EXE_EXPORT bool ExeExtendCurveStartByLen( int nId, double dLen) ;
EXE_EXPORT bool ExeExtendCurveEndByLen( int nId, double dLen) ;
EXE_EXPORT bool ExeTrimExtendCurveByLen( int nId, double dLen, const Point3d& ptNear, int nRefType) ;
EXE_EXPORT int ExeSplitCurve( int nId, int nParts) ;
EXE_EXPORT int ExeSplitCurveAtPoint( int nId, const Point3d& ptOn, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveCircleCPN( int nId, const Point3d& ptOn, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveArcRadius( int nId, double dRad) ;
EXE_EXPORT bool ExeModifyCurveArcC2PN( int nId, const Point3d& ptEnd, int nRefType) ;
EXE_EXPORT bool ExeModifyCurveArc3P( int nId, const Point3d& ptMid, int nRefType) ;
EXE_EXPORT int ExeExplodeCurveCompo( int nId, int* pnCount) ;
EXE_EXPORT int ExeApproxCurveArc( int nId, double dLinTol) ;
EXE_EXPORT int ExeApproxCurveBezier( int nId, bool bArcsVsLines, double dLinTol) ;
// GeomDb Surf Modify
EXE_EXPORT bool ExeInvertSurface( const INTVECTOR& vIds) ;
EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeExplodeSurfTm( int nId, int* pnCount) ;
// Geo Snap Vector/Point/Frame
EXE_EXPORT bool ExeStartPoint( int nId, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeEndPoint( int nId, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeMidPoint( int nId, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeCenterPoint( int nId, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeCentroid( int nId, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeAtParamPoint( int nId, double dU, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeNearPoint( int nId, const Point3d& ptNear, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeIntersectionPoint( int nId1, int nId2, const Point3d& ptNear, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeStartVector( int nId, int nRefId, Vector3d& vtV) ;
EXE_EXPORT bool ExeEndVector( int nId, int nRefId, Vector3d& vtV) ;
EXE_EXPORT bool ExeMidVector( int nId, int nRefId, Vector3d& vtV) ;
EXE_EXPORT bool ExeAtParamVector( int nId, double dU, int nSide, int nRefId, Vector3d& vtV) ;
EXE_EXPORT bool ExeFrame( int nId, int nRefId, Frame3d& frFrame) ;
EXE_EXPORT bool ExeCurveDomain( int nId, double* pdStart, double* pdEnd) ;
EXE_EXPORT bool ExeCurveLength( int nId, double* pdLen) ;
EXE_EXPORT bool ExeCurveLengthAtPoint( int nId, const Point3d& ptOn, double dExtend, double* pdLen) ;
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 ExeGetMinDistPointCurve( const Point3d& ptP, int nId, double* pdDist, double* pdU) ;
EXE_EXPORT bool ExeGetMinDistPntSidePointCurve( const Point3d& ptP, int nId, const Vector3d& vtN,
double* pdDist, Point3d& ptMin, int* pnSide) ;
EXE_EXPORT bool ExeCurveArcRadius( int nId, double* pdRad) ;
EXE_EXPORT bool ExeCurveArcNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExeCurveCompoCenter( int nId, int nSimpCrv, int nRefId, Point3d& ptCen) ;
EXE_EXPORT int ExeSurfTmFacetNbr( int nId) ;
EXE_EXPORT int ExeSurfTmFacetFromTria( int nId, int nT) ;
EXE_EXPORT bool ExeSurfTmFacetNearestEndPoint( int nId, int nFacet, const Point3d& ptNear, int nRefId,
Point3d& ptEnd, Vector3d& vtN) ;
EXE_EXPORT bool ExeSurfTmFacetNearestMidPoint( int nId, int nFacet, const Point3d& ptNear, int nRefId,
Point3d& ptMid, Vector3d& vtN) ;
EXE_EXPORT bool ExeSurfTmFacetCenter( int nId, int nFacet, int nRefId, Point3d& ptCen, Vector3d& vtN) ;
EXE_EXPORT bool ExeSurfTmFacetNormVersor( int nId, int nFacet, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExeExtTextNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExePointToIdGlob( Point3d& ptP, int nId) ;
EXE_EXPORT bool ExePointToIdLoc( Point3d& ptP, int nId) ;
EXE_EXPORT bool ExeVectorToIdGlob( Vector3d& vtV, int nId) ;
EXE_EXPORT bool ExeVectorToIdLoc( Vector3d& vtV, int nId) ;
// Geo Transform
EXE_EXPORT bool ExeMove( INTVECTOR& vIds, const Vector3d& vtMove, int nRefType) ;
EXE_EXPORT bool ExeRotate( INTVECTOR& vIds, const Point3d& ptAx, const Vector3d& vtAx,
double dAngRotDeg, int nRefType) ;
EXE_EXPORT bool ExeScale( INTVECTOR& vIds, const Frame3d& frRef,
double dCoeffX, double dCoeffY, double dCoeffZ, int nRefType) ;
EXE_EXPORT bool ExeMirror( INTVECTOR& vIds, const Point3d& ptP, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT bool ExeShear( INTVECTOR& vIds, const Point3d& ptP, const Vector3d& vtN,
const Vector3d& vtDir, double dCoeff, int nRefType) ;
EXE_EXPORT bool ExeMoveGroup( int nId, const Vector3d& vtMove) ;
EXE_EXPORT bool ExeRotateGroup( int nId, const Point3d& ptAx, const Vector3d& vtAx, double dAngRotDeg) ;
EXE_EXPORT bool ExeScaleGroup( int nId, const Frame3d& frFrame, double dCoeffX, double dCoeffY, double dCoeffZ) ;
EXE_EXPORT bool ExeMirrorGroup( int nId, const Point3d& ptP, const Vector3d& vtN) ;
EXE_EXPORT bool ExeShearGroup( int nId, const Point3d& ptP, const Vector3d& vtN,
const Vector3d& vtDir, double dCoeff) ;
// Machining
EXE_EXPORT bool ExeInitMachMgr( const std::string& sMachinesDir) ;
EXE_EXPORT bool ExeUpdateMachMgr( void) ;
EXE_EXPORT bool ExeInsertMachMgr( int nInsGrp) ;
EXE_EXPORT int ExeGetMachGroupNbr( void) ;
EXE_EXPORT int ExeGetFirstMachGroup( void) ;
EXE_EXPORT int ExeGetNextMachGroup( int nId) ;
EXE_EXPORT int ExeAddMachGroup( const std::string& sName, const std::string& sMachineName) ;
EXE_EXPORT bool ExeRemoveMachGroup( int nMGroupId) ;
EXE_EXPORT bool ExeGetMachGroupName( int nId, std::string& sName) ;
EXE_EXPORT int ExeGetMachGroupId( const std::string& sName) ;
EXE_EXPORT bool ExeSetCurrMachGroup( int nMGroupId) ;
EXE_EXPORT bool ExeResetCurrMachGroup( void) ;
EXE_EXPORT int ExeGetCurrMachGroup( void) ;
EXE_EXPORT int ExeGetRawPartNbr( void) ;
EXE_EXPORT int ExeGetFirstRawPart( void) ;
EXE_EXPORT int ExeGetNextRawPart( int nRawId) ;
EXE_EXPORT int ExeAddRawPart( Point3d ptOrig, double dWidth, double dLength, double dHeight, Color cCol) ;
EXE_EXPORT int ExeAddRawPartWithPart( int nPartId, int nCrvId, double dOverMat, Color cCol) ;
EXE_EXPORT bool ExeModifyRawPartHeight( int nRawId, double dHeight) ;
EXE_EXPORT bool ExeRemoveRawPart( int nRawId) ;
EXE_EXPORT bool 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 int ExeGetPartInRawPartNbr( int nRawId) ;
EXE_EXPORT int ExeGetFirstPartInRawPart( int nRawId) ;
EXE_EXPORT int ExeGetNextPartInRawPart( int nPartId) ;
EXE_EXPORT bool ExeAddPartToRawPart( int nPartId, const Point3d& ptPos, int nRawId) ;
EXE_EXPORT bool ExeRemovePartFromRawPart( int nPartId) ;
EXE_EXPORT bool ExeTranslatePartInRawPart( int nPartId, const Vector3d& vtMove) ;
EXE_EXPORT bool ExeRotatePartInRawPart( int nPartId, const Vector3d& vtAx, double dAngRotDeg) ;
EXE_EXPORT bool ExeSetTable( const std::string& sTable) ;
EXE_EXPORT int ExeAddSubPiece( const std::string& sName, const Point3d& ptPos) ;
EXE_EXPORT bool ExeSetAxisPos( const std::string& sAxis, double dVal) ;
EXE_EXPORT bool ExeGetAxisPos( const std::string& sAxis, double* pdVal) ;
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 ExeResetHeadSet( const std::string& sHead) ;
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 ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
int& nStat, double& dAngA1, double& dAngB1, double& dAngA2, double& dAngB2) ;
EXE_EXPORT bool ExeGetCalcPositions( const Point3d& ptP, double dAngA, double dAngB,
int& nStat, double& dX, double& dY, double& dZ) ;
EXE_EXPORT bool ExeVerifyOutOfStroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) ;
EXE_EXPORT int ExeAddDrilling( const std::string& sName) ;
// Scene
EXE_EXPORT bool ExeInitScene( HWND hWnd, int nDriver, bool b2Buff, int nColorBits, int nDepthBits) ;
EXE_EXPORT bool ExeGetSceneInfo( std::string& sInfo) ;
EXE_EXPORT bool ExeSetBackground( Color TopCol, Color BottomCol, bool bRedraw) ;
EXE_EXPORT bool ExeSetMarkAttribs( Color MarkCol) ;
EXE_EXPORT bool ExeSetSelSurfAttribs( Color SelSurfCol) ;
EXE_EXPORT bool ExeSetGeoLineAttribs( Color GlCol) ;
EXE_EXPORT bool ExeSetGeoTriaAttribs( Color GtCol) ;
EXE_EXPORT bool ExeSetWinRectAttribs( bool bOutline, Color WrCol) ;
EXE_EXPORT bool ExeSetGlobFrameShow( bool bShow) ;
EXE_EXPORT bool ExeSetGridShow( bool bShowGrid, bool bShowFrame) ;
EXE_EXPORT bool ExeSetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) ;
EXE_EXPORT bool ExeSetGridColor( Color colMin, Color colMaj) ;
EXE_EXPORT bool ExeResize( int nW, int nH) ;
EXE_EXPORT bool ExeDraw( void) ;
EXE_EXPORT bool ExeSelect( int nWinX, int nWinY, int nSelW, int nSelH, int* pnSel) ;
EXE_EXPORT bool ExeSetObjFilterForSelect( bool bZerodim, bool bCurve, bool bSurf, bool bVolume, bool bExtra) ;
EXE_EXPORT bool ExeUnselectableRemove( int nId) ;
EXE_EXPORT bool ExeUnselectableAdd( int nId) ;
EXE_EXPORT bool ExeUnselectableClearAll( void) ;
EXE_EXPORT int ExeGetFirstObjInSelWin( void) ;
EXE_EXPORT int ExeGetNextObjInSelWin( void) ;
EXE_EXPORT bool ExeGetPointFromSelect( int nSelId, int nWinX, int nWinY, Point3d& ptSel, int* pnAux) ;
EXE_EXPORT bool ExeGetGraphicSnapPoint( int nSnap, int nWinX, int nWinY, int nSelW, int nSelH, Point3d& ptP) ;
EXE_EXPORT bool ExeGetGridSnapPointZ( bool bSketch, int nWinX, int nWinY, const Point3d& ptGrid, Point3d& ptP) ;
EXE_EXPORT int ExeGetLastSnapId( void) ;
EXE_EXPORT bool ExeGetLastSnapDir( Vector3d& vtV) ;
EXE_EXPORT bool ExeSetShowMode( int nShowMode, bool bRedraw) ;
EXE_EXPORT int ExeGetShowMode( void) ;
EXE_EXPORT bool ExeSetShowCurveDirection( bool bShow, bool bRedraw) ;
EXE_EXPORT bool ExeGetShowCurveDirection( void) ;
EXE_EXPORT bool ExeSetShowTriaAdv( bool bAdvanced, bool bRedraw) ;
EXE_EXPORT bool ExeGetShowTriaAdv( void) ;
EXE_EXPORT bool ExeZoomRadius( double dRadius, bool bRedraw) ;
EXE_EXPORT bool ExeZoom( int nZoom, bool bRedraw) ;
EXE_EXPORT bool ExeZoomOnPoint( int nWinX, int nWinY, double dCoeff, bool bRedraw) ;
EXE_EXPORT bool ExeSetGeoLine( const Point3d& ptP1, const Point3d& ptP2, bool bRedraw) ;
EXE_EXPORT bool ExeResetGeoLine( bool bRedraw) ;
EXE_EXPORT bool ExeSetGeoTria( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, bool bRedraw) ;
EXE_EXPORT bool ExeResetGeoTria( bool bRedraw) ;
EXE_EXPORT bool ExeSetWinRect( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ;
EXE_EXPORT bool ExeResetWinRect( bool bRedraw) ;
EXE_EXPORT bool ExeZoomWin( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ;
EXE_EXPORT bool ExeSetView( int nDir, bool bRedraw) ;
EXE_EXPORT bool ExeSetGenericView( double dAngVertDeg, double dAngHorizDeg, bool bRedraw) ;
EXE_EXPORT bool ExeSetViewCenter( const Point3d& ptP, bool bRedraw) ;
EXE_EXPORT bool ExePanView( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ;
EXE_EXPORT bool ExeRotateView( int nPrevX, int nPrevY, int nCurrX, int nCurrY, bool bRedraw) ;
EXE_EXPORT bool ExeGetView( int* pnDir) ;
EXE_EXPORT bool ExeGetGenericView( double* pdAngVertDeg, double* pdAngHorizDeg) ;
EXE_EXPORT bool ExeProjectPoint( const Point3d& ptP, Point3d& ptWin) ;
EXE_EXPORT bool ExeUnProjectPoint( int nWinX, int nWinY, Point3d& ptP) ;
// Messages
EXE_EXPORT bool ExeLoadMessages( const std::string& sMsgFilePath) ;
EXE_EXPORT const std::string& ExeGetMsg( int nMsg) ;