dispose method
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();
}