Skip to content

Commit 1665c1b

Browse files
author
rdeioris
authored
Merge pull request #77 from osstony/anim_sequence
Adds anim_sequence_get_skeleton
2 parents c467d46 + f9a999c commit 1665c1b

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#include "UnrealEnginePythonPrivatePCH.h"
2+
#include "Animation/AnimSequence.h"
3+
4+
PyObject *py_ue_anim_sequence_get_skeleton(ue_PyUObject * self, PyObject * args) {
5+
ue_py_check(self);
6+
7+
if (!self->ue_object->IsA<UAnimSequence>())
8+
return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence.");
9+
10+
UAnimSequence *anim_seq = (UAnimSequence *)self->ue_object;
11+
USkeleton *skeleton = anim_seq->GetSkeleton();
12+
if (!skeleton) {
13+
Py_INCREF(Py_None);
14+
return Py_None;
15+
}
16+
17+
ue_PyUObject *ret = ue_get_python_wrapper((UObject *)skeleton);
18+
if (!ret)
19+
return PyErr_Format(PyExc_Exception, "uobject is in invalid state");
20+
Py_INCREF(ret);
21+
return (PyObject *)ret;
22+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
4+
5+
#include "UnrealEnginePython.h"
6+
7+
PyObject *py_ue_anim_sequence_get_skeleton(ue_PyUObject *, PyObject *);

Source/UnrealEnginePython/Private/UEPyModule.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,9 @@ static PyMethodDef ue_PyUObject_methods[] = {
287287
#if WITH_EDITOR
288288
// AssetUserData
289289
{ "asset_import_data", (PyCFunction)py_ue_asset_import_data, METH_VARARGS, "" },
290+
291+
// AnimSequence
292+
{ "anim_sequence_get_skeleton", (PyCFunction)py_ue_anim_sequence_get_skeleton, METH_VARARGS, "" },
290293
#endif
291294

292295
// Input

Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

4444
#if WITH_EDITOR
4545
#include "UEPyFARFilter.h"
46+
#include "UEPyAnimSequence.h"
4647
#endif
4748

4849
#define ue_py_check(py_u) if (!py_u->ue_object || !py_u->ue_object->IsValidLowLevel() || py_u->ue_object->IsPendingKillOrUnreachable())\

0 commit comments

Comments
 (0)