2022-03-25 11:46:44 +01:00
|
|
|
//
|
|
|
|
// Created by martin on 11.02.22.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef ANIMTESTBED_ANIMGRAPHEDITOR_H
|
|
|
|
#define ANIMTESTBED_ANIMGRAPHEDITOR_H
|
|
|
|
|
2023-03-26 23:39:11 +02:00
|
|
|
#include "AnimGraph.h"
|
|
|
|
|
2023-03-30 18:11:54 +02:00
|
|
|
struct SkinnedMesh;
|
|
|
|
|
2022-03-25 11:46:44 +01:00
|
|
|
inline int GenerateInputAttributeId(int node_id, int input_index) {
|
|
|
|
return ((input_index + 1) << 14) + node_id;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void
|
|
|
|
SplitInputAttributeId(int attribute_id, int* node_id, int* input_index) {
|
|
|
|
*node_id = attribute_id & ((1 << 14) - 1);
|
|
|
|
*input_index = (attribute_id >> 14) - 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline int GenerateOutputAttributeId(int node_id, int output_index) {
|
|
|
|
return ((output_index + 1) << 23) + node_id;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void
|
|
|
|
SplitOutputAttributeId(int attribute_id, int* node_id, int* output_index) {
|
|
|
|
*node_id = attribute_id & ((1 << 14) - 1);
|
|
|
|
*output_index = (attribute_id >> 23) - 1;
|
|
|
|
}
|
|
|
|
|
2023-03-30 18:11:54 +02:00
|
|
|
void SyncTrackEditor(SyncTrack* sync_track);
|
|
|
|
|
|
|
|
void SkinnedMeshWidget(SkinnedMesh* skinned_mesh);
|
|
|
|
|
2022-03-25 11:46:44 +01:00
|
|
|
void AnimGraphEditorUpdate();
|
|
|
|
|
2023-03-26 23:39:11 +02:00
|
|
|
void AnimGraphEditorGetRuntimeGraph(AnimGraph& anim_graph);
|
|
|
|
|
2022-03-25 11:46:44 +01:00
|
|
|
#endif //ANIMTESTBED_ANIMGRAPHEDITOR_H
|