setModel method

  1. @override
bool setModel(
  1. ModelProvider model
)
override

Sets the 3D asset (OBJ source + texture ImageProvider). model Model provider ModelProvider. Returns true if the operation is successful, false otherwise.

Example:

ImageProvider texture = ImageProvider.fromImageProvider(
 const AssetImage('assets/model_texture.png'),
 cacheable: true,
);
ModelProvider modelProvider = ModelProvider(
 texture,
 onModelRequest: () async {
   final bytes = await File('/path/to/model.obj').readAsBytes();
   return ByteData.sublistView(bytes);
 },
);
bool modelOk = m.setModel(modelProvider);
print("Model setModel: $modelOk");

Implementation

@override
bool setModel(ModelProvider model) {
    final _setModelFfi = __lib.catchArgumentError(() => __lib.nativeLibrary.lookupFunction<
        Uint8 Function(Pointer<Void>, Pointer<Void>),
        int Function(Pointer<Void>, Pointer<Void>)
      >('navigine_sdk_flutter_ModelMapObject_setModel__Model'));
    final _modelHandle = ModelProviderImpl.getNativePtr(model);
    final __resultHandle = _setModelFfi(this.ptr, _modelHandle);
    ModelProviderImpl.releaseNativePtr(_modelHandle);
    final _result = (__resultHandle != 0);
    exception.checkCallResult();
    return _result;
}