From 966f2bb9eb04acbe968d85dc7db68888c09bcd82 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Thu, 12 Sep 2019 07:44:01 +0000 Subject: [PATCH] Include : - aggiornamento prototipi. --- EGkChainCurves.h | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/EGkChainCurves.h b/EGkChainCurves.h index 22ee429..7c2c757 100644 --- a/EGkChainCurves.h +++ b/EGkChainCurves.h @@ -1,19 +1,20 @@ //---------------------------------------------------------------------------- -// EgalTech 2014-2014 +// EgalTech 2014-2019 //---------------------------------------------------------------------------- -// File : EGkChainCurves.h Data : 20.07.14 Versione : 1.5g3 +// File : EGkChainCurves.h Data : 10.09.19 Versione : 2.1i1 // Contenuto : Dichiarazione funzione per concatenamento curve. // // // // Modifiche : 20.07.14 DS Creazione modulo. -// +// 10.09.19 DS Aggiunto m_vPtFork (vettore punti di fork). // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkPointGrid3d.h" +#include "/EgtDev/Include/EGkGeoCollection.h" #include class IGeomDB ; @@ -69,20 +70,32 @@ class ChainCurves : nId( nI), ptStart( ptS), vtStart( vtS), ptEnd( ptE), vtEnd( vtE) {} } ; typedef std::vector CRVDATAVECTOR ; + struct ForkData { + Point3d ptFork ; + INTVECTOR vnFork ; + ForkData( void) : ptFork(), vnFork() {} + ForkData( const Point3d& ptP, const INTVECTOR& vF) + : ptFork( ptP), vnFork( vF) {} + } ; + typedef std::vector FORKDATAVECTOR ; + typedef FORKDATAVECTOR::iterator FDV_CONST_ITER ; private : bool AddToChain( int nId, bool bEquiv, INTVECTOR& vIds) ; bool RemoveEntityFromGrid( int nInd) ; bool ChooseStart( const Point3d& ptStart, const INTVECTOR& vStart, int& nStart) ; - bool ChooseNext( const Vector3d& vtCurr, const INTVECTOR& vNext, bool bHaltOnFork, int& nNext) ; - bool ChoosePrev( const Vector3d& vtCurr, const INTVECTOR& vPrev, bool bHaltOnFork, int& nPrev) ; + bool ChooseNext( const Point3d& ptCurr, const Vector3d& vtCurr, const INTVECTOR& vNext, bool bHaltOnFork, int& nNext) ; + bool ChoosePrev( const Point3d& ptCurr, const Vector3d& vtCurr, const INTVECTOR& vPrev, bool bHaltOnFork, int& nPrev) ; + FDV_CONST_ITER GetForkPoint( const Point3d& ptP) ; private : - bool m_bAllowInvert ; - double m_dToler ; - INTUSET m_sCrvId ; - CRVDATAVECTOR m_vCrvData ; - PointGrid3d m_PointGrid ; - bool m_bIsFork ; - INTVECTOR m_vFork ; + bool m_bAllowInvert ; + double m_dToler ; + INTUSET m_sCrvId ; + CRVDATAVECTOR m_vCrvData ; + PointGrid3d m_PointGrid ; + bool m_bFromNear ; + FORKDATAVECTOR m_vForkData ; + bool m_bIsFork ; + INTVECTOR m_vFork ; } ; \ No newline at end of file