Manual_IK.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright (c) 2008-2023 the Urho3D project
  2. // License: MIT
  3. #ifdef URHO3D_IK
  4. #include "../Precompiled.h"
  5. #include "../AngelScript/APITemplates.h"
  6. #include "../IK/IKSolver.h"
  7. namespace Urho3D
  8. {
  9. // This function is called before ASRegisterGenerated()
  10. void ASRegisterManualFirst_IK(asIScriptEngine* engine)
  11. {
  12. // enum IKSolver::Algorithm | File: ../IK/IKSolver.h
  13. engine->RegisterEnum("IKAlgorithm");
  14. engine->RegisterEnumValue("IKAlgorithm", "ONE_BONE", IKSolver::ONE_BONE);
  15. engine->RegisterEnumValue("IKAlgorithm", "TWO_BONE", IKSolver::TWO_BONE);
  16. engine->RegisterEnumValue("IKAlgorithm", "FABRIK", IKSolver::FABRIK);
  17. // enum IKSolver::Feature | File: ../IK/IKSolver.h
  18. engine->RegisterEnum("IKFeature");
  19. engine->RegisterEnumValue("IKFeature", "JOINT_ROTATIONS", IKSolver::JOINT_ROTATIONS);
  20. engine->RegisterEnumValue("IKFeature", "TARGET_ROTATIONS", IKSolver::TARGET_ROTATIONS);
  21. engine->RegisterEnumValue("IKFeature", "UPDATE_ORIGINAL_POSE", IKSolver::UPDATE_ORIGINAL_POSE);
  22. engine->RegisterEnumValue("IKFeature", "UPDATE_ACTIVE_POSE", IKSolver::UPDATE_ACTIVE_POSE);
  23. engine->RegisterEnumValue("IKFeature", "USE_ORIGINAL_POSE", IKSolver::USE_ORIGINAL_POSE);
  24. engine->RegisterEnumValue("IKFeature", "CONSTRAINTS", IKSolver::CONSTRAINTS);
  25. engine->RegisterEnumValue("IKFeature", "AUTO_SOLVE", IKSolver::AUTO_SOLVE);
  26. }
  27. // This function is called after ASRegisterGenerated()
  28. void ASRegisterManualLast_IK(asIScriptEngine* engine)
  29. {
  30. // Algorithm IKSolver::GetAlgorithm() const | File: ../IK/IKSolver.h
  31. engine->RegisterObjectMethod("IKSolver", "IKAlgorithm get_algorithm() const", AS_METHOD(IKSolver, GetAlgorithm), AS_CALL_THISCALL);
  32. // void IKSolver::SetAlgorithm(Algorithm algorithm) | File: ../IK/IKSolver.h
  33. engine->RegisterObjectMethod("IKSolver", "void set_algorithm(IKAlgorithm)", AS_METHOD(IKSolver, SetAlgorithm), AS_CALL_THISCALL);
  34. }
  35. }
  36. #endif // def URHO3D_IK