Files
EgtGeomKernel/IntersLineArc.h
T
Dario Sassi b4b996dac0 EgtGeomKernel 1.6g7 :
- aggiunta approssimazione di punti con archi e rette (CurveByApprox)
- fatte correzioni ad intersezioni rette/archi e archi/archi quasi tangenti
- correzioni ad offset di curve composite che non liberava memoria in caso di errore.
2015-07-27 13:32:02 +00:00

57 lines
1.7 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : IntersLineArc.h Data : 07.07.14 Versione : 1.5g2
// Contenuto : Dichiarazione della classe intersezione linea/arco.
//
//
//
// Modifiche : 07.07.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkIntersCurves.h"
#include "CurveLine.h"
#include "CurveArc.h"
//-----------------------------------------------------------------------------
class IntersLineArc
{
friend class IntersCurveCurve ;
public :
IntersLineArc( const CurveLine& Line, const CurveArc& Arc) ;
public :
bool GetOverlaps( void)
{ return false ; }
int GetNumInters( void)
{ return m_nNumInters ; }
bool GetIntCrvCrvInfo( int nInd, IntCrvCrvInfo& aInfo)
{ if ( nInd < 0 || nInd >= m_nNumInters)
return false ;
aInfo = m_Info[nInd] ;
return true ; }
private :
IntersLineArc( void) ;
bool CalcIntersGeomData( int nInt, const Point3d& ptInt, int& nPosL, int& nPosA) ;
bool CalcTgIntersTopolData( int nInt, int nPosL, int nPosA) ;
bool CalcSecIntersTopolData( int nInt, int nPosL, int nPosA) ;
private :
static const int MAX_INTERS = 2 ;
private :
CurveLine m_Line ;
Vector3d m_vtDirL ;
CurveArc m_Arc ;
int m_nNumInters ;
IntCrvCrvInfo m_Info[MAX_INTERS] ;
} ;