Milgiorie varie

This commit is contained in:
LorenzoM
2021-07-05 19:00:02 +02:00
parent 1e988cf77c
commit 8d7401f07f
+9 -14
View File
@@ -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<PolyLine> POLYLINEVECTOR ; // vettore di PolyLine
typedef std::list<PolyLine> 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 {