Files
EgtGeomKernel/IntersArcArc.h
T
Dario Sassi 56d6307a1c EgtGeomKernel 1.5g2 :
- aggiunte intersezioni tra linee ed archi
- aggiunte intersezioni tra archi e archi
- aggiunte funzioni di utilità per angoli.
2014-07-16 09:08:32 +00:00

57 lines
1.8 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : IntersArcArc.h Data : 10.07.14 Versione : 1.5g2
// Contenuto : Dichiarazione della classe intersezione arco/arco.
//
//
//
// Modifiche : 10.07.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkIntersCurveCurve.h"
#include "CurveArc.h"
//-----------------------------------------------------------------------------
class IntersArcArc
{
friend class IntersCurveCurve ;
public :
IntersArcArc( const ICurveArc& Arc1, const ICurveArc& Arc2) ;
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 :
IntersArcArc( void) ;
bool CalcSecIntersGeomData( int nInt, const Point3d& ptInt, int& nPos1, int& nPos2) ;
bool CalcSecIntersTopolData( int nInt, int nPos1, int nPos2) ;
bool CalcOverlapData( int nInt, bool bEqVers, const Point3d& ptS1, const Point3d& ptE1,
int dUS1, int dUE1, const Point3d& ptS2, const Point3d& ptE2) ;
private :
static const int MAX_INTERS = 2 ;
private :
CurveArc m_Arc1 ;
CurveArc m_Arc2 ;
bool m_bOverlaps ;
int m_nNumInters ;
IntCrvCrvInfo m_Info[MAX_INTERS] ;
} ;