diff --git a/EGkSurfBezier.h b/EGkSurfBezier.h index a164d63..0ef4418 100644 --- a/EGkSurfBezier.h +++ b/EGkSurfBezier.h @@ -14,6 +14,7 @@ #pragma once #include "/EgtDev/Include/EGkSurf.h" +#include "/EgtDev/Include/EGkCurveComposite.h" #include "/EgtDev/Include/EgtPointerOwner.h" class PolyLine ; @@ -61,12 +62,13 @@ class __declspec( novtable) ISurfBezier : public ISurf 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 UnprojectPointFromStm( int nT, const Point3d& ptI, Point3d& ptSP, int nIL, const Point3d& ptIPrev, bool* bTroughEdge = nullptr) const = 0 ; + virtual bool UnprojectPoint( const Point3d& pt3D, Point3d& ptParam, const Point3d& ptIPrev, bool* bTroughEdge = nullptr) const = 0 ; + virtual bool UnprojectCurveFromStm( const ICurveComposite* pCC, ICRVCOMPOPVECTOR& vpCC) 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 + virtual bool IncreaseUV( double& dU, double dx, bool bUOrV) const = 0 ; } ; //-----------------------------------------------------------------------------