0966f86f9d
- utilizzato gestore lua di EgtGeneral.
589 lines
16 KiB
C++
589 lines
16 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2014-2014
|
|
//----------------------------------------------------------------------------
|
|
// File : LUA_GeoSnap.cpp Data : 02.10.14 Versione : 1.5i5
|
|
// Contenuto : Funzioni di snap ad oggetti del DB geometrico per LUA.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 02.10.14 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "API.h"
|
|
#include "LUA.h"
|
|
#include "LUA_Base.h"
|
|
#include "LUA_Aux.h"
|
|
#include "/EgtDev/Include/EInAPI.h"
|
|
#include "/EgtDev/Include/EgnStringUtils.h"
|
|
|
|
using namespace std ;
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaStartPoint( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto iniziale dell'entità
|
|
Point3d ptP ;
|
|
if ( EgtStartPoint( nId, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaEndPoint( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto finale dell'entità
|
|
Point3d ptP ;
|
|
if ( EgtEndPoint( nId, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaMidPoint( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto centrale dell'entità
|
|
Point3d ptP ;
|
|
if ( EgtMidPoint( nId, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCenterPoint( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto centrale dell'entità
|
|
Point3d ptP ;
|
|
if ( EgtCenterPoint( nId, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCentroid( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il centro geometrico dell'entità
|
|
Point3d ptP ;
|
|
if ( EgtCentroid( nId, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaAtParamPoint( lua_State* L)
|
|
{
|
|
// 2 o 3 parametri : Id, U [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
double dU ;
|
|
LuaCheckParam( L, 2, dU)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 3, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto in posizione parametrica U della curva
|
|
Point3d ptP ;
|
|
if ( EgtAtParamPoint( nId, dU, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaNearPoint( lua_State* L)
|
|
{
|
|
// 2 o 3 parametri : Id, ptNear [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
Point3d ptNear ;
|
|
LuaCheckParam( L, 2, ptNear)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 3, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto di intersezione tra le curve più vicino al punto passato
|
|
Point3d ptP ;
|
|
if ( EgtNearPoint( nId, ptNear, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaIntersectionPoint( lua_State* L)
|
|
{
|
|
// 3 o 4 parametri : Id1, Id2, ptNear [, nRefId]
|
|
int nId1 ;
|
|
LuaCheckParam( L, 1, nId1)
|
|
int nId2 ;
|
|
LuaCheckParam( L, 2, nId2)
|
|
Point3d ptNear ;
|
|
LuaCheckParam( L, 3, ptNear)
|
|
int nRefId = nId1 ;
|
|
LuaGetRefId( L, 4, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto di intersezione tra le curve più vicino al punto passato
|
|
Point3d ptP ;
|
|
if ( EgtIntersectionPoint( nId1, nId2, ptNear, nRefId, ptP))
|
|
LuaSetReturn( L, ptP) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaStartVector( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il vettore tangente all'inizio della curva
|
|
Vector3d vtV ;
|
|
if ( EgtStartVector( nId, nRefId, vtV))
|
|
LuaSetReturn( L, vtV) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaEndVector( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il vettore tangente alla fine della curva
|
|
Vector3d vtV ;
|
|
if ( EgtEndVector( nId, nRefId, vtV))
|
|
LuaSetReturn( L, vtV) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaMidVector( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il vettore tangente nel punto medio della curva
|
|
Vector3d vtV ;
|
|
if ( EgtMidVector( nId, nRefId, vtV))
|
|
LuaSetReturn( L, vtV) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaAtParamVector( lua_State* L)
|
|
{
|
|
// 2, 3 o 4 parametri : Id, U, sSide [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
double dU ;
|
|
LuaCheckParam( L, 2, dU)
|
|
int nSide = + 1 ;
|
|
string sSide ;
|
|
LuaCheckParam( L, 3, sSide) ;
|
|
if ( sSide == "-")
|
|
nSide = - 1 ;
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 4, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto in posizione parametrica U della curva
|
|
Vector3d vtV ;
|
|
if ( EgtAtParamVector( nId, dU, nSide, nRefId, vtV))
|
|
LuaSetReturn( L, vtV) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaFrame( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il frame
|
|
Frame3d frFrame ;
|
|
if ( EgtFrame( nId, nRefId, frFrame))
|
|
LuaSetReturn( L, frFrame) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCurveLength( lua_State* L)
|
|
{
|
|
// 1 parametro : Id
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
LuaClearStack( L) ;
|
|
// recupero la lunghezza della curva
|
|
double dLen ;
|
|
if ( EgtCurveLength( nId, &dLen) != FALSE)
|
|
LuaSetReturn( L, dLen) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCurveExtrusion( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il versore
|
|
Vector3d vtExtr ;
|
|
if ( EgtCurveExtrusion( nId, nRefId, vtExtr))
|
|
LuaSetReturn( L, vtExtr) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCurveThickness( lua_State* L)
|
|
{
|
|
// 1 parametro : Id
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
LuaClearStack( L) ;
|
|
// recupero lo spessore
|
|
double dThick ;
|
|
if ( EgtCurveThickness( nId, &dThick) != FALSE)
|
|
LuaSetReturn( L, dThick) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaExtrusionByThickness( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il versore e lo spessore
|
|
Vector3d vtExtr ;
|
|
double dThick ;
|
|
if ( EgtCurveExtrusion( nId, nRefId, vtExtr) && ! vtExtr.IsSmall() &&
|
|
EgtCurveThickness( nId, &dThick) && fabs( dThick) > EPS_SMALL)
|
|
vtExtr *= dThick ;
|
|
else
|
|
vtExtr = V_NULL ;
|
|
LuaSetReturn( L, vtExtr) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCurveArcRadius( lua_State* L)
|
|
{
|
|
// 1 parametro : Id
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
LuaClearStack( L) ;
|
|
// recupero il raggio
|
|
double dRad ;
|
|
if ( EgtCurveArcRadius( nId, &dRad) != FALSE)
|
|
LuaSetReturn( L, dRad) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCurveArcNormVersor( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il versore
|
|
Vector3d vtNorm ;
|
|
if ( EgtCurveArcNormVersor( nId, nRefId, vtNorm))
|
|
LuaSetReturn( L, vtNorm) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaCurveCompoCenter( lua_State* L)
|
|
{
|
|
// 2 o 3 parametri : Id, nCrv [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nCrv ;
|
|
LuaCheckParam( L, 2, nCrv)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 3, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il centro della curva semplice indicizzata
|
|
Point3d ptCen ;
|
|
if ( EgtCurveCompoCenter( nId, nCrv, nRefId, ptCen))
|
|
LuaSetReturn( L, ptCen) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaSurfTmFacetNbr( lua_State* L)
|
|
{
|
|
// 1 parametro : Id
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
LuaClearStack( L) ;
|
|
// recupero il numero di facce della superficie trimesh
|
|
int nNbr = EgtSurfTmFacetNbr( nId) ;
|
|
LuaSetReturn( L, nNbr) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaSurfTmFacetNearestEndPoint( lua_State* L)
|
|
{
|
|
// 3 o 4 parametri : Id, nFacet, ptNear [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nFacet ;
|
|
LuaCheckParam( L, 2, nFacet)
|
|
Point3d ptNear ;
|
|
LuaCheckParam( L, 3, ptNear)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 4, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto End più vicino della faccia della superficie trimesh
|
|
Point3d ptEnd ;
|
|
Vector3d vtN ;
|
|
if ( EgtSurfTmFacetNearestEndPoint( nId, nFacet, ptNear, nRefId, ptEnd, vtN)) {
|
|
LuaSetReturn( L, ptEnd) ;
|
|
LuaSetReturn( L, vtN) ;
|
|
}
|
|
else {
|
|
LuaSetReturn( L) ;
|
|
LuaSetReturn( L) ;
|
|
}
|
|
return 2 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaSurfTmFacetNearestMidPoint( lua_State* L)
|
|
{
|
|
// 3 o 4 parametri : Id, nFacet, ptNear [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nFacet ;
|
|
LuaCheckParam( L, 2, nFacet)
|
|
Point3d ptNear ;
|
|
LuaCheckParam( L, 3, ptNear)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 4, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il punto Mid più vicino della faccia della superficie trimesh
|
|
Point3d ptMid ;
|
|
Vector3d vtN ;
|
|
if ( EgtSurfTmFacetNearestMidPoint( nId, nFacet, ptNear, nRefId, ptMid, vtN)) {
|
|
LuaSetReturn( L, ptMid) ;
|
|
LuaSetReturn( L, vtN) ;
|
|
}
|
|
else {
|
|
LuaSetReturn( L) ;
|
|
LuaSetReturn( L) ;
|
|
}
|
|
return 2 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaSurfTmFacetCenter( lua_State* L)
|
|
{
|
|
// 2 o 3 parametri : Id, nFacet [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nFacet ;
|
|
LuaCheckParam( L, 2, nFacet)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 3, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il centro della faccia della superficie trimesh
|
|
Point3d ptCen ;
|
|
Vector3d vtN ;
|
|
if ( EgtSurfTmFacetCenter( nId, nFacet, nRefId, ptCen, vtN)) {
|
|
LuaSetReturn( L, ptCen) ;
|
|
LuaSetReturn( L, vtN) ;
|
|
}
|
|
else {
|
|
LuaSetReturn( L) ;
|
|
LuaSetReturn( L) ;
|
|
}
|
|
return 2 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaSurfTmFacetNormVersor( lua_State* L)
|
|
{
|
|
// 2 o 3 parametri : Id, nFacet [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nFacet ;
|
|
LuaCheckParam( L, 2, nFacet)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 3, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero la normale della faccia della superficie trimesh
|
|
Vector3d vtNorm ;
|
|
if ( EgtSurfTmFacetNormVersor( nId, nFacet, nRefId, vtNorm))
|
|
LuaSetReturn( L, vtNorm) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
static int
|
|
LuaExtTextNormVersor( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : Id [, nRefId]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
int nRefId = nId ;
|
|
LuaGetRefId( L, 2, nRefId) ;
|
|
LuaClearStack( L) ;
|
|
// recupero il versore
|
|
Vector3d vtNorm ;
|
|
if ( EgtExtTextNormVersor( nId, nRefId, vtNorm))
|
|
LuaSetReturn( L, vtNorm) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
bool
|
|
LuaInstallGeoSnap( void)
|
|
{
|
|
bool bOk = true ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtSP", LuaStartPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtEP", LuaEndPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtMP", LuaMidPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtCP", LuaCenterPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtGP", LuaCentroid) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtUP", LuaAtParamPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtNP", LuaNearPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtIP", LuaIntersectionPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtSV", LuaStartVector) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtEV", LuaEndVector) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtMV", LuaMidVector) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtUV", LuaAtParamVector) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtFR", LuaFrame) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtET", LuaExtrusionByThickness) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtCurveLength", LuaCurveLength) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtCurveExtrusion", LuaCurveExtrusion) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtCurveThickness", LuaCurveThickness) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtCurveArcRadius", LuaCurveArcRadius) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtCurveArcNormVersor", LuaCurveArcNormVersor) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtCurveCompoCenter", LuaCurveCompoCenter) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtSurfTmFacetNbr", LuaSurfTmFacetNbr) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtSurfTmFacetNearestEndPoint", LuaSurfTmFacetNearestEndPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtSurfTmFacetNearestMidPoint", LuaSurfTmFacetNearestMidPoint) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtSurfTmFacetCenter", LuaSurfTmFacetCenter) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtSurfTmFacetNormVersor", LuaSurfTmFacetNormVersor) ;
|
|
bOk = bOk && LuaRegisterFunction( "EgtExtTextNormVersor", LuaExtTextNormVersor) ;
|
|
return bOk ;
|
|
}
|