From bcae60ae5270fd01f21396850d156ff90c660728 Mon Sep 17 00:00:00 2001 From: LorenzoM Date: Wed, 27 Oct 2021 18:03:40 +0200 Subject: [PATCH] Spostate funzioni polyline nel file opportuno --- EGkPolyLine.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/EGkPolyLine.h b/EGkPolyLine.h index 72a2afb..25c9b76 100644 --- a/EGkPolyLine.h +++ b/EGkPolyLine.h @@ -13,6 +13,7 @@ #pragma once +#include "EgtNumUtils.h" #include "/EgtDev/Include/EGkPoint3d.h" #include "/EgtDev/Include/EGkBBox3d.h" #include "/EgtDev/Include/EGkPlane3d.h" @@ -132,3 +133,18 @@ class PolyLine // Raccolte di PolyLine typedef std::vector POLYLINEVECTOR ; // vettore di PolyLine typedef std::list POLYLINELIST ; // lista di PolyLine + +//---------------------------------------------------------------------------- +// Funzioni statiche di manipolazione di poliline e calcoli su dei esse +bool ChangeStart( const Point3d& ptNewStart, PNTVECTOR& Loop) ; +bool SplitAtPoint( const Point3d& ptStop, const PNTVECTOR& Loop, PNTVECTOR& Loop1, PNTVECTOR& Loop2) ; +bool ChangePolyLineStart( const Point3d& ptNewStart, PolyLine& Loop) ; +// nSegNum 0-based +bool PointPositionOnPolyLine( const Point3d& ptPoint, /*const*/ PolyLine& Loop, int& nSegNum, double& dParOnSeg) ; +bool IsPointInsidePolyLine( const Point3d& ptP, /*const*/ PolyLine& plPoly) ; +bool DistPointPolyLine( const Point3d& ptP, const PolyLine& plPoly, double& dPointPolyLineDist) ; +// Una faccia di una trimesh ha una sola componente connessa. +// Si assume che i loop siano corretti e rispettino tale proprietà. +bool DistPointFacet( const Point3d& ptP, /*const*/ POLYLINEVECTOR& vPolyVec, double& dPointFacetDist) ; +bool SplitPolyLineAtPoint( const Point3d& ptPoint, /*const*/ PolyLine& Loop, PolyLine& Loop1, PolyLine& Loop2) ; +bool AddPolyLineToPolyLine( PolyLine& Poly, PolyLine& PolyToAdd) ;