add getter for Aabb3 directly (getBoundingBox) on ThermionAsset
This commit is contained in:
@@ -64,6 +64,13 @@ abstract class ThermionAsset {
|
|||||||
///
|
///
|
||||||
Future removeStencilHighlight();
|
Future removeStencilHighlight();
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The dimensions of the bounding box for this asset.
|
||||||
|
/// This is independent of the boundingBoxAsset (which is used to visualize
|
||||||
|
/// the bounding box in the scene); you do not need to call
|
||||||
|
/// [createBoundingBoxAsset] before this method.
|
||||||
|
Future<Aabb3> getBoundingBox();
|
||||||
|
|
||||||
///
|
///
|
||||||
/// The bounding box for this asset, as an actual renderable asset.
|
/// The bounding box for this asset, as an actual renderable asset.
|
||||||
/// Null by default; call [createBoundingBoxAsset] first to create.
|
/// Null by default; call [createBoundingBoxAsset] first to create.
|
||||||
@@ -72,9 +79,9 @@ abstract class ThermionAsset {
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// Creates the renderable bounding box for this asset.
|
/// Creates the renderable bounding box for this asset.
|
||||||
/// This is safe to call multiple times; if [boundingBoxAsset] is non-null,
|
/// This is safe to call multiple times; if [boundingBoxAsset] is non-null,
|
||||||
/// this will simply return the existing bounding box asset.
|
/// this will simply return the existing bounding box asset.
|
||||||
///
|
///
|
||||||
/// You will still need to call [Scene.add] to add this to the scene.
|
/// You will still need to call [Scene.add] to add this to the scene.
|
||||||
///
|
///
|
||||||
Future<ThermionAsset> createBoundingBoxAsset();
|
Future<ThermionAsset> createBoundingBoxAsset();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
import 'package:vector_math/vector_math_64.dart' as v64;
|
||||||
import 'package:animation_tools_dart/src/bone_animation_data.dart';
|
import 'package:animation_tools_dart/src/bone_animation_data.dart';
|
||||||
import 'package:animation_tools_dart/src/morph_animation_data.dart';
|
import 'package:animation_tools_dart/src/morph_animation_data.dart';
|
||||||
import 'package:thermion_dart/src/filament/src/layers.dart';
|
import 'package:thermion_dart/src/filament/src/layers.dart';
|
||||||
@@ -63,7 +63,7 @@ class BackgroundImage extends ThermionAsset {
|
|||||||
await mi.setParameterFloat4("backgroundColor", r, g, b, a);
|
await mi.setParameterFloat4("backgroundColor", r, g, b, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future hideImage() async {
|
Future hideImage() async {
|
||||||
await mi.setParameterInt("showImage", 0);
|
await mi.setParameterInt("showImage", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -336,18 +336,21 @@ class BackgroundImage extends ThermionAsset {
|
|||||||
// TODO: implement transformToUnitCube
|
// TODO: implement transformToUnitCube
|
||||||
throw UnimplementedError();
|
throw UnimplementedError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<MaterialInstance> getMaterialInstanceAt({ThermionEntity? entity, int index = 0}) {
|
Future<MaterialInstance> getMaterialInstanceAt(
|
||||||
// TODO: implement getMaterialInstanceAt
|
{ThermionEntity? entity, int index = 0}) {
|
||||||
throw UnimplementedError();
|
throw UnimplementedError();
|
||||||
}
|
}
|
||||||
|
|
||||||
ThermionAsset? get boundingBoxAsset => throw UnimplementedError();
|
ThermionAsset? get boundingBoxAsset => throw UnimplementedError();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<ThermionAsset> createBoundingBoxAsset() {
|
Future<ThermionAsset> createBoundingBoxAsset() {
|
||||||
// TODO: implement getBoundingBoxAsset
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<v64.Aabb3> getBoundingBox() {
|
||||||
throw UnimplementedError();
|
throw UnimplementedError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -246,8 +246,14 @@ class FFIAsset extends ThermionAsset {
|
|||||||
throw UnimplementedError();
|
throw UnimplementedError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///
|
||||||
|
///
|
||||||
|
///
|
||||||
ThermionAsset? boundingBoxAsset;
|
ThermionAsset? boundingBoxAsset;
|
||||||
|
|
||||||
|
///
|
||||||
|
///
|
||||||
|
///
|
||||||
Future<v64.Aabb3> getBoundingBox() async {
|
Future<v64.Aabb3> getBoundingBox() async {
|
||||||
final entities = <ThermionEntity>[];
|
final entities = <ThermionEntity>[];
|
||||||
if (RenderableManager_isRenderable(app.renderableManager, entity)) {
|
if (RenderableManager_isRenderable(app.renderableManager, entity)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user