generateModelViewerHtml method

Future<void> generateModelViewerHtml()

To generate the HTML code for using the model viewer.

Implementation

Future<void> generateModelViewerHtml() async {
  final htmlTemplate =
      await rootBundle.loadString('packages/o3d/assets/template.html');

  // allow to use elements
  final NodeValidator validator =
      widget.overwriteNodeValidatorBuilder ?? defaultNodeValidatorBuilder;

  final html = _buildHTML(htmlTemplate);

  ui_web.platformViewRegistry.registerViewFactory(
    'model-viewer-html-$_uniqueViewType',
    (viewId) => HtmlHtmlElement()
      // ignore: avoid_dynamic_calls
      ..style.border = 'none'
      // ignore: avoid_dynamic_calls
      ..style.height = '100%'
      // ignore: avoid_dynamic_calls
      ..style.width = '100%'
      ..setInnerHtml(html, validator: validator),
  );

  setState(() {
    _isLoading = false;
  });
}