EgtGeomKernel :

- corretto un bug nella conversione surf NURBS to Bezier.
This commit is contained in:
Daniele Bariletti
2023-09-19 12:36:11 +02:00
parent 1ec38952ed
commit e5ed9efdd1
+13 -13
View File
@@ -197,20 +197,20 @@ NurbsToBezierSurface(const CNurbsSurfData& cnData)
}
}
}
mPC_strip.resize( cnData.nDegU * ( nb + 1) + 1 , vCPV) ;
mW_strip.resize( cnData.nDegU * ( nb + 1) + 1, vV_W) ;
if ( ! cnData.bRat)
for ( int i = 0 ; i <= cnData.nDegU ; ++i) {
for ( int row = 0 ; row < cnData.nCPV ; ++row ) {
mPC_strip[i+ nb * cnData.nDegU][row] = mBC[i][row] ;
}
}
mPC_strip.resize( cnData.nDegU * ( nb + 1) + 1 , vCPV) ;
mW_strip.resize( cnData.nDegU * ( nb + 1) + 1, vV_W) ;
if ( ! cnData.bRat)
for ( int i = 0 ; i <= cnData.nDegU ; ++i) {
for ( int row = 0 ; row < cnData.nCPV ; ++row ) {
mPC_strip[i+ nb * cnData.nDegU][row] = mBC[i][row] ;
}
else {
for ( int i = 0 ; i <= cnData.nDegU ; ++i) {
for ( int row = 0 ; row < cnData.nCPV ; ++row ) {
mPC_strip[i+ nb * cnData.nDegU][row] = mBC[i][row]/mW[i][row] ;
mW_strip[i+ nb * cnData.nDegU][row] = mW[i][row] ;
}
}
else {
for ( int i = 0 ; i <= cnData.nDegU ; ++i) {
for ( int row = 0 ; row < cnData.nCPV ; ++row ) {
mPC_strip[i+ nb * cnData.nDegU][row] = mBC[i][row]/mW[i][row] ;
mW_strip[i+ nb * cnData.nDegU][row] = mW[i][row] ;
}
}
}