EgtGeomKernel 2.2k3 :

- in NurbsToBezierCurve aggiunto controllo costanza valori nodi agli estremi.
This commit is contained in:
Dario Sassi
2020-11-25 10:06:32 +00:00
parent a1b32ea503
commit c8528675fe
2 changed files with 12 additions and 0 deletions
+12
View File
@@ -545,6 +545,18 @@ NurbsToBezierCurve( const CNurbsData& cnData)
return nullptr ;
// numero degli intervalli
int nInt = nU - 2 * cnData.nDeg + 1 ;
// verifico le condizioni agli estremi sui nodi (i primi nDeg nodi e gli ultimi nDeg nodi devono essere uguali tra loro)
bool bOk = true ;
for ( int i = 1 ; i < cnData.nDeg ; ++ i) {
if ( abs( cnData.vU[i] - cnData.vU[0]) >= EPS_ZERO)
bOk = false ;
}
for ( int i = 1 ; i < cnData.nDeg ; ++ i) {
if ( abs( cnData.vU[nU - 1 - i] - cnData.vU[nU - 1]) >= EPS_ZERO)
bOk = false ;
}
if ( ! bOk)
return nullptr ;
// se 1 solo intervallo, la Nurbs è già una curva di Bezier
if ( nInt == 1) {
BIN
View File
Binary file not shown.