//---------------------------------------------------------------------------- // EgalTech 2018-2018 //---------------------------------------------------------------------------- // File : API_GeoDist.cpp Data : 15.12.18 Versione : 1.9l2 // Contenuto : Funzioni di distanza tra oggetti del DB geometrico per API. // // // // Modifiche : 15.12.18 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "API.h" #include "/EgtDev/Include/EInAPI.h" #include "/EgtDev/Include/EXeExecutor.h" using namespace std ; //---------------------------------------------------------------------------- BOOL __stdcall EgtPointCurveDist( const double ptP[3], int nId, int nRefType, double* pdDist, double* pdU) { if ( ptP == nullptr || pdDist == NULL || pdU == nullptr) return FALSE ; Point3d ptTemp ; return ( ExePointCurveDist( ptP, nId, nRefType, pdDist, ptTemp, pdU) ? TRUE : FALSE) ; } //---------------------------------------------------------------------------- BOOL __stdcall EgtPointCurveDistSide( const double ptP[3], int nId, const double vtN[3], int nRefType, double* pdDist, double ptMin[3], int* pnSide) { if ( ptP == nullptr || vtN == nullptr || pdDist == nullptr || ptMin == nullptr || pnSide == nullptr) return FALSE ; Point3d ptTmp ; if ( ! ExePointCurveDistSide( ptP, nId, vtN, nRefType, pdDist, ptTmp, pnSide)) return FALSE ; VEC_FROM_3D( ptMin, ptTmp) return TRUE ; } //---------------------------------------------------------------------------- BOOL __stdcall EgtPointSurfTmDist( const double ptP[3], int nId, int nRefType, double* pdDist, double ptMin[3], int* pnTria) { if ( ptP == nullptr || pdDist == nullptr || ptMin == nullptr || pnTria == nullptr) return FALSE ; Point3d ptTmp ; if ( ! ExePointSurfTmDist( ptP, nId, nRefType, pdDist, ptTmp, pnTria)) return FALSE ; VEC_FROM_3D( ptMin, ptTmp) return TRUE ; }