dispose method

  1. @override
Future dispose()
override

Implementation

@override
Future dispose() async {
  if (_viewer == null) {
    // we've already cleaned everything up, ignore the call to dispose
    return;
  }
  await setRendering(false);
  await clearEntities();
  await clearLights();
  await _scene!.dispose();
  _scene = null;
  destroy_filament_viewer_ffi(_viewer!);

  _sceneManager = null;
  _viewer = null;
  await _pickResultController.close();

  for (final callback in _onDispose) {
    await callback.call();
  }
  _onDispose.clear();

}