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.
This commit is contained in:
Daniele Bariletti
2024-02-27 16:38:02 +01:00
parent 22c4c89a5b
commit 7a36482787
2 changed files with 4 additions and 0 deletions
+3
View File
@@ -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<std::tuple<int, Point3d, Point3d>>& vLeaves) const = 0 ;
virtual bool GetTriangles2D( std::vector<std::tuple<int,Point3d, Point3d, Point3d>>& 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
} ;
//-----------------------------------------------------------------------------
+1
View File
@@ -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,