Include :
- gestione sup NURBS periodiche - aggiunta note e cambio nomi.
This commit is contained in:
@@ -40,6 +40,9 @@ struct CNurbsData
|
||||
CNurbsData( void) : nDeg( 0), bRat( false), bPeriodic( false), bClosed( false), bExtraKnotes( false) {}
|
||||
} ;
|
||||
|
||||
// N.B. : in caso la curva sia razionale i punti di controllo sono in forma NON OMOGENEA [ x, y, z, w] ( dove la forma OMOGENEA è [ w*x, w*y, w*z, w])
|
||||
// tutte le operazioni richiedono la forma OMOGENEA, finite le quali posso riportarmi alla forma NON OMOGENEA
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Trasforma un arco in una nuova curva di Bezier semplice o composta
|
||||
EGK_EXPORT ICurve* ArcToBezierCurve( const ICurve* pArc) ;
|
||||
|
||||
+10
-6
@@ -27,12 +27,12 @@
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Struttura dati per curva Nurbs
|
||||
struct CNurbsSurfData
|
||||
//! Struttura dati per superficie Nurbs
|
||||
struct SNurbsSurfData
|
||||
{
|
||||
int nDegU ; // grado in U
|
||||
int nDegV ; // grado in V
|
||||
bool bRat ; // flag di curva razionale (pesi non tutti unitari)
|
||||
bool bRat ; // flag di superficie 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
|
||||
@@ -46,9 +46,13 @@ struct CNurbsSurfData
|
||||
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) {}
|
||||
SNurbsSurfData( void) : nDegU( 0), nDegV( 0), bRat( false), bPeriodicU( false), bPeriodicV( false), bClosedU( false), bClosedV( false), bExtraKnotes( false) {}
|
||||
} ;
|
||||
|
||||
// N.B. : in caso la superficie sia razionale i punti di controllo sono in forma NON OMOGENEA [ x, y, z, w] ( dove la forma omogenea è [ w*x, w*y, w*z, w])
|
||||
// tutte le operazioni richiedono la forma OMOGENEA, finite le quali posso riportarmi alla forma NON OMOGENEA
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Trasforma una curva Nurbs standard in una nuova curva di Bezier semplice o composta
|
||||
EGK_EXPORT ISurf* NurbsToBezierSurface( const CNurbsSurfData& cnData) ;
|
||||
//! Trasforma una superficie Nurbs standard in una nuova superficie di Bezier semplice o composta
|
||||
EGK_EXPORT bool NurbsSurfaceCanonicalize( SNurbsSurfData& snData) ;
|
||||
EGK_EXPORT ISurf* NurbsToBezierSurface( const SNurbsSurfData& snData) ;
|
||||
|
||||
Reference in New Issue
Block a user