vIntZ method

void vIntZ(
  1. int q,
  2. int offset,
  3. dynamic isol,
  4. dynamic x,
  5. dynamic y,
  6. dynamic z,
  7. dynamic valp1,
  8. dynamic valp2,
  9. int cOffset1,
  10. int cOffset2,
)

Implementation

void vIntZ(int q,int offset, isol, x, y, z, valp1, valp2,int cOffset1,int cOffset2 ) {
  double mu = ( isol - valp1 ) / ( valp2 - valp1 );
  final nc = normalCache;

  vlist[ offset + 0 ] = x;
  vlist[ offset + 1 ] = y;
  vlist[ offset + 2 ] = z + mu * delta;

  int q2 = q + zd * 3;

  nlist[ offset + 0 ] = lerp( nc[ q + 0 ], nc[ q2 + 0 ], mu );
  nlist[ offset + 1 ] = lerp( nc[ q + 1 ], nc[ q2 + 1 ], mu );
  nlist[ offset + 2 ] = lerp( nc[ q + 2 ], nc[ q2 + 2 ], mu );

  clist[ offset + 0 ] = lerp( palette[ cOffset1 * 3 + 0 ], palette[ cOffset2 * 3 + 0 ], mu );
  clist[ offset + 1 ] = lerp( palette[ cOffset1 * 3 + 1 ], palette[ cOffset2 * 3 + 1 ], mu );
  clist[ offset + 2 ] = lerp( palette[ cOffset1 * 3 + 2 ], palette[ cOffset2 * 3 + 2 ], mu );
}