EgtGeomKernel :
- correzione alla conversione da NURBS a Bezier nel caso razionale.
This commit is contained in:
+10
-7
@@ -378,7 +378,7 @@ NurbsToBezierSurface(const SNurbsSurfData& snData)
|
||||
else {
|
||||
for ( int i = 0 ; i < nCPU_ref ; ++i) {
|
||||
m_BC1_next[i][save] = m_BC1[i][snData.nDegV] ;
|
||||
mW1_next[save] = mW1[snData.nDegV] ;
|
||||
mW1_next[i][save] = mW1[i][snData.nDegV] ;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -424,14 +424,17 @@ NurbsToBezierSurface(const SNurbsSurfData& snData)
|
||||
}
|
||||
|
||||
if ( b < nV - 1) {
|
||||
for (int i = 0 ; i < nCPU_ref ; ++ i ) {
|
||||
for ( int row = snData.nDegV - mult ; row <= snData.nDegV ; ++ row) {
|
||||
m_BC1[i][row] = mPC_strip[i][b - snData.nDegV + row + 1] ;
|
||||
}
|
||||
}
|
||||
if ( snData.bRat ) {
|
||||
if ( ! snData.bRat) {
|
||||
for (int i = 0 ; i < nCPU_ref ; ++ i ) {
|
||||
for ( int row = snData.nDegV - mult ; row <= snData.nDegV ; ++ row) {
|
||||
m_BC1[i][row] = mPC_strip[i][b - snData.nDegV + row + 1] ;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int i = 0 ; i < nCPU_ref ; ++ i ) {
|
||||
for ( int row = snData.nDegV - mult ; row <= snData.nDegV ; ++ row) {
|
||||
m_BC1[i][row] = mPC_strip[i][b - snData.nDegV + row + 1] * mW_strip[i][b - snData.nDegV + row + 1] ;
|
||||
mW1[i][row] = mW_strip[i][b - snData.nDegV + row + 1] ;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user