From 3ca2a64bfa89ff1903aff7e981ccec35fdba1004 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 17 Jan 2024 13:20:46 +0100 Subject: [PATCH] Include : - aggiornamento prototipi - aggiunte costanti per tipo punto intersezione Linea-Curva. --- EXeConst.h | 11 +++++++++++ EXeExecutor.h | 25 ++++++++++++++++--------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/EXeConst.h b/EXeConst.h index 46695c7..b6352d3 100644 --- a/EXeConst.h +++ b/EXeConst.h @@ -67,6 +67,17 @@ enum ApprType{ APP_LINES = 0, // come ICurve::APL_STD APP_RIGHT_CONVEX_LINES = 12, // come ICurve::APL_RIGHT_CONVEX APP_ARCS = 3} ; +//----------------- Costanti tipo punto intersezione Linea Curva --------------- +enum CLiType { CLT_NONE = 0, + CLT_IN = 1, + CLT_OUT = 2, + CLT_TOUCH_IN = 3, + CLT_TOUCH_OUT = 4, + CLT_TGINI_IN = 5, + CLT_TGFIN_IN = 6, + CLT_TGINI_OUT = 7, + CLT_TGFIN_OUT = 8} ; + //----------------- Costanti tipo punto intersezione Linea SurfTriMesh --------- enum SLiType { SLT_NONE = 0, SLT_IN = 1, diff --git a/EXeExecutor.h b/EXeExecutor.h index 396b50f..a06c890 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -799,21 +799,28 @@ EXE_EXPORT bool ExePointSurfTmDist( const Point3d& ptP, int nStmId, int nRefType double* pdDist, Point3d& ptMin, int* pnTria) ; // Geo Intersect -EXE_EXPORT bool ExeLineBoxInters( const Point3d& ptP, const Vector3d& vtDir, const BBox3d& b3Box, INTDBLVECTOR& vInters) ; +EXE_EXPORT bool ExeLineCurveInters( const Point3d& ptP, const Vector3d& vtDir, const int nId, const int nRefType, + INTDBLVECTOR& vInters) ; +EXE_EXPORT bool ExeLineBoxInters( const Point3d& ptP, const Vector3d& vtDir, const BBox3d& b3Box, + INTDBLVECTOR& vInters) ; +EXE_EXPORT bool ExeLineSurfTmInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType, + INTDBLVECTOR& vInters) ; +EXE_EXPORT bool ExeLineVolZmapInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType, + INTDBLVECTOR& vInters) ; +EXE_EXPORT int ExePlaneCurveInters( const Point3d& ptOn, const Vector3d& vtN, const int nId, const int nDestGrpId, const int nRefType, + int* pnCount) ; EXE_EXPORT int ExePlaneBoxInters( const Point3d& ptOn, const Vector3d& vtN, const BBox3d& b3Box, int nDestGrpId, int nRefType, int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ; -EXE_EXPORT bool ExeLineSurfTmInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType, INTDBLVECTOR& vInters) ; EXE_EXPORT int ExePlaneSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType, double dToler, int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ; -EXE_EXPORT int ExeParPlanesSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, const DBLVECTOR& vdDist, int nId, int nDestGrpId, int nRefType, double dToler, - int* pnGrpCount) ; -EXE_EXPORT int ExeSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId, double dToler, - int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ; -EXE_EXPORT int ExePlaneCurveInters( const Point3d& ptOn, const Vector3d& vtN, const int nId, const int nDestGrpId, const int nRefType, int* pnCount) ; -EXE_EXPORT int ExeCurveCurveInters( const int nId1, const int nId2, const int nDestGrpId, int* pnPntCount, int* pnCrvCount) ; -EXE_EXPORT bool ExeLineVolZmapInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType, INTDBLVECTOR& vInters) ; +EXE_EXPORT int ExeParPlanesSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, const DBLVECTOR& vdDist, int nId, int nDestGrpId, int nRefType, double dToler, + int* pnGrpCount) ; EXE_EXPORT int ExePlaneVolZmapInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType, int* pnCount) ; +EXE_EXPORT int ExeCurveCurveInters( const int nId1, const int nId2, const int nDestGrpId, + int* pnPntCount, int* pnCrvCount) ; +EXE_EXPORT int ExeSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId, double dToler, + int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ; // Collision Detection EXE_EXPORT int ExeCDeBoxSolid( const Frame3d& frBox, const Vector3d& vtDiag, int nSolidId, double dSafeDist, int nRefType) ;