65b3fe80d1
- in CalcPocketing, aggiunto parametro temporaneo di Smusso.
49 lines
1.9 KiB
C
49 lines
1.9 KiB
C
//----------------------------------------------------------------------------
|
|
// EgalTech 2023-2023
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkCalcPocketing.h Data : 16.11.23 Versione : 2.5j1
|
|
// Contenuto : Calcolo dei percorsi elementari di pocketing.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 16.11.23 RE Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkCurveComposite.h"
|
|
#include "/EgtDev/Include/EGkSurfFlatRegion.h"
|
|
|
|
//----------------------- Macro per import/export ----------------------------
|
|
#undef EGK_EXPORT
|
|
#if defined( I_AM_EGK) // da definirsi solo nella DLL
|
|
#define EGK_EXPORT __declspec( dllexport)
|
|
#else
|
|
#define EGK_EXPORT __declspec( dllimport)
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
EGK_EXPORT bool CalcPocketing( const ISurfFlatRegion* pSfr, double dRad, double dRadOffs, double dStep,
|
|
double dAngle, int nType, bool bSmooth, bool bInvert, bool bAvoidOpt,
|
|
bool bAllowZigZagOneWayBorders, const ISurfFlatRegion* pSfrLimit, ICRVCOMPOPOVECTOR& vCrv) ;
|
|
EGK_EXPORT bool CalcZigZagInfill( const ISurfFlatRegion* pSfr, double dStep, bool bSmooth, bool bRemoveOverlapLink,
|
|
ICRVCOMPOPOVECTOR& vCrvCompoRes) ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
enum { POCKET_ZIGZAG = 0,
|
|
POCKET_ONEWAY = 1,
|
|
POCKET_SPIRALIN = 2,
|
|
POCKET_SPIRALOUT = 3,
|
|
POCKET_CONFORMAL_ZIGZAG = 4} ;
|
|
|
|
enum { TEMP_PROP_SMOOTH = -2,
|
|
TEMP_PROP_INVALID = -1,
|
|
TEMP_PROP_CLOSE_EDGE = 0,
|
|
TEMP_PROP_OPEN_EDGE = 1,
|
|
TEMP_PROP_OUT_START = 2,
|
|
TEMP_PROP_SINGLE_CURVE = 3,
|
|
TEMP_PROP_OPT_TRAPEZOID = 4,
|
|
TEMP_PROP_BORDER_CURVE = 5} ;
|