allow adding AnimationComponent/morph target animations to arbitrary entities
This commit is contained in:
@@ -30,10 +30,9 @@ namespace flutter_filament
|
||||
using namespace filament;
|
||||
using namespace filament::gltfio;
|
||||
using namespace utils;
|
||||
using std::vector;
|
||||
using std::unique_ptr;
|
||||
using std::string;
|
||||
|
||||
using std::unique_ptr;
|
||||
using std::vector;
|
||||
|
||||
class SceneManager
|
||||
{
|
||||
@@ -44,7 +43,6 @@ namespace flutter_filament
|
||||
const char *uberArchivePath);
|
||||
~SceneManager();
|
||||
|
||||
|
||||
EntityId loadGltf(const char *uri, const char *relativeResourcePath);
|
||||
|
||||
////
|
||||
@@ -81,14 +79,13 @@ namespace flutter_filament
|
||||
|
||||
bool setMorphAnimationBuffer(
|
||||
EntityId entityId,
|
||||
const char *entityName,
|
||||
const float *const morphData,
|
||||
const int *const morphIndices,
|
||||
int numMorphTargets,
|
||||
int numFrames,
|
||||
float frameLengthInMs);
|
||||
|
||||
void setMorphTargetWeights(EntityId entityId, const char *const entityName, const float *const weights, int count);
|
||||
bool setMorphTargetWeights(EntityId entityId, const float *const weights, int count);
|
||||
|
||||
/// @brief Set the local transform for the bone at boneIndex/skinIndex in the given entity.
|
||||
/// @param entityId the parent entity
|
||||
@@ -135,7 +132,7 @@ namespace flutter_filament
|
||||
void addCollisionComponent(EntityId entity, void (*onCollisionCallback)(const EntityId entityId1, const EntityId entityId2), bool affectsCollidingTransform);
|
||||
void removeCollisionComponent(EntityId entityId);
|
||||
void setParent(EntityId child, EntityId parent);
|
||||
void addAnimationComponent(EntityId entity);
|
||||
bool addAnimationComponent(EntityId entity);
|
||||
|
||||
/// @brief returns the number of instances of the FilamentAsset represented by the given entity.
|
||||
/// @param entityId
|
||||
@@ -151,17 +148,14 @@ namespace flutter_filament
|
||||
///
|
||||
void setPriority(EntityId entity, int priority);
|
||||
|
||||
|
||||
/// @brief returns the gizmo entity, used to manipulate the global transform for entities
|
||||
/// @param out a pointer to an array of three EntityId {x, y, z}
|
||||
/// @return
|
||||
///
|
||||
void getGizmo(EntityId *out);
|
||||
|
||||
|
||||
friend class FilamentViewer;
|
||||
|
||||
|
||||
private:
|
||||
gltfio::AssetLoader *_assetLoader = nullptr;
|
||||
const ResourceLoaderWrapper *const _resourceLoaderWrapper;
|
||||
@@ -178,7 +172,8 @@ namespace flutter_filament
|
||||
|
||||
tsl::robin_map<
|
||||
EntityId,
|
||||
gltfio::FilamentInstance*> _instances;
|
||||
gltfio::FilamentInstance *>
|
||||
_instances;
|
||||
tsl::robin_map<EntityId, gltfio::FilamentAsset *> _assets;
|
||||
tsl::robin_map<EntityId, std::tuple<math::float3, bool, math::quatf, bool, float>> _transformUpdates;
|
||||
|
||||
@@ -196,6 +191,5 @@ namespace flutter_filament
|
||||
utils::Entity _gizmoX;
|
||||
utils::Entity _gizmoY;
|
||||
utils::Entity _gizmoZ;
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user