EgtInterface 1.6e2 :
- esecutore e lua scorporato in EgtExecutor.
This commit is contained in:
+15
-265
@@ -14,17 +14,9 @@
|
||||
//--------------------------- Include ----------------------------------------
|
||||
#include "stdafx.h"
|
||||
#include "API.h"
|
||||
#include "API_Macro.h"
|
||||
#include "AuxTools.h"
|
||||
#include "GeoTools.h"
|
||||
#include "/EgtDev/Include/EInAPI.h"
|
||||
#include "/EgtDev/Include/EInConst.h"
|
||||
#include "/EgtDev/Include/EgkGeoPoint3d.h"
|
||||
#include "/EgtDev/Include/EgkGeoVector3d.h"
|
||||
#include "/EgtDev/Include/EgkExtText.h"
|
||||
#include "/EgtDev/Include/EGkStringUtils3d.h"
|
||||
#include "/EgtDev/Include/EXeExecutor.h"
|
||||
#include "/EgtDev/Include/EGnStringConverter.h"
|
||||
#include "/EgtDev/Include/EgtPointerOwner.h"
|
||||
|
||||
using namespace std ;
|
||||
|
||||
@@ -33,118 +25,24 @@ int
|
||||
__stdcall EgtCreateGroup( int nParentId, const double ptOrig[3],
|
||||
const double vX[3], const double vY[3], const double vZ[3], int nRefType)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
bool bOk = true ;
|
||||
// recupero il riferimento locale
|
||||
Frame3d frLoc ;
|
||||
bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ;
|
||||
// porto in locale l'origine e i versori
|
||||
Point3d ptOrigL = GetPointLocal( pGeomDB, ptOrig, nRefType, frLoc) ; ;
|
||||
Vector3d vtXL = GetVectorLocal( pGeomDB, vX, nRefType, frLoc) ; ;
|
||||
Vector3d vtYL = GetVectorLocal( pGeomDB, vY, nRefType, frLoc) ; ;
|
||||
Vector3d vtZL = GetVectorLocal( pGeomDB, vZ, nRefType, frLoc) ; ;
|
||||
// costruisco il riferimento
|
||||
Frame3d frFrameL ;
|
||||
bOk = bOk && frFrameL.Set( ptOrigL, vtXL, vtYL, vtZL) ;
|
||||
// creo il gruppo
|
||||
int nId = ( bOk ? pGeomDB->AddGroup( GDB_ID_NULL, nParentId, frFrameL) : GDB_ID_NULL) ;
|
||||
EgtSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua ;
|
||||
if ( AreSamePointApprox( ORIG, ptOrig) &&
|
||||
AreSameVectorExact( X_AX, vX) &&
|
||||
AreSameVectorExact( Y_AX, vY) &&
|
||||
AreSameVectorExact( Z_AX, vZ))
|
||||
sLua = "EgtGroup(" + ToString( nParentId) + "," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
else
|
||||
sLua = "EgtGroup(" + ToString( nParentId) + ",{{" +
|
||||
ToString( Point3d( ptOrig)) + "},{" +
|
||||
ToString( Vector3d( vX)) + "},{" +
|
||||
ToString( Vector3d( vY)) + "},{" +
|
||||
ToString( Vector3d( vZ)) + "}}," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco l'identificativo del nuovo gruppo
|
||||
return nId ;
|
||||
Frame3d frFrame ;
|
||||
if ( ! frFrame.Set( ptOrig, vX, vY, vZ))
|
||||
return GDB_ID_NULL ;
|
||||
return ExeCreateGroup( nParentId, frFrame, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
int
|
||||
__stdcall EgtCreateGeoPoint( int nParentId, const double ptP[3], int nRefType)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
bool bOk = true ;
|
||||
// recupero il riferimento locale
|
||||
Frame3d frLoc ;
|
||||
bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ;
|
||||
// porto in locale il punto
|
||||
Point3d ptPL = GetPointLocal( pGeomDB, ptP, nRefType, frLoc) ; ;
|
||||
// creo il punto
|
||||
PtrOwner<IGeoPoint3d> pGeoPnt( CreateGeoPoint3d()) ;
|
||||
bOk = bOk && ! IsNull( pGeoPnt) ;
|
||||
// setto il punto
|
||||
bOk = bOk && pGeoPnt->Set( ptPL) ;
|
||||
// inserisco il punto nel DB
|
||||
int nId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pGeoPnt)) : GDB_ID_NULL) ;
|
||||
EgtSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtPoint(" + ToString( nParentId) + ",{" +
|
||||
ToString( Point3d( ptP)) + "}," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco l'identificativo della nuova entità
|
||||
return nId ;
|
||||
return ExeCreateGeoPoint( nParentId, ptP, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
int
|
||||
__stdcall EgtCreateGeoVector( int nParentId, const double vtV[3], const double ptB[3], int nRefType)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
bool bOk = true ;
|
||||
// recupero il riferimento locale
|
||||
Frame3d frLoc ;
|
||||
bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ;
|
||||
// porto in locale il vettore e il punto
|
||||
Vector3d vtVL = GetVectorLocal( pGeomDB, vtV, nRefType, frLoc) ; ;
|
||||
Point3d ptBL = GetPointLocal( pGeomDB, ptB, nRefType, frLoc) ; ;
|
||||
// creo il vettore
|
||||
PtrOwner<IGeoVector3d> pGeoVct( CreateGeoVector3d()) ;
|
||||
bOk = bOk && ! IsNull( pGeoVct) ;
|
||||
// setto il vettore (con il punto base)
|
||||
bOk = bOk && pGeoVct->Set( vtVL, ptBL) ;
|
||||
// inserisco il vettore nel DB
|
||||
int nId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pGeoVct)) : GDB_ID_NULL) ;
|
||||
EgtSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua ;
|
||||
if ( Point3d( ptB).IsSmall())
|
||||
sLua = "EgtVector(" + ToString( nParentId) + ",{" +
|
||||
ToString( Vector3d( vtV)) + "}," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
else
|
||||
sLua = "EgtVector(" + ToString( nParentId) + ",{" +
|
||||
ToString( Vector3d( vtV)) + "},{" +
|
||||
ToString( Point3d( ptB)) + "}," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco l'identificativo della nuova entità
|
||||
return nId ;
|
||||
return ExeCreateGeoVector( nParentId, vtV, ptB, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
@@ -152,37 +50,10 @@ int
|
||||
__stdcall EgtCreateGeoFrame( int nParentId, const double ptOrig[3],
|
||||
const double vX[3], const double vY[3], const double vZ[3], int nRefType)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
bool bOk = true ;
|
||||
// recupero il riferimento locale
|
||||
Frame3d frLoc ;
|
||||
bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ;
|
||||
// porto in locale l'origine e i versori
|
||||
Point3d ptOrigL = GetPointLocal( pGeomDB, ptOrig, nRefType, frLoc) ; ;
|
||||
Vector3d vtXL = GetVectorLocal( pGeomDB, vX, nRefType, frLoc) ; ;
|
||||
Vector3d vtYL = GetVectorLocal( pGeomDB, vY, nRefType, frLoc) ; ;
|
||||
Vector3d vtZL = GetVectorLocal( pGeomDB, vZ, nRefType, frLoc) ; ;
|
||||
// creo e setto il riferimento
|
||||
PtrOwner<IGeoFrame3d> pGeoFrm( CreateGeoFrame3d()) ;
|
||||
bOk = bOk & ! IsNull( pGeoFrm) ;
|
||||
bOk = bOk & pGeoFrm->Set( ptOrigL, vtXL, vtYL, vtZL) ;
|
||||
// inserisco il riferimento nel DB
|
||||
int nId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pGeoFrm)) : GDB_ID_NULL) ;
|
||||
EgtSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtFrame(" + ToString( nParentId) + ",{{" +
|
||||
ToString( Point3d( ptOrig)) + "},{" +
|
||||
ToString( Vector3d( vX)) + "},{" +
|
||||
ToString( Vector3d( vY)) + "},{" +
|
||||
ToString( Vector3d( vZ)) + "}}," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco l'identificativo del nuovo gruppo
|
||||
return nId ;
|
||||
Frame3d frFrame ;
|
||||
if ( ! frFrame.Set( ptOrig, vX, vY, vZ))
|
||||
return GDB_ID_NULL ;
|
||||
return ExeCreateGeoFrame( nParentId, frFrame, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
@@ -190,44 +61,7 @@ int
|
||||
__stdcall EgtCreateText( int nParentId, const double ptP[3], double dAngRotDeg,
|
||||
const wchar_t* wsText, double dH, int nRefType)
|
||||
{
|
||||
return EgtCreateText( nParentId, ptP, dAngRotDeg, wstrztoA( wsText), dH, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
int
|
||||
EgtCreateText( int nParentId, const Point3d& ptP, double dAngRotDeg,
|
||||
const string& sText, double dH, int nRefType)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
bool bOk = true ;
|
||||
// recupero il riferimento locale
|
||||
Frame3d frLoc ;
|
||||
bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ;
|
||||
// porto in locale l'origine e i versori
|
||||
Point3d ptPL = GetPointLocal( pGeomDB, ptP.v, nRefType, frLoc) ; ;
|
||||
Vector3d vtNL = GetVectorLocal( pGeomDB, Z_AX.v, nRefType, frLoc) ; ;
|
||||
Vector3d vtDL = GetVectorLocal( pGeomDB, X_AX.v, nRefType, frLoc) ; ;
|
||||
// creo il testo e lo riempio
|
||||
PtrOwner<IExtText> pTXT( CreateExtText()) ;
|
||||
bOk = bOk && ! IsNull( pTXT) ;
|
||||
bOk = bOk && pTXT->Set( ptPL, vtNL, vtDL, sText, "", false, dH) ;
|
||||
// inserisco il testo nel DB
|
||||
int nId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pTXT)) : GDB_ID_NULL) ;
|
||||
EgtSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtText(" + ToString( nParentId) + ",{" +
|
||||
ToString( ptP) + "}," +
|
||||
ToString( dAngRotDeg) + ",'" +
|
||||
sText + "','" +
|
||||
ToString( dH) + "," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco l'identificativo del oggetto
|
||||
return nId ;
|
||||
return ExeCreateText( nParentId, ptP, dAngRotDeg, wstrztoA( wsText), dH, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
@@ -235,102 +69,18 @@ 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)
|
||||
{
|
||||
return EgtCreateTextEx( nParentId, ptP, vtN, vtD,
|
||||
return ExeCreateTextEx( nParentId, ptP, vtN, vtD,
|
||||
wstrztoA( wsText), wstrztoA( wsFont), (bItalic != FALSE), dH, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
int
|
||||
EgtCreateTextEx( int nParentId, const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
|
||||
const string& sText, const string& sFont, bool bItalic, double dH, int nRefType)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
bool bOk = true ;
|
||||
// recupero il riferimento locale
|
||||
Frame3d frLoc ;
|
||||
bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ;
|
||||
// porto in locale l'origine e i versori
|
||||
Point3d ptPL = GetPointLocal( pGeomDB, ptP.v, nRefType, frLoc) ; ;
|
||||
Vector3d vtNL = GetVectorLocal( pGeomDB, vtN.v, nRefType, frLoc) ; ;
|
||||
Vector3d vtDL = GetVectorLocal( pGeomDB, vtD.v, nRefType, frLoc) ; ;
|
||||
// creo il testo e lo riempio
|
||||
PtrOwner<IExtText> pTXT( CreateExtText()) ;
|
||||
bOk = bOk && ! IsNull( pTXT) ;
|
||||
bOk = bOk && pTXT->Set( ptPL, vtNL, vtDL, sText, sFont, bItalic, dH) ;
|
||||
// inserisco il testo nel DB
|
||||
int nId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pTXT)) : GDB_ID_NULL) ;
|
||||
EgtSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtTextEx(" + ToString( nParentId) + ",{" +
|
||||
ToString( ptP) + "},{" +
|
||||
ToString( vtN) + "},{" +
|
||||
ToString( vtD) + "},'" +
|
||||
sText + "','" +
|
||||
sFont + "'," +
|
||||
( bItalic ? "'I'" : "'S'") + "," +
|
||||
ToString( dH) + "," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco l'identificativo del oggetto
|
||||
return nId ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
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)
|
||||
{
|
||||
return EgtCreateTextAdv( nParentId, ptP, vtN, vtD,
|
||||
return ExeCreateTextAdv( nParentId, ptP, vtN, vtD,
|
||||
wstrztoA( wsText), wstrztoA( wsFont),
|
||||
nW, ( bItalic != FALSE), dH, dRat, dAddAdv, nInsPos, nRefType) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
int
|
||||
EgtCreateTextAdv( int nParentId, const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
|
||||
const string& sText, const string& sFont,
|
||||
int nW, bool bItalic, double dH, double dRat, double dAddAdv, int nInsPos, int nRefType)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
bool bOk = true ;
|
||||
// recupero il riferimento locale
|
||||
Frame3d frLoc ;
|
||||
bOk = bOk && pGeomDB->GetGroupGlobFrame( nParentId, frLoc) ;
|
||||
// porto in locale l'origine e i versori
|
||||
Point3d ptPL = GetPointLocal( pGeomDB, ptP.v, nRefType, frLoc) ; ;
|
||||
Vector3d vtNL = GetVectorLocal( pGeomDB, vtN.v, nRefType, frLoc) ; ;
|
||||
Vector3d vtDL = GetVectorLocal( pGeomDB, vtD.v, nRefType, frLoc) ; ;
|
||||
// creo il testo e lo imposto
|
||||
PtrOwner<IExtText> pTXT( CreateExtText()) ;
|
||||
bOk = bOk && ! IsNull( pTXT) ;
|
||||
bOk = bOk && pTXT->Set( ptPL, vtNL, vtDL, sText, sFont, nW, bItalic, dH, dRat, dAddAdv, nInsPos) ;
|
||||
// inserisco il testo nel DB
|
||||
int nId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pTXT)) : GDB_ID_NULL) ;
|
||||
EgtSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtTextAdv(" + ToString( nParentId) + ",{" +
|
||||
ToString( ptP) + "},{" +
|
||||
ToString( vtN) + "},{" +
|
||||
ToString( vtD) + "},'" +
|
||||
sText + "','" +
|
||||
sFont + "'," +
|
||||
ToString( nW) + "," +
|
||||
( bItalic ? "'I'" : "'S'") + "," +
|
||||
ToString( dH) + "," +
|
||||
ToString( dRat) + "," +
|
||||
ToString( dAddAdv) + "," +
|
||||
ETxtInsPosToString( nInsPos) + "," +
|
||||
RefTypeToString( nRefType) + ")" +
|
||||
" -- Id=" + ToString( nId) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco l'identificativo del oggetto
|
||||
return nId ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user