Include :
- aggiunta funzione per la conversione da superfici NURBS a Bezier.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2023-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkSurfAux.h Data : 09.08.23 Versione :
|
||||
// Contenuto : Dichiarazione funzioni ausiliarie per ISurf.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 09.08.23 DB Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EGkCurveComposite.h"
|
||||
#include "/EgtDev/Include/EGkSurf.h"
|
||||
#include "/EgtDev/Include/EGkGeoCollection.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 CNurbsSurfData
|
||||
{
|
||||
int nDegU ; // grado in U
|
||||
int nDegV ; // grado in V
|
||||
bool bRat ; // flag di curva razionale (pesi non tutti unitari)
|
||||
bool bPeriodicU ; // flag per segnalare vettore dei nodi periodico in U
|
||||
bool bPeriodicV ; // flag per segnalare vettore dei nodi periodico in V
|
||||
bool bClosedU ; // flag di superficie chiusa sul parametro U
|
||||
bool bClosedV ; // flag di superficie chiusa sul parametro V
|
||||
bool bExtraKnotes ; // flag per segnalare presenza di nodi extra all'inizio e fine (totale 2)
|
||||
DBLVECTOR vU ; // vettore dei nodi in U
|
||||
DBLVECTOR vV ; // vettore dei nodi in V
|
||||
int nCPU ; // numero di punti di controllo in U
|
||||
int nCPV ; // numero di punti di controllo in V
|
||||
PNTVECTOR vCP ; // vettore dei punti di controllo
|
||||
PNTMATRIX mCP ; // matrice dei punti di controllo
|
||||
DBLMATRIX mW ; // matrice dei pesi
|
||||
|
||||
CNurbsSurfData( void) : nDegU( 0), nDegV( 0), bRat( false), bPeriodicU( false), bPeriodicV( false), bClosedU( false), bClosedV( false), bExtraKnotes( false) {}
|
||||
} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Trasforma una curva Nurbs standard in una nuova curva di Bezier semplice o composta
|
||||
EGK_EXPORT ISurf* NurbsToBezierSurface( const CNurbsSurfData& cnData) ;
|
||||
Reference in New Issue
Block a user