getValueAsFloatArray method

List<double> getValueAsFloatArray()

Gets the the field value as an array of floats.

return The field value as an array of floats. throws BiosealException An error has occurred during Bioseal Library execution.

Implementation

List<double> getValueAsFloatArray() {
  Pointer<Float> pValueAsFloatArray = nullptr;
  Pointer<Int> pValueAsFloatArraySize = calloc();
  pValueAsFloatArraySize[0] = -1;
  try {
    var err = biosealSDK.id3BiosealField_GetValueAsFloatArray(_pHandle.value, pValueAsFloatArray, pValueAsFloatArraySize);
    if (err == BiosealError.insufficientBuffer.value) {
      pValueAsFloatArray = calloc.allocate(pValueAsFloatArraySize.value);
      err = biosealSDK.id3BiosealField_GetValueAsFloatArray(_pHandle.value, pValueAsFloatArray, pValueAsFloatArraySize);
    }
    if (err != BiosealError.success.value) {
      throw BiosealException(err);
    }
    final vValueAsFloatArray = Float32List.fromList(pValueAsFloatArray.cast<Float>().asTypedList(pValueAsFloatArraySize.value));
    return vValueAsFloatArray;
  } finally {
    calloc.free(pValueAsFloatArray);
    calloc.free(pValueAsFloatArraySize);
  }
}