From 7a364827874997ca3ba72a80a2a5fd2fd3e87391 Mon Sep 17 00:00:00 2001 From: Daniele Bariletti Date: Tue, 27 Feb 2024 16:38:02 +0100 Subject: [PATCH] Include : - aggiunta della funzione per il calcolo dei poli nelle sup di Bezier - aggiunta la funzione per disegnare i triangoli nello spazio parametrico di una superficie Bezier. --- EGkSurfBezier.h | 3 +++ EXeExecutor.h | 1 + 2 files changed, 4 insertions(+) diff --git a/EGkSurfBezier.h b/EGkSurfBezier.h index 1fed870..a164d63 100644 --- a/EGkSurfBezier.h +++ b/EGkSurfBezier.h @@ -59,11 +59,14 @@ class __declspec( novtable) ISurfBezier : public ISurf virtual bool GetControlCurveOnV( int nIndU, PolyLine& plCtrlV) const = 0 ; virtual const ISurfTriMesh* GetAuxSurf( void) const = 0 ; virtual bool GetLeaves ( std::vector>& vLeaves) const = 0 ; + virtual bool GetTriangles2D( std::vector>& vTria2D) const = 0 ; virtual bool UnprojectPointFromStm( int nT, const Point3d& ptI, Point3d& ptSP, int nIL) const = 0 ; + virtual bool UnprojectPointFromStm( int nT, const Point3d& ptI, Point3d& ptSP, int nIL, const Point3d& ptIPrevint, int nTPrev = -1 ) const = 0 ; virtual bool UnprojectPoint( const Point3d& pt3D, Point3d& ptParam) const = 0 ; virtual ICurveComposite* UnprojectCurveFromStm( const ICurveComposite* pCC) const = 0 ; virtual bool Cut( const Plane3d& plPlane, bool bSaveOnEq) = 0 ; // taglio la parte della superficie dalla parte positiva del versore del piano. // Il booleano indica se tenere eventuali triangoli della trimesh ausiliaria che sono coplanari ed equiversi al piano di taglio + virtual bool CalcPoles( void) ; // funzione da chiamare per calcolare i poli della superficie. NECESSARIO se si vuole tagliare la superficie con un piano } ; //----------------------------------------------------------------------------- diff --git a/EXeExecutor.h b/EXeExecutor.h index a45d2a9..238a49b 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -364,6 +364,7 @@ EXE_EXPORT int ExeCreateSurfBezier( int nParentId, int nDegU, int nDegV, int nS EXE_EXPORT int ExeCreateSurfBezierRational( int nParentId, int nDegU, int nDegV, int nSpanU, int nSpanV, const PNTUVECTOR& vPntW, int nRefType) ; EXE_EXPORT int ExeCreateSurfBezierLeaves( int nParentId, int nSurfBzId, int nTextHeight = 50, bool bShowTrim = false, int* pnCount = nullptr) ; EXE_EXPORT int ExeCreateBezierSphere( int nParentId, const Point3d& ptCenter, double dR, int nRefType) ; +EXE_EXPORT int ExeCreateSurfBezierTria2D( int nParentId, int nSurfBzId, int nTextHeight, bool bShowTrim, int* pnCount) ; // GeomDB Create Volume EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX,