Include :

- aggiunto hedaer per operazioni ausiliarie su curve.
This commit is contained in:
Dario Sassi
2014-05-26 07:40:19 +00:00
parent 083bdcf285
commit f996edd33b
+53
View File
@@ -0,0 +1,53 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EgkCurveAux.h Data : 23.05.14 Versione : 1.5e9
// Contenuto : Dichiarazione funzioni ausiliarie per ICurve.
//
//
//
// Modifiche : 23.05.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkCurve.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
//----------------------------------------------------------------------------
// Struttura dati per curva Nurbs
struct CNurbsData
{
int nDeg ; // grado
bool bRat ; // flag di curva razionale (pesi non tutti unitari)
bool bPeriodic ; // flag per segnalare vettore dei nodi periodico
bool bClosed ; // flag di curva chiusa
bool bExtraKnotes ; // flag per segnalare presenza di nodi extra all'inizio e fine (totale 2)
DBLVECTOR vU ; // vettore dei nodi
PNTVECTOR vCP ; // vettore dei punti di controllo
DBLVECTOR vW ; // vettore dei pesi
CNurbsData( void) : nDeg( 0), bRat( false), bPeriodic( false), bClosed( false), bExtraKnotes( false) {}
} ;
//----------------------------------------------------------------------------
// Trasforma un arco in una curva di Bezier semplice o composta
EGK_EXPORT bool ArcToBezierCurve( const ICurve* pArc, ICurve*& pCrvNew) ;
//----------------------------------------------------------------------------
// Rende canonica la rappresentazione della curva Nurbs
EGK_EXPORT bool NurbsCurveCanonicalize( CNurbsData& cnData) ;
//----------------------------------------------------------------------------
// Trasforma una curva Nurbs standard in una curva di Bezier semplice o composta
EGK_EXPORT bool NurbsToBezierCurve( const CNurbsData& cnData, ICurve*& pCrvNew) ;