//---------------------------------------------------------------------------- // EgalTech 2013-2013 //---------------------------------------------------------------------------- // File : CurveAux.h Data : 22.11.13 Versione : 1.3a1 // Contenuto : Dichiarazione di alcune funzioni di utilità per le curve. // // // // Modifiche : 22.11.13 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkCurveAux.h" class Voronoi ; //---------------------------------------------------------------------------- bool IsClosed( const ICurve& crvC) ; bool IsValidParam( const ICurve& crvC, double dPar, ICurve::Side nSide) ; bool IsStartParam( const ICurve& crvC, double dPar) ; bool IsEndParam( const ICurve& crvC, double dPar) ; bool GetNearestExtremityToPoint( const Point3d& ptP, const ICurve& Curve, bool& bStart) ; bool MoveParamToAvoidTg( double& dU, ICurve::Side nSide, const ICurve& Curve) ; bool GetTang( const ICurve& crvC, double dU, ICurve::Side nS, Vector3d& vtTang) ; bool GetPointTang( const ICurve& crvC, double dU, ICurve::Side nS, Point3d& ptPos, Vector3d& vtTang) ; bool GetPointDiffGeom( const ICurve& crvC, double dU, ICurve::Side nS, CrvPointDiffGeom& oDiffG) ; bool ImproveCurveParamAtPoint( double& dU, const Point3d& ptP, const ICurve* pCrv) ; bool CurveGetAreaXY( const ICurve& crvC, double& dArea) ; bool CurveGetArea( const ICurve& crvC, Plane3d& plPlane, double& dArea) ; bool CurveDump( const ICurve& crvC, std::string& sOut, bool bMM, const char* szNewLine) ; bool CopyExtrusion( const ICurve* pSouCrv, ICurve* pDestCrv) ; bool CopyThickness( const ICurve* pSouCrv, ICurve* pDestCrv) ; ICurveBezier* ApproxCurveBezierWithSingleCubic( const ICurve* pCrv) ; Voronoi* GetCurveVoronoi( const ICurve& crvC) ;