From 8d7401f07f2a7e834b950287e1f410cf63a28038 Mon Sep 17 00:00:00 2001 From: LorenzoM Date: Mon, 5 Jul 2021 19:00:02 +0200 Subject: [PATCH] Milgiorie varie --- EGkPolyLine.h | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/EGkPolyLine.h b/EGkPolyLine.h index c30435d..b5a99b9 100644 --- a/EGkPolyLine.h +++ b/EGkPolyLine.h @@ -99,6 +99,8 @@ class PolyLine { return GetPrevULine( nullptr, &ptIni, nullptr, &ptFin) ; } EGK_EXPORT PNTULIST& GetUPointList( void) { return m_lUPoints ; } + EGK_EXPORT const PNTULIST& GetUPointList( void) const + { return m_lUPoints ; } EGK_EXPORT bool IsFlat( int& nRank, Point3d& ptCen, Vector3d& vtDir, double dToler = EPS_SMALL) const ; EGK_EXPORT bool IsFlat( Plane3d& plPlane, double dToler = EPS_SMALL) const ; EGK_EXPORT bool IsClosedAndFlat( Plane3d& plPlane, double& dArea, double dToler = EPS_SMALL) const ; @@ -116,6 +118,13 @@ class PolyLine EGK_EXPORT bool GetConvexHullXY( PNTVECTOR& vConvHull) const ; EGK_EXPORT bool GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, double& dHeight) const ; EGK_EXPORT bool Trim( const Plane3d& plPlane, bool bInVsOut = true) ; + EGK_EXPORT bool ChangePolyLineStart( const Point3d& ptNewStart, double dTol = EPS_SMALL) ; + // nSegNum 0-based + EGK_EXPORT bool PointPositionOnPolyLine( const Point3d& ptPoint, int& nSegNum, double& dParOnSeg, double dTol = EPS_SMALL) const ; + EGK_EXPORT bool IsPointInsidePolyLine( const Point3d& ptP) const ; + EGK_EXPORT bool DistPointPolyLine( const Point3d& ptP, double& dPointPolyLineDist) const ; + EGK_EXPORT bool SplitPolyLineAtPoint( const Point3d& ptPoint, PolyLine& Loop1, PolyLine& Loop2, double dTol = EPS_SMALL) const ; + EGK_EXPORT bool AddPolyLineToPolyLine( PolyLine& PolyToAdd, double dTol = EPS_SMALL) ; private : bool MyChangeStart( int nPos) ; @@ -133,20 +142,6 @@ class PolyLine typedef std::vector POLYLINEVECTOR ; // vettore di PolyLine typedef std::list POLYLINELIST ; // lista di PolyLine -//---------------------------------------------------------------------------- -bool -ChangePolyLineStart( const Point3d& ptNewStart, PolyLine& Loop, double dTol = EPS_SMALL) ; -// nSegNum 0-based -bool -PointPositionOnPolyLine( const Point3d& ptPoint, const PolyLine& Loop, int& nSegNum, double& dParOnSeg, double dTol = EPS_SMALL) ; -bool -IsPointInsidePolyLine( const Point3d& ptP, const PolyLine& plPoly) ; -bool -DistPointPolyLine( const Point3d& ptP, const PolyLine& plPoly, double& dPointPolyLineDist) ; -bool -SplitPolyLineAtPoint( const Point3d& ptPoint, /*const*/ PolyLine& Loop, PolyLine& Loop1, PolyLine& Loop2, double dTol = EPS_SMALL) ; -bool -AddPolyLineToPolyLine( PolyLine& Poly, PolyLine& PolyToAdd, double dTol = EPS_SMALL) ; //---------------------------------------------------------------------------- struct PositionOnPolyLine {