Files
Include/EInAPI.h
T
Dario Sassi 11eb3ae854 Include :
- aggiornamento.
2015-02-11 11:47:14 +00:00

437 lines
31 KiB
C

//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EInAPI.h Data : 26.08.14 Versione : 1.5h1
// Contenuto : API (application programming interface).
//
//
//
// Modifiche : 26.08.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#define NOMINMAX
#include <windows.h>
//----------------------- Macro per import/export ----------------------------
#undef EIN_EXPORT
#if defined( I_AM_EIN) // da definirsi solo nella DLL
#define EIN_EXPORT __declspec( dllexport)
#else
#define EIN_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
// API
// General
EIN_EXPORT BOOL __stdcall EgtInit( int nDebug, const wchar_t* sLogFile, const wchar_t* sLogMsg) ;
EIN_EXPORT BOOL __stdcall EgtExit( void) ;
EIN_EXPORT BOOL __stdcall EgtSetKey( const wchar_t* sKey) ;
EIN_EXPORT BOOL __stdcall EgtSetFont( const wchar_t* sNfeFontDir, const wchar_t* sDefaultFont) ;
EIN_EXPORT BOOL __stdcall EgtGetNfeFontDir( wchar_t*& wsNfeFontDir) ;
EIN_EXPORT BOOL __stdcall EgtGetDefaultFont( wchar_t*& wsDefaultFont) ;
EIN_EXPORT BOOL __stdcall EgtSetLuaLibs( const wchar_t* sLuaLibsDir) ;
EIN_EXPORT BOOL __stdcall EgtSetCommandLogger( const wchar_t* sLogFile) ;
EIN_EXPORT void __stdcall EgtEnableCommandLogger( void) ;
EIN_EXPORT void __stdcall EgtDisableCommandLogger( void) ;
EIN_EXPORT BOOL __stdcall EgtGetVersionInfo( wchar_t*& wsVer) ;
EIN_EXPORT BOOL __stdcall EgtFreeMemory( void* pMem) ;
EIN_EXPORT BOOL __stdcall EgtOutLog( const wchar_t* sMsg) ;
// GeomDB
EIN_EXPORT int __stdcall EgtInitGeomDB( void) ;
EIN_EXPORT BOOL __stdcall EgtSetCurrentContext( int nGseCtx) ;
EIN_EXPORT BOOL __stdcall EgtResetCurrentContext( void) ;
EIN_EXPORT int __stdcall EgtGetCurrentContext( void) ;
EIN_EXPORT BOOL __stdcall EgtSetDefaultMaterial( const int vCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetGridFrame( const double ptOrig[3], const double vX[3], const double vY[3], const double vZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetGridFrame( double ptOrig[3], double vX[3], double vY[3], double vZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtSetCurrFilePath( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtGetCurrFilePath( wchar_t*& wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtEnableModified( void) ;
EIN_EXPORT BOOL __stdcall EgtDisableModified( void) ;
EIN_EXPORT BOOL __stdcall EgtSetModified( void) ;
EIN_EXPORT BOOL __stdcall EgtResetModified( void) ;
EIN_EXPORT BOOL __stdcall EgtGetModified( void) ;
EIN_EXPORT BOOL __stdcall EgtNewFile( void) ;
EIN_EXPORT BOOL __stdcall EgtOpenFile( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtInsertFile( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtSaveFile( const wchar_t* wsFilePath, int nFlag) ;
// Exchange
EIN_EXPORT int __stdcall EgtGetFileType( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtImportDxf( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtImportStl( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtImportCnc( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtExportDxf( int nId, const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtExportStl( int nId, const wchar_t* wsFilePath) ;
// Tsc Executor
EIN_EXPORT BOOL __stdcall EgtInitTscExec( void) ;
EIN_EXPORT BOOL __stdcall EgtTscExecFile( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtTscExecLine( const wchar_t* wsLine) ;
// LUA Executor
EIN_EXPORT BOOL __stdcall EgtLuaEvalNumExpr( const wchar_t* wsExpr, double* pdVal) ;
EIN_EXPORT BOOL __stdcall EgtLuaEvalStringExpr( const wchar_t* wsExpr, wchar_t*& wsVal) ;
EIN_EXPORT BOOL __stdcall EgtLuaExecLine( const wchar_t* wsLine) ;
EIN_EXPORT BOOL __stdcall EgtLuaExecFile( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtLuaRequire( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtLuaGetLastError( wchar_t*& wsError) ;
// GeomDB Create
EIN_EXPORT int __stdcall EgtCreateGroup( int nParentId, const double vOrig[3],
const double vX[3], const double vY[3], const double vZ[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateGeoPoint( int nParentId, const double ptP[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateGeoVector( int nParentId, const double vtV[3], const double ptB[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateGeoFrame( int nParentId, const double ptOrig[3],
const double vX[3], const double vY[3], const double vZ[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateText( int nParentId, const double ptP[3], double dAngRotDeg,
const wchar_t* wsText, double dH, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateTextEx( int nParentId, const double ptP[3], const double vtN[3], const double vtD[3],
const wchar_t* wsText, const wchar_t* wsFont, BOOL bItalic, double dH, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateTextAdv( int nParentId, const double ptP[3], const double vtN[3], const double vtD[3],
const wchar_t* wsText, const wchar_t* wsFont,
int nW, BOOL bItalic, double dH, double dRat, double dAddAdv, int nInsPos, int nRefType) ;
// GeomDB Create Curve
EIN_EXPORT int __stdcall EgtCreateCurveLine( int nParentId,
const double ptIni[3], const double ptFin[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveLineEx( int nParentId, const double ptIni[3], int nSepI, int nIdI,
const double ptFin[3], int nSepF, int nIdF, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveLinePVL( int nParentId, const double ptIni[3],
const double vtDir[3], double dLen, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveLineMinPointCurve( int nParentId, const double ptStart[3],
int nCrvId, double dNearPar, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveCircle( int nParentId, const double ptCen[3],
const double vtN[3], double dRad, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveCircleCPN( int nParentId, const double ptCen[3],
const double ptOn[3], const double vtN[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveCircle3P( int nParentId, const double ptP1[3],
const double ptP2[3], const double ptP3[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveArc( int nParentId, const double ptCen[3],
const double vtN[3], double dRad, const double vtS[3],
double dAngCenDeg, double dDeltaN, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveArcC2PN( int nParentId, const double ptCen[3], const double ptStart[3],
const double ptNearEnd[3], const double vtNorm[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveArc3P( int nParentId, const double ptP1[3],
const double ptP2[3], const double ptP3[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveArc2PVN( int nParentId, const double ptStart[3], const double ptEnd[3],
const double vtDirS[3], const double vtNorm[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveBezier( int nParentId, int nDegree,
const double ptCtrls[/*3x(nDegree+1)*/], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveBezierRational( int nParentId, int nDegree,
const double ptCtrlWs[/*4x(nDegree+1)*/], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveBezierFromArc( int nParentId, int nArcId, BOOL bErase) ;
EIN_EXPORT int __stdcall EgtCreateCurveCompo( int nParentId, int nNumId, const int nIds[], BOOL bErase) ;
EIN_EXPORT int __stdcall EgtCreateCurveCompoByChain( int nParentId, int nNumId, const int nIds[],
const double ptNear[3], BOOL bErase, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveCompoFromPoints( int nParentId, int nP, const double ptPs[/*3 x nP*/], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveCompoFromPointBulges( int nParentId, int nPB, const double ptPBs[/*4 x nPB*/], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCurveCompoByApprox( int nParentId, int nSouId, BOOL bArcsVsLines, double dLinTol) ;
EIN_EXPORT int __stdcall EgtCreateRectangle3P( int nParentId, const double ptIni[3],
const double ptCross[3], const double ptDir[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreatePolygonFromSide( int nParentId, int nNumSides, const double ptIni[3],
const double ptFin[3], const double vtN[3], int nRefType) ;
// GeomDB Create Surf
EIN_EXPORT int __stdcall EgtCreateSurfTriMeshByFlatContour( int nParentId, int nCrvId, double dLinTol) ;
EIN_EXPORT int __stdcall EgtCreateSurfTriMeshByRegion( int nParentId, int nNumId, const int nCrvIds[], double dLinTol) ;
EIN_EXPORT int __stdcall EgtCreateSurfTriMeshByExtrusion( int nParentId, int nNumId, const int nCrvIds[],
const double vtExtr[3], double dLinTol, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateSurfTriMeshByRegionExtrusion( int nParentId, int nNumId, const int nCrvIds[],
const double vtExtr[3], double dLinTol, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateSurfTriMeshByRevolve( int nParentId, int nCrvId,
const double ptAx[3], const double vtAx[3],
BOOL bCapEnds, double dLinTol, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateSurfTriMeshByScrewing( int nParentId, int nCrvId,
const double ptAx[3], const double vtAx[3],
double dAngRotDeg, double dMove, double dLinTol, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateSurfTriMeshRuled( int nParentId, int nCrvId1, int nCrvId2, double dLinTol) ;
// GeomDB PartLayer
EIN_EXPORT int __stdcall EgtGetCurrPart( void) ;
EIN_EXPORT int __stdcall EgtGetCurrLayer( void) ;
EIN_EXPORT BOOL __stdcall EgtSetCurrPartLayer( int nPartId, int nLayerId) ;
EIN_EXPORT BOOL __stdcall EgtResetCurrPartLayer( void) ;
EIN_EXPORT int __stdcall EgtGetFirstVisiblePart( void) ;
EIN_EXPORT int __stdcall EgtGetNextVisiblePart( int nId) ;
EIN_EXPORT int __stdcall EgtGetFirstVisibleLayer( int nPartId) ;
EIN_EXPORT int __stdcall EgtGetNextVisibleLayer( int nId) ;
EIN_EXPORT BOOL __stdcall EgtSelectPartObjs( int nPartId) ;
EIN_EXPORT BOOL __stdcall EgtDeselectPartObjs( int nPartId) ;
EIN_EXPORT BOOL __stdcall EgtSelectLayerObjs( int nLayerId) ;
EIN_EXPORT BOOL __stdcall EgtDeselectLayerObjs( int nLayerId) ;
// GeomDB Objects
EIN_EXPORT BOOL __stdcall EgtExistsObj( int nId) ;
EIN_EXPORT int __stdcall EgtGetParent( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetGroupGlobFrame( int nId, double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ;
EIN_EXPORT int __stdcall EgtGetGroupObjs( int nId) ;
EIN_EXPORT int __stdcall EgtGetFirstInGroup( int nGroupId) ;
EIN_EXPORT int __stdcall EgtGetNext( int nId) ;
EIN_EXPORT int __stdcall EgtGetLastInGroup( int nGroupId) ;
EIN_EXPORT int __stdcall EgtGetPrev( int nId) ;
EIN_EXPORT int __stdcall EgtGetFirstGroupInGroup( int nGroupId) ;
EIN_EXPORT int __stdcall EgtGetNextGroup( int nId) ;
EIN_EXPORT int __stdcall EgtGetLastGroupInGroup( int nGroupId) ;
EIN_EXPORT int __stdcall EgtGetPrevGroup( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetBBox( int nId, int nFlag, double ptMin[3], double ptMax[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetBBoxGlob( int nId, int nFlag, double ptMin[3], double ptMax[3]) ;
EIN_EXPORT int __stdcall EgtCopy( int nSouId, int nRefId, int nSonBeforeAfter) ;
EIN_EXPORT int __stdcall EgtCopyGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EIN_EXPORT BOOL __stdcall EgtRelocate( int nSouId, int nRefId, int nSonBeforeAfter) ;
EIN_EXPORT BOOL __stdcall EgtRelocateGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EIN_EXPORT BOOL __stdcall EgtChangeId( int nId, int nNewId) ;
EIN_EXPORT BOOL __stdcall EgtErase( int nId) ;
EIN_EXPORT BOOL __stdcall EgtEmptyGroup( int nId) ;
EIN_EXPORT int __stdcall EgtGetType( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetTitle( int nId, wchar_t*& wsTitle) ;
EIN_EXPORT BOOL __stdcall EgtGroupDump( int nId, wchar_t*& wsDump) ;
EIN_EXPORT BOOL __stdcall EgtGeoObjDump( int nId, wchar_t*& wsDump) ;
// GeomDB Obj Attributes
EIN_EXPORT BOOL __stdcall EgtSetLevel( int nId, int nLevel) ;
EIN_EXPORT BOOL __stdcall EgtRevertLevel( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetLevel( int nId, int* pnLevel) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcLevel( int nId, int* pnLevel) ;
EIN_EXPORT BOOL __stdcall EgtSetMode( int nId, int nMode) ;
EIN_EXPORT BOOL __stdcall EgtRevertMode( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetMode( int nId, int* pnMode) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcMode( int nId, int* pnMode) ;
EIN_EXPORT BOOL __stdcall EgtSetStatus( int nId, int nStat) ;
EIN_EXPORT BOOL __stdcall EgtRevertStatus( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetStatus( int nId, int* pnStat) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcStatus( int nId, int* pnStat) ;
EIN_EXPORT BOOL __stdcall EgtSetMark( int nId) ;
EIN_EXPORT BOOL __stdcall EgtResetMark( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetMark( int nId, BOOL* pnMark) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcMark( int nId, BOOL* pnMark) ;
EIN_EXPORT BOOL __stdcall EgtStdColor( const wchar_t* wsName, int ObjCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetColor( int nId, const int ObjCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtResetColor( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetColor( int nId, int ObjCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcColor( int nId, int ObjCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetName( int nId, const wchar_t* wsName) ;
EIN_EXPORT BOOL __stdcall EgtGetName( int nId, wchar_t*& wsName) ;
EIN_EXPORT BOOL __stdcall EgtExistsName( int nId) ;
EIN_EXPORT BOOL __stdcall EgtRemoveName( int nId) ;
EIN_EXPORT BOOL __stdcall EgtSetInfo( int nId, const wchar_t* wsKey, const wchar_t* wsInfo) ;
EIN_EXPORT BOOL __stdcall EgtSetInfoInt( int nId, const wchar_t* wsKey, int nInfo) ;
EIN_EXPORT BOOL __stdcall EgtGetInfo( int nId, const wchar_t* wsKey, wchar_t*& wsInfo) ;
EIN_EXPORT BOOL __stdcall EgtGetInfoInt( int nId, const wchar_t* wsKey, int* pnInfo) ;
EIN_EXPORT BOOL __stdcall EgtExistsInfo( int nId, const wchar_t* wsKey) ;
EIN_EXPORT BOOL __stdcall EgtRemoveInfo( int nId, const wchar_t* wsKey) ;
// GeomDb Obj Selection
EIN_EXPORT BOOL __stdcall EgtSelectObj( int nId) ;
EIN_EXPORT BOOL __stdcall EgtDeselectObj( int nId) ;
EIN_EXPORT BOOL __stdcall EgtSelectAll( bool bOnlyIfVisible) ;
EIN_EXPORT BOOL __stdcall EgtDeselectAll( void) ;
EIN_EXPORT BOOL __stdcall EgtSelectGroupObjs( int nGroupId) ;
EIN_EXPORT BOOL __stdcall EgtDeselectGroupObjs( int nGroupId) ;
EIN_EXPORT BOOL __stdcall EgtIsSelectedObj( int nId) ;
EIN_EXPORT int __stdcall EgtGetSelectedObjNbr( void) ;
EIN_EXPORT int __stdcall EgtGetFirstSelectedObj( void) ;
EIN_EXPORT int __stdcall EgtGetNextSelectedObj( void) ;
EIN_EXPORT int __stdcall EgtGetLastSelectedObj( void) ;
EIN_EXPORT int __stdcall EgtGetPrevSelectedObj( void) ;
// GeomDB Modify
EIN_EXPORT BOOL __stdcall EgtChangeGroupFrame( int nId, double ptOrig[3],
double vtX[3], double vtY[3], double vtZ[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtChangeVectorBase( int nId, const double ptB[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtInvertSurface( int nId) ;
EIN_EXPORT BOOL __stdcall EgtModifyText( int nId, const wchar_t* wsNewText) ;
EIN_EXPORT BOOL __stdcall EgtChangeTextFont( int nId, const wchar_t* wsNewFont) ;
EIN_EXPORT BOOL __stdcall EgtFlipText( int nId) ;
EIN_EXPORT BOOL __stdcall EgtMirrorText( int nId, BOOL bOnL) ;
EIN_EXPORT BOOL __stdcall EgtExplodeText( int nId) ;
EIN_EXPORT BOOL __stdcall EgtSplitText( int nId) ;
// GeomDb CurveModif
EIN_EXPORT BOOL __stdcall EgtInvertCurve( int nId) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveStartPoint( int nId, const double ptP[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveEndPoint( int nId, const double ptP[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveExtrusion( int nId, const double vtExtr[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveThickness( int nId, double dThick) ;
EIN_EXPORT BOOL __stdcall EgtTrimCurveStartAtLen( int nId, double dLen) ;
EIN_EXPORT BOOL __stdcall EgtTrimCurveEndAtLen( int nId, double dLen) ;
EIN_EXPORT BOOL __stdcall EgtTrimCurveStartAtParam( int nId, double dPar) ;
EIN_EXPORT BOOL __stdcall EgtTrimCurveEndAtParam( int nId, double dPar) ;
EIN_EXPORT BOOL __stdcall EgtTrimCurveStartEndAtParam( int nId, double dParS, double dParE) ;
EIN_EXPORT BOOL __stdcall EgtExtendCurveStartByLen( int nId, double dLen) ;
EIN_EXPORT BOOL __stdcall EgtExtendCurveEndByLen( int nId, double dLen) ;
EIN_EXPORT BOOL __stdcall EgtTrimExtendCurveByLen( int nId, double dLen, const double ptNear[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtSplitCurve( int nId, int nParts) ;
EIN_EXPORT BOOL __stdcall EgtSplitCurveAtPoint( int nId, double ptOn[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtOffsetCurve( int nId, double dDist, int nType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveCircleCPN( int nId, const double ptOn[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveArcRadius( int nId, double dRad) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveArcC2PN( int nId, const double ptEnd[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCurveArc3P( int nId, const double ptMid[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtExplodeCurveCompo( int nId) ;
EIN_EXPORT BOOL __stdcall EgtExplodeCurveBezier( int nId, BOOL bArcsVsLines, double dLinTol) ;
// Geo Snap Vector/Point/Frame
EIN_EXPORT BOOL __stdcall EgtStartPoint( int nId, int nRefId, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtEndPoint( int nId, int nRefId, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtMidPoint( int nId, int nRefId, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtCenterPoint( int nId, int nRefId, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtAtParamPoint( int nId, double dU, int nRefId, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtNearPoint( int nId, const double ptNear[3], int nRefId, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtIntersectionPoint( int nId1, int nId2, const double ptNear[3], int nRefId, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtStartVector( int nId, int nRefId, double vtV[3]) ;
EIN_EXPORT BOOL __stdcall EgtEndVector( int nId, int nRefId, double vtV[3]) ;
EIN_EXPORT BOOL __stdcall EgtMidVector( int nId, int nRefId, double vtV[3]) ;
EIN_EXPORT BOOL __stdcall EgtAtParamVector( int nId, double dU, int nSide, int nRefId, double vtV[3]) ;
EIN_EXPORT BOOL __stdcall EgtFrame( int nId, int nRefId, double ptOrig[3],
double vtX[3], double vtY[3], double vtZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtCurveLength( int nId, double* pdLen) ;
EIN_EXPORT BOOL __stdcall EgtCurveLengthAtPoint( int nId, double ptOn[3], double* pdLen) ;
EIN_EXPORT BOOL __stdcall EgtCurveExtrusion( int nId, int nRefId, double vtExtr[3]) ;
EIN_EXPORT BOOL __stdcall EgtCurveThickness( int nId, double* pdThick) ;
EIN_EXPORT BOOL __stdcall EgtGetMinDistPointCurve( const double ptP[3], int nId, double* pdDist) ;
EIN_EXPORT BOOL __stdcall EgtGetMinDistPntSidePointCurve( const double ptP[3], int nId, double vtN[3],
double* pdDist, double ptMin[3], int* pnSide) ;
EIN_EXPORT BOOL __stdcall EgtCurveArcNormVersor( int nId, int nRefId, double vtNorm[3]) ;
EIN_EXPORT BOOL __stdcall EgtExtTextNormVersor( int nId, int nRefId, double vtNorm[3]) ;
EIN_EXPORT BOOL __stdcall EgtPointToIdGlob( double ptP[3], int nId) ;
EIN_EXPORT BOOL __stdcall EgtPointToIdLoc( double ptP[3], int nId) ;
EIN_EXPORT BOOL __stdcall EgtVectorToIdGlob( double vtV[3], int nId) ;
EIN_EXPORT BOOL __stdcall EgtVectorToIdLoc( double vtV[3], int nId) ;
// Geo Transform
EIN_EXPORT BOOL __stdcall EgtMove( int nId, double vVtMove[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtRotate( int nId, double vPtAx[3], double vVtAx[3], double dAngRotDeg, int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtScale( int nId, const double vOrig[3],
const double vX[3], const double vY[3], const double vZ[3],
double dCoeffX, double dCoeffY, double dCoeffZ, int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtMirror( int nId, const double vPnt[3], const double vN[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtShear( int nId, const double vPnt[3], const double vN[3],
const double vDir[3], double dCoeff, int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtMoveGroup( int nId, double vVtMove[3]) ;
EIN_EXPORT BOOL __stdcall EgtRotateGroup( int nId, double vPtAx[3], double vVtAx[3], double dAngRotDeg) ;
EIN_EXPORT BOOL __stdcall EgtScaleGroup( int nId, const double vOrig[3],
const double vX[3], const double vY[3], const double vZ[3],
double dCoeffX, double dCoeffY, double dCoeffZ) ;
EIN_EXPORT BOOL __stdcall EgtMirrorGroup( int nId, const double vPnt[3], const double vN[3]) ;
EIN_EXPORT BOOL __stdcall EgtShearGroup( int nId, const double vPnt[3], const double vN[3],
const double vDir[3], double dCoeff) ;
// Scene
EIN_EXPORT BOOL __stdcall EgtInitScene( HWND hWnd, int nDriver, int b2Buff, int nColorBits, int nDepthBits) ;
EIN_EXPORT BOOL __stdcall EgtGetSceneInfo( wchar_t*& wsInfo) ;
EIN_EXPORT BOOL __stdcall EgtSetBackground( const int nTopCol[4], const int nBottomCol[4], BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtSetMarkAttribs( const int MarkCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetSelSurfAttribs( const int SelSurfCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetGeoLineAttribs( const int GlCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetGeoTriaAttribs( const int GtCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetWinRectAttribs( BOOL bOutline, const int WrCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtSetGlobFrameShow( BOOL bShow) ;
EIN_EXPORT BOOL __stdcall EgtSetGridShow( BOOL bShowGrid, BOOL bShowFrame) ;
EIN_EXPORT BOOL __stdcall EgtSetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) ;
EIN_EXPORT BOOL __stdcall EgtSetGridColor( const int nMinCol[4], const int nMajCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtResize( int nW, int nH) ;
EIN_EXPORT BOOL __stdcall EgtDraw( void) ;
EIN_EXPORT BOOL __stdcall EgtSelect( int nWinX, int nWinY, int nSelW, int nSelH, int* pnSel) ;
EIN_EXPORT int __stdcall EgtGetFirstObjInSelWin( void) ;
EIN_EXPORT int __stdcall EgtGetNextObjInSelWin( void) ;
EIN_EXPORT BOOL __stdcall EgtUnselectableAdd( int nId) ;
EIN_EXPORT BOOL __stdcall EgtUnselectableRemove( int nId) ;
EIN_EXPORT BOOL __stdcall EgtUnselectableClearAll( void) ;
EIN_EXPORT BOOL __stdcall EgtGetPointFromSelect( int nSelId, int nWinX, int nWinY, double ptSel[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetGraphicSnapPoint( int nSnap, int nWinX, int nWinY, int nSelW, int nSelH, double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetGridSnapPointZ( BOOL bSketch, int nWinX, int nWinY, const double ptGrid[3], double ptP[3]) ;
EIN_EXPORT int __stdcall EgtGetLastSnapId( void) ;
EIN_EXPORT BOOL __stdcall EgtGetLastSnapDir( double vtV[3]) ;
EIN_EXPORT BOOL __stdcall EgtSetShowMode( int nShowMode, BOOL bRedraw) ;
EIN_EXPORT int __stdcall EgtGetShowMode( void) ;
EIN_EXPORT BOOL __stdcall EgtSetShowCurveDirection( BOOL bShow, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtGetShowCurveDirection( void) ;
EIN_EXPORT BOOL __stdcall EgtZoom( int nZoom, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtZoomOnPoint( int nWinX, int nWinY, double dCoeff, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtSetGeoLine( const double ptP1[3], const double ptP2[3], BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtResetGeoLine( BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtSetGeoTria( const double ptP1[3], const double ptP2[3], const double ptP3[3], BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtResetGeoTria( BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtSetWinRect( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtResetWinRect( BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtZoomWin( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtSetView( int nView, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtSetGenericView( double dAngVertDeg, double dAngHorizDeg, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtSetViewCenter( const double ptP[3], BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtPanCamera( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtRotateCamera( int nPrevX, int nPrevY, int nCurrX, int nCurrY, BOOL bRedraw) ;
EIN_EXPORT BOOL __stdcall EgtGetCameraDir( int* pnDir) ;
EIN_EXPORT BOOL __stdcall EgtProjectPoint( const double ptP[3], double ptWin[3]) ;
EIN_EXPORT BOOL __stdcall EgtUnProjectPoint( int nWinX, int nWinY, double ptP[3]) ;
// Geo Base
EIN_EXPORT BOOL __stdcall EgtVectorNormalize( double* pdX, double* pdY, double* pdZ,
double dEps = EPS_SMALL) ;
EIN_EXPORT BOOL __stdcall EgtVectorRotate( double* pdX, double* pdY, double* pdZ,
const double vtAx[3], double dAngRotDeg) ;
EIN_EXPORT BOOL __stdcall EgtVectorScale( double* pdX, double* pdY, double* pdZ,
const double ptOrig[3], const double vtX[3], const double vtY[3], const double vtZ[3],
double dCoeffX, double dCoeffY, double dCoeffZ) ;
EIN_EXPORT BOOL __stdcall EgtVectorMirror( double* pdX, double* pdY, double* pdZ,
const double vtNorm[3]) ;
EIN_EXPORT BOOL __stdcall EgtVectorShear( double* pdX, double* pdY, double* pdZ,
const double vtNorm[3], const double vtDir[3], double dCoeff) ;
EIN_EXPORT BOOL __stdcall EgtVectorToGlob( double* pdX, double* pdY, double* pdZ,
const double ptOrig[3], const double vtX[3], const double vtY[3], const double vtZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtVectorToLoc( double* pdX, double* pdY, double* pdZ,
const double ptOrig[3], const double vtX[3], const double vtY[3], const double vtZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtVectorLocToLoc( double* pdX, double* pdY, double* pdZ,
const double ptO1[3], const double vtX1[3], const double vtY1[3], const double vtZ1[3],
const double ptO2[3], const double vtX2[3], const double vtY2[3], const double vtZ2[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetVectorRotation( const double vtS[3], const double vtE[3], const double vtAx[3],
double* pdAngRotDeg, BOOL* pbDet) ;
EIN_EXPORT BOOL __stdcall EgtPointTranslate( double* pdX, double* pdY, double* pdZ,
const double vtMove[3]) ;
EIN_EXPORT BOOL __stdcall EgtPointRotate( double* pdX, double* pdY, double* pdZ,
const double ptAx[3], const double vtAx[3], double dAngRotDeg) ;
EIN_EXPORT BOOL __stdcall EgtPointScale( double* pdX, double* pdY, double* pdZ,
const double ptOrig[3], const double vtX[3], const double vtY[3], const double vtZ[3],
double dCoeffX, double dCoeffY, double dCoeffZ) ;
EIN_EXPORT BOOL __stdcall EgtPointMirror( double* pdX, double* pdY, double* pdZ,
const double ptOn[3], const double vtNorm[3]) ;
EIN_EXPORT BOOL __stdcall EgtPointShear( double* pdX, double* pdY, double* pdZ,
const double ptOn[3], const double vtNorm[3], const double vtDir[3], double dCoeff) ;
EIN_EXPORT BOOL __stdcall EgtPointToGlob( double* pdX, double* pdY, double* pdZ,
const double ptOrig[3], const double vtX[3], const double vtY[3], const double vtZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtPointToLoc( double* pdX, double* pdY, double* pdZ,
const double ptOrig[3], const double vtX[3], const double vtY[3], const double vtZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtPointLocToLoc( double* pdX, double* pdY, double* pdZ,
const double ptO1[3], const double vtX1[3], const double vtY1[3], const double vtZ1[3],
const double ptO2[3], const double vtX2[3], const double vtY2[3], const double vtZ2[3]) ;
EIN_EXPORT BOOL __stdcall EgtFrameFrom3Points( double ptO[3], double ptOnX[3], double ptNearY[3],
double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtFrameOCS( double ptO[3], double vtDirZ[3],
double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ;
EIN_EXPORT BOOL __stdcall EgtFrameTranslate( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3],
const double vtMove[3]) ;
EIN_EXPORT BOOL __stdcall EgtFrameRotate( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3],
const double ptAx[3], const double vtAx[3], double dAngRotDeg) ;
EIN_EXPORT BOOL __stdcall EgtFrameToGlob( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3],
const double ptO1[3], const double vtX1[3], const double vtY1[3], const double vtZ1[3]) ;
EIN_EXPORT BOOL __stdcall EgtFrameToLoc( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3],
const double ptO1[3], const double vtX1[3], const double vtY1[3], const double vtZ1[3]) ;
EIN_EXPORT BOOL __stdcall EgtFrameLocToLoc( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3],
const double ptO1[3], const double vtX1[3], const double vtY1[3], const double vtZ1[3],
const double ptO2[3], const double vtX2[3], const double vtY2[3], const double vtZ2[3]) ;
#ifdef __cplusplus
}
#endif