From 30517ca8284a9f3cb40fa58ce5af1511a3e48515 Mon Sep 17 00:00:00 2001 From: "K. S. Ernest (iFire) Lee" Date: Mon, 9 Dec 2024 10:30:26 -0800 Subject: [PATCH] Revert "Merge remote-tracking branch 'origin/vsk-many-bone-ik-constraint-4.4' into vsk-many-bone-ik-constraint-4.4" This reverts commit 2f3b4da18c01e9123dd5d47490784bb74da64c3d, reversing changes made to 088fec18e10352403eedd6444cecc6e3e0efdc85. --- .../.github/ISSUE_TEMPLATE/bug_report.md | 40 - .../.github/ISSUE_TEMPLATE/feature_request.md | 19 - modules/constraint_ik/.gitignore | 380 --------- modules/constraint_ik/LICENSE | 23 - modules/constraint_ik/SCsub | 15 - modules/constraint_ik/config.py | 24 - ...00000000000139000000CB22CAE13E99E3E24B.png | Bin 10961 -> 0 bytes ...00000000000139000000CB360C51B9B2145043.png | Bin 11379 -> 0 bytes ...00000000000139000000CBF393B4C3206D97F3.png | Bin 12583 -> 0 bytes ...0000000000016C000002AAA2059A0E43B2B468.png | Bin 42382 -> 0 bytes ...000000000002070000018E1025A91C2576C186.png | Bin 27206 -> 0 bytes ...000000000002070000018E173E86C323891A74.png | Bin 24074 -> 0 bytes ...000000000002070000018E6996B4A5DF706332.png | Bin 31975 -> 0 bytes ...000000000002070000018E832AFC8FF38BF53F.png | Bin 29692 -> 0 bytes ...000000000002070000018E845771BD15F39314.png | Bin 21288 -> 0 bytes ...000000000002070000018E853FACED42A51700.png | Bin 18532 -> 0 bytes ...000000000002070000018E9D87E7B297A94C9F.png | Bin 11486 -> 0 bytes ...000000000002070000018EA6B7A87AEB9D9F40.png | Bin 11171 -> 0 bytes ...000000000002070000018EBC567E962B9B4C87.png | Bin 24625 -> 0 bytes ...000000000002070000018ECB3181C74F9EDC35.png | Bin 21594 -> 0 bytes ...000000000002070000018ED76B18851DB9DC34.png | Bin 19960 -> 0 bytes ...000000000002070000018EDE8A6B18141900B0.png | Bin 23510 -> 0 bytes ...000000000002070000018EDF01F2A95A1519D7.png | Bin 18913 -> 0 bytes ...000000000002070000018EE63F4ECE1A82B606.png | Bin 20421 -> 0 bytes ...000000000002070000018EEE6FC1E017012EDA.png | Bin 24317 -> 0 bytes ...000000000002C90000027876C8370C9358FB94.png | Bin 172945 -> 0 bytes ...000000000002C900000278AEBB2DF17488D353.png | Bin 38347 -> 0 bytes ...000000000002C900000278EEE925F5104E07BE.png | Bin 285496 -> 0 bytes ...000000000004000000040014FDC3377E0AD7E4.png | Bin 118195 -> 0 bytes ...00000000000400000004007DA1871E5E883934.png | Bin 105852 -> 0 bytes ...000201000002020000018EF75E743EDC6A705E.png | Bin 33815 -> 0 bytes ...00020100000286000001D10AA6EC3093AC56D5.png | Bin 21430 -> 0 bytes ...0002010000030D0000026B7F70BE2E85BEF4BE.png | Bin 56415 -> 0 bytes modules/constraint_ik/design_docs/readme.md | 555 ------------ .../doc_classes/ConstraintIK3D.xml | 189 ----- .../constraint_ik/doc_classes/IKBone3D.xml | 50 -- .../doc_classes/IKBoneSegment3D.xml | 26 - .../doc_classes/IKEffector3D.xml | 20 - .../doc_classes/IKEffectorTemplate3D.xml | 34 - .../constraint_ik/doc_classes/IKNode3D.xml | 87 -- modules/constraint_ik/register_types.cpp | 68 -- modules/constraint_ik/register_types.h | 39 - modules/constraint_ik/src/ik_bone_3d.cpp | 363 -------- modules/constraint_ik/src/ik_bone_3d.h | 122 --- .../constraint_ik/src/ik_bone_segment_3d.cpp | 427 ---------- .../constraint_ik/src/ik_bone_segment_3d.h | 105 --- modules/constraint_ik/src/ik_effector_3d.cpp | 145 ---- modules/constraint_ik/src/ik_effector_3d.h | 85 -- .../src/ik_effector_template_3d.cpp | 70 -- .../src/ik_effector_template_3d.h | 62 -- modules/constraint_ik/src/many_bone_ik_3d.cpp | 793 ------------------ modules/constraint_ik/src/many_bone_ik_3d.h | 134 --- modules/constraint_ik/src/math/ik_node_3d.cpp | 159 ---- modules/constraint_ik/src/math/ik_node_3d.h | 102 --- modules/constraint_ik/src/math/qcp.cpp | 269 ------ modules/constraint_ik/src/math/qcp.h | 108 --- modules/constraint_ik/tests/test_ik_node_3d.h | 108 --- modules/constraint_ik/tests/test_qcp.h | 143 ---- modules/many_bone_ik/.gitrepo | 12 + modules/many_bone_ik/SCsub | 3 + modules/many_bone_ik/config.py | 3 + modules/many_bone_ik/doc_classes/IKBone3D.xml | 18 + .../doc_classes/IKKusudama3D.xml | 0 .../doc_classes/IKLimitCone3D.xml | 0 .../doc_classes/IKRay3D.xml | 0 .../many_bone_ik/doc_classes/ManyBoneIK3D.xml | 146 ++++ .../editor/many_bone_ik_3d_gizmo_plugin.cpp | 62 +- .../editor/many_bone_ik_3d_gizmo_plugin.h | 8 +- .../editor/many_bone_ik_shader.h | 0 modules/many_bone_ik/register_types.cpp | 15 + modules/many_bone_ik/src/ik_bone_3d.cpp | 78 +- modules/many_bone_ik/src/ik_bone_3d.h | 9 + .../many_bone_ik/src/ik_bone_segment_3d.cpp | 8 + modules/many_bone_ik/src/ik_bone_segment_3d.h | 1 + modules/many_bone_ik/src/ik_effector_3d.h | 3 + .../src/ik_kusudama_3d.cpp | 10 +- .../src/ik_kusudama_3d.h | 15 +- .../src/ik_open_cone_3d.cpp | 0 .../src/ik_open_cone_3d.h | 0 .../src/ik_ray_3d.cpp | 0 .../src/ik_ray_3d.h | 0 modules/many_bone_ik/src/many_bone_ik_3d.cpp | 558 +++++++++++- modules/many_bone_ik/src/many_bone_ik_3d.h | 36 +- .../tests/test_ik_kusudama_3d.h | 2 +- 84 files changed, 928 insertions(+), 4823 deletions(-) delete mode 100644 modules/constraint_ik/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 modules/constraint_ik/.github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 modules/constraint_ik/.gitignore delete mode 100644 modules/constraint_ik/LICENSE delete mode 100644 modules/constraint_ik/SCsub delete mode 100644 modules/constraint_ik/config.py delete mode 100644 modules/constraint_ik/design_docs/Pictures/1000000000000139000000CB22CAE13E99E3E24B.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/1000000000000139000000CB360C51B9B2145043.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/1000000000000139000000CBF393B4C3206D97F3.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/100000000000016C000002AAA2059A0E43B2B468.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018E1025A91C2576C186.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018E173E86C323891A74.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018E6996B4A5DF706332.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018E832AFC8FF38BF53F.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018E845771BD15F39314.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018E853FACED42A51700.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018E9D87E7B297A94C9F.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018EA6B7A87AEB9D9F40.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018EBC567E962B9B4C87.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018ECB3181C74F9EDC35.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018ED76B18851DB9DC34.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018EDE8A6B18141900B0.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018EDF01F2A95A1519D7.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018EE63F4ECE1A82B606.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002070000018EEE6FC1E017012EDA.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002C90000027876C8370C9358FB94.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002C900000278AEBB2DF17488D353.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000002C900000278EEE925F5104E07BE.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000000000004000000040014FDC3377E0AD7E4.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/1000000000000400000004007DA1871E5E883934.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/10000201000002020000018EF75E743EDC6A705E.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/1000020100000286000001D10AA6EC3093AC56D5.png delete mode 100644 modules/constraint_ik/design_docs/Pictures/100002010000030D0000026B7F70BE2E85BEF4BE.png delete mode 100644 modules/constraint_ik/design_docs/readme.md delete mode 100644 modules/constraint_ik/doc_classes/ConstraintIK3D.xml delete mode 100644 modules/constraint_ik/doc_classes/IKBone3D.xml delete mode 100644 modules/constraint_ik/doc_classes/IKBoneSegment3D.xml delete mode 100644 modules/constraint_ik/doc_classes/IKEffector3D.xml delete mode 100644 modules/constraint_ik/doc_classes/IKEffectorTemplate3D.xml delete mode 100644 modules/constraint_ik/doc_classes/IKNode3D.xml delete mode 100644 modules/constraint_ik/register_types.cpp delete mode 100644 modules/constraint_ik/register_types.h delete mode 100644 modules/constraint_ik/src/ik_bone_3d.cpp delete mode 100644 modules/constraint_ik/src/ik_bone_3d.h delete mode 100644 modules/constraint_ik/src/ik_bone_segment_3d.cpp delete mode 100644 modules/constraint_ik/src/ik_bone_segment_3d.h delete mode 100644 modules/constraint_ik/src/ik_effector_3d.cpp delete mode 100644 modules/constraint_ik/src/ik_effector_3d.h delete mode 100644 modules/constraint_ik/src/ik_effector_template_3d.cpp delete mode 100644 modules/constraint_ik/src/ik_effector_template_3d.h delete mode 100644 modules/constraint_ik/src/many_bone_ik_3d.cpp delete mode 100644 modules/constraint_ik/src/many_bone_ik_3d.h delete mode 100644 modules/constraint_ik/src/math/ik_node_3d.cpp delete mode 100644 modules/constraint_ik/src/math/ik_node_3d.h delete mode 100644 modules/constraint_ik/src/math/qcp.cpp delete mode 100644 modules/constraint_ik/src/math/qcp.h delete mode 100644 modules/constraint_ik/tests/test_ik_node_3d.h delete mode 100644 modules/constraint_ik/tests/test_qcp.h create mode 100644 modules/many_bone_ik/.gitrepo rename modules/{constraint_ik => many_bone_ik}/doc_classes/IKKusudama3D.xml (100%) rename modules/{constraint_ik => many_bone_ik}/doc_classes/IKLimitCone3D.xml (100%) rename modules/{constraint_ik => many_bone_ik}/doc_classes/IKRay3D.xml (100%) rename modules/{constraint_ik => many_bone_ik}/editor/many_bone_ik_3d_gizmo_plugin.cpp (88%) rename modules/{constraint_ik => many_bone_ik}/editor/many_bone_ik_3d_gizmo_plugin.h (92%) rename modules/{constraint_ik => many_bone_ik}/editor/many_bone_ik_shader.h (100%) rename modules/{constraint_ik => many_bone_ik}/src/ik_kusudama_3d.cpp (95%) rename modules/{constraint_ik => many_bone_ik}/src/ik_kusudama_3d.h (92%) rename modules/{constraint_ik => many_bone_ik}/src/ik_open_cone_3d.cpp (100%) rename modules/{constraint_ik => many_bone_ik}/src/ik_open_cone_3d.h (100%) rename modules/{constraint_ik => many_bone_ik}/src/ik_ray_3d.cpp (100%) rename modules/{constraint_ik => many_bone_ik}/src/ik_ray_3d.h (100%) rename modules/{constraint_ik => many_bone_ik}/tests/test_ik_kusudama_3d.h (99%) diff --git a/modules/constraint_ik/.github/ISSUE_TEMPLATE/bug_report.md b/modules/constraint_ik/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 9b77ea713f98..000000000000 --- a/modules/constraint_ik/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "" -labels: "" -assignees: "" ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - -- OS: [e.g. iOS] -- Browser [e.g. chrome, safari] -- Version [e.g. 22] - -**Smartphone (please complete the following information):** - -- Device: [e.g. iPhone6] -- OS: [e.g. iOS8.1] -- Browser [e.g. stock browser, safari] -- Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/modules/constraint_ik/.github/ISSUE_TEMPLATE/feature_request.md b/modules/constraint_ik/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 2bc5d5f71186..000000000000 --- a/modules/constraint_ik/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "" -labels: "" -assignees: "" ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/modules/constraint_ik/.gitignore b/modules/constraint_ik/.gitignore deleted file mode 100644 index 3946cc96e540..000000000000 --- a/modules/constraint_ik/.gitignore +++ /dev/null @@ -1,380 +0,0 @@ -# Godot .gitignore config -# -# Aims to encompass the most commonly found files that we don't want committed -# to Git, such as compilation output, IDE specific files, etc. -# -# It doesn't cover *all* thirdparty IDE extensions under the sun so if you have -# specific needs covered here, you can add them to: -# .git/info/exclude -# -# Or contribute them to this file if they're common enough that a good number of -# users would benefit from the shared rules. -# -# This file is organized by sections, with subsections ordered alphabetically. -# - Build configuration -# - Godot generated files -# - General build output -# - IDE and tool specific -# - Visual Studio specific -# - OS specific - -########################### -### Build configuration ### -########################### - -/custom.py -misc/hooks/pre-commit-custom-* - -############################# -### Godot generated files ### -############################# - -# Buildsystem -bin -*.gen.* -compile_commands.json -platform/windows/godot_res.res - -# Ninja build files -build.ninja -.ninja -run_ninja_env.bat - -# Generated by Godot binary -.import/ -/gdextension_interface.h -extension_api.json -logs/ - -# Generated by unit tests -tests/data/*.translation -tests/data/crypto/out* - -############################ -### General build output ### -############################ - -# C/C++ generated -*.a -*.ax -*.d -*.dll -*.lib -*.lo -*.o -*.os -*.ox -*.Plo -*.so -# Binutils tmp linker output of the form "stXXXXXX" where "X" is alphanumeric -st[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9] - -# Python development -.venv -venv - -# Python generated -__pycache__/ -*.pyc - -# Documentation -doc/_build/ - -# Android -.gradle/ -local.properties -*.iml -.gradletasknamecache -project.properties -platform/android/java/*/.cxx/ -platform/android/java/*/build/ -platform/android/java/*/libs/ - -# iOS -*.dSYM - -# Web platform -*.bc -platform/web/node_modules/ - -# Misc -*.debug - -############################# -### IDE and tool specific ### -############################# - -# Automake -.deps/* -.dirstamp - -# ccls -.ccls-cache/ - -# clangd -.clangd/ -.cache/ - -# CLion -cmake-build-debug - -# Code::Blocks -*.cbp -*.layout -*.depend - -# CodeLite -*.project -*.workspace -.codelite/ - -# Cppcheck -*.cppcheck -cppcheck-cppcheck-build-dir/ - -# Eclipse CDT -.cproject -.settings/ -*.pydevproject -*.launch - -# Emacs -\#*\# -.\#* - -# GCOV code coverage -*.gcda -*.gcno - -# Geany -*.geany -.geanyprj - -# Gprof -gmon.out - -# Jetbrains IDEs -.idea/ -.fleet/ - -# Kate -*.kate-swp - -# Kdevelop -*.kdev4 - -# Mypy -.mypy_cache - -# Qt Creator -*.config -*.creator -*.creator.* -*.files -*.includes -*.cflags -*.cxxflags - -# SCons -.sconf_temp -.sconsign*.dblite -.scons_env.json -.scons_node_count - -# Sourcetrail -*.srctrl* - -# Tags -# https://github.com/github/gitignore/blob/master/Global/Tags.gitignore -# Ignore tags created by etags, ctags, gtags (GNU global) and cscope -TAGS -!TAGS/ -tags -*.tags -!tags/ -gtags.files -GTAGS -GRTAGS -GPATH -cscope.files -cscope.out -cscope.in.out -cscope.po.out - -# Vim -*.swo -*.swp - -# Visual Studio Code -.vscode/ -*.code-workspace -.history/ - -# Xcode -xcuserdata/ -*.xcscmblueprint -*.xccheckout -*.xcodeproj/* - -############################## -### Visual Studio specific ### -############################## - -# https://github.com/github/gitignore/blob/master/VisualStudio.gitignore -# Ignore Visual Studio temporary files, build results, and -# files generated by popular Visual Studio add-ons. - -# Actual VS project files we don't use -*.sln -*.vcxproj* - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ - -[Ww][Ii][Nn]32/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Do not ignore arch-specific folders anywhere under thirdparty libraries -!thirdparty/**/x64/ -!thirdparty/**/x86/ -!thirdparty/**/arm/ -!thirdparty/**/arm64/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.log -*.tlog -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache - -# Others -ClientBin/ -enc_temp_folder/ -~$* -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# Hint file for IntelliSense -cpp.hint - -################### -### OS specific ### -################### - -# Linux -*~ -.directory - -# macOS -.DS_Store -__MACOSX - -# Windows -# https://github.com/github/gitignore/blob/main/Global/Windows.gitignore -[Tt]humbs.db -[Tt]humbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db -*.stackdump -[Dd]esktop.ini -$RECYCLE.BIN/ -*.cab -*.msi -*.msix -*.msm -*.msp -*.lnk -*.generated.props diff --git a/modules/constraint_ik/LICENSE b/modules/constraint_ik/LICENSE deleted file mode 100644 index 24a6b933f27a..000000000000 --- a/modules/constraint_ik/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -MIT License - -Copyright (c) 2014-2022 Eron Gjoni -Copyright (c) 2019-2022 K. S. Ernest (iFire) Lee -Copyright (c) 2021 Rafael Martinez Gordillo. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/modules/constraint_ik/SCsub b/modules/constraint_ik/SCsub deleted file mode 100644 index 715fb0101706..000000000000 --- a/modules/constraint_ik/SCsub +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env python - -Import("env") - -env_many_bone_ik = env.Clone() -env_many_bone_ik.Prepend(CPPPATH=["#modules/many_bone_ik"]) -env_many_bone_ik.Prepend(CPPPATH=["#modules/many_bone_ik/src/math"]) -env_many_bone_ik.Prepend(CPPPATH=["#modules/many_bone_ik/src"]) -env_many_bone_ik.add_source_files(env.modules_sources, "constraints/*.cpp") -env_many_bone_ik.add_source_files(env.modules_sources, "src/math/*.cpp") -env_many_bone_ik.add_source_files(env.modules_sources, "src/*.cpp") -env_many_bone_ik.add_source_files(env.modules_sources, "*.cpp") - -if env.editor_build: - env_many_bone_ik.add_source_files(env.modules_sources, "editor/*.cpp") diff --git a/modules/constraint_ik/config.py b/modules/constraint_ik/config.py deleted file mode 100644 index 488d7a0f9819..000000000000 --- a/modules/constraint_ik/config.py +++ /dev/null @@ -1,24 +0,0 @@ -def can_build(env, platform): - return not env["disable_3d"] - - -def configure(env): - pass - - -def get_doc_classes(): - return [ - "ConstraintIK3D", - "IKConstraintBone3D", - "IKConstraintEffector3D", - "IKBoneSegment3D", - "IKEffectorTemplate3D", - "IKKusudama3D", - "IKRay3D", - "IKConstraintNode3D", - "IKLimitCone3D", - ] - - -def get_doc_path(): - return "doc_classes" diff --git a/modules/constraint_ik/design_docs/Pictures/1000000000000139000000CB22CAE13E99E3E24B.png b/modules/constraint_ik/design_docs/Pictures/1000000000000139000000CB22CAE13E99E3E24B.png deleted file mode 100644 index 8db02055081d4d7a91d00a50581d1cff897b417b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10961 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 SI}Hx0VyWKKR4P+IKmR{U4P%7> diff --git a/modules/constraint_ik/design_docs/Pictures/1000000000000139000000CB360C51B9B2145043.png b/modules/constraint_ik/design_docs/Pictures/1000000000000139000000CB360C51B9B2145043.png deleted file mode 100644 index a565d772d2507f9529b092b087f6346788af3056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11379 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 S@@-fn#<{7XuU@8R6Z(G*5F(ub diff --git a/modules/constraint_ik/design_docs/Pictures/1000000000000139000000CBF393B4C3206D97F3.png b/modules/constraint_ik/design_docs/Pictures/1000000000000139000000CBF393B4C3206D97F3.png deleted file mode 100644 index 8be46c6e6ebc8dcdd2789c606667b2b22d08a6a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12583 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 diff --git a/modules/constraint_ik/design_docs/Pictures/100000000000016C000002AAA2059A0E43B2B468.png b/modules/constraint_ik/design_docs/Pictures/100000000000016C000002AAA2059A0E43B2B468.png deleted file mode 100644 index 9a8fa6af5bb33615b1b4884e723174fee8294c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42382 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 B)5ib+ diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002070000018E6996B4A5DF706332.png b/modules/constraint_ik/design_docs/Pictures/10000000000002070000018E6996B4A5DF706332.png deleted file mode 100644 index 40a36acf88a89c8a1e939454b442c3412793bf91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31975 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 Du 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 S!CwzTd-PCM_LGch$o~WQ_KG?H diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002070000018E9D87E7B297A94C9F.png b/modules/constraint_ik/design_docs/Pictures/10000000000002070000018E9D87E7B297A94C9F.png deleted file mode 100644 index d18d3a42cc545b12f8f8a55979088ee72425b98c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11486 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 X`WFa@Gu(U&Tg8vd_vT^LJs7#egGcl? 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 bIm0K6-~WALwO2fJ1ODl19X(V+wh#OtshAE0 diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002070000018ECB3181C74F9EDC35.png b/modules/constraint_ik/design_docs/Pictures/10000000000002070000018ECB3181C74F9EDC35.png deleted file mode 100644 index d30d4927b56c72a683c3f369593abb9f865a3f09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21594 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

)Ml| zt7@RHzqh{+7Vxnm;)VyaD9h$=(wHwI7C9CL4p*1tPLUabNke+E$-IJrIF)<`4<+7` zTzXQ{OyTDr0RaIE3tCHJ1;6YH#3IxxV)+r}GT-sr5BJbom%b=FQVMplH)A)q{CSO$ z*yx|3D-S|T+s#gKrq9Dm)rg`GXhqO;vP*oW39^^Az%qFr{fvPCuF!DuSC3 zJ|SUHK!D@nQo6vTR3&PW$j8^ZC|?ls$8PFk#5obB9Qb}Xfd?2|2sBmbrd3r{)zs9e zmTSuVEqO8PmzVLAof>B6Vw9%=1{z zrIS}a`Fjr=ABTE)-1z^-ZU=tG)cK`a$_h#`#9080O zhbL~@3IPFJ*yTadZK^wn7O|}NuJFfEG@q=fsHld<+}ZYIbybyAZH#Gi7P>@m@K~Rq z_uWk2sAw$TR~}{5vj;~u8_pkDSy>L7qhUm>8_e)Kk>UgeoIR*qc+o@ao#Mf&g^pJR z%&^|&M=1y0uM~1DiNantjwfpad3kv~Br;_%D3ZNFxBQUe=g;pqxbEs;b=+~W`|~b4 zU71XZ^!UKOzqGn@`)C>e{9FJL*JUr6M#M+&y+aCntDcUz`}?33r3MQbgMXpfWo&*P zWUAD_x>zF)C0L2;(R2#0&62Cv%v{A(Ygag3KVPrY<~h(>-3=udC3yCp{4}ArxAz?%?}j)t?O=b50j)jl^}%wxjkPs7 z8QI9oC@EXSA`vlsR}*n*>4A&=`H>z%iFlcZ7u^vA8~|5<_rvm~si*lgST8sm{TV{v z(G)5@erPd6np*zH0S#!T}Vy-BR(Pa9iX4IY=)JTFIZHM7x~(C~wYhX)2;RYOn4 z84~i9!QCf+$p0z(GNgEm#!FHp;_BOAtX=e}uluh|)lhP>jas7Nt5>gv5?M{sXD!)Z z6m=v>*>#TY@><7eQMg%X4xf`SeJua|TZxsme0ca1;p{NW=j^8>6;>MY)-JT(DABY3 zlH%=f=)y-SDYbU*RxK8jz*;75+@g+&j>_RZ|KRR{@^FFrqo|{Q0Vc`-SpZA~pblNv zzG1T)6shh*G}47mt8@A$QX=y~zu;H8cbVT}V_CIZz8WznMLt)8nRR(m2rDP_C8VJ8 z@BS`~jS<~Czd=C3;<8?7$juEnG{HZ85GP1789saoHCO-OI~)L_|G`wT>Of6|fr==> zTS92ng5DR=fX#pqsr>VgNF7~y+^WmLct()FY?dkxmHBbEwv7># zM0u^Z@*+C|q$i#P;qI5FrmY0(m4b2cWf#;HXNan@;nq*PLy44Y zY&$zUuwvJPuWl3E!=QG7M|a*9fny}IQ^t++-e2^A27~(y0aNJJKL)7AX*W_EA5DaS z9wKq+gKFDM+ttkHbf(H!rqx*GxUHC`5k!^ME=4jZK3t3f(JtlxZf&0-a*Ex09xX$} zqJ@fyIn^zZBt`&V;K#r*Q~m~)sdC?S?T3mIkJzT!BsN(yUYM@M0-)_Rh`)|I5prjs zXNf|Wc z5Xz8|xB+mEgUOI&ooHq<&&?w4JxfvN5g@iJ0-oAjbK%huXQYS`fpcrwN z{3aYp`au>E#^Crsz z2H+UB8+{%h(C}!XFX6q+=-`yI$lfHPDAD6Pk%TJXhyt*f&MCync{-fTskSU;;`_`A zAVI{0)b0zCx4%aRTJ7I=@Su7U3Mke)>eQGj*xFWDd;JP~2UfN*V{f|_BxZpxic=sb zQm>`c>VAHId--Ii!_R#g*!mMJsH2EUCWdol&qI9$DcLN46V2t{0#l}@rmo!&yl{WY zPY8yQpA?pRAnVwOO3%j`h6vCD!@`CD=C9oe?7MjdK7nmAJyvBl%&0KtO!ZtSkdCnRX7sjYY!>kq*z!DhyB3}=47bWk`K$x?xw60%Ia zws5ew2SJP5EQALctc4BLIYHJu$_3xN^s6cKM`TUN58C8KfFZv$JDW}5T0IkkE7HZ; zvrIXgJtZn|rObK-3qFqeP3NMZ5K~&Z4{E{Ryxj^2xV{W8aD@2tvB-rayF-1ADcMYa z(x00>m2t7LIc=Dc#0hXpofUWLY|V}F)S+akrg9=)a<^AkqU4Ou(G=u49F6 z^M?L#v7(rwL7aAezjM0@FRB?G8^cCLrDtGJoPxWR1}9AU3Vm&k&F;iei4SKyv|~Kx zpAyYkGN%df&HNqu3p}u75h+Sk?wsr3B@JanE@XIRd8#+~=%By>>%~pkW!u#O?1_)` zN;~&+HlAwHWCVCCwBKl_lXaw7f~da>Khxc* zVTNTt9QRYOv$GrKy)7vW0SpQ)!^~wuN7kzx=syt=6bQFa=Fa9O5jlCJLzpKps}lo5 zHVm><_igBNP@YzkztDocs)spnKlvyM&1~~Y7yrZ4tp<1ckn)xdM~#SL`3-OtGa zc90=_crOI@P6uClf(io#n_Owh-%20E$FG$6ing( z6U8AIP8+;3rGN-B=h(s^S{^2%BQ0fBT*BtTubdBFUS31O`u?`yIb8^bY^RPaC|jtI zkC64o)RYu=Q23uj%}}PnDZ!55UiP&#U;c&8iTF~%K-`Gm=C@tx2nayz&gC$k%79Z6 z^)MFLsx;o03?+bH6xF?rTr@H=0$3F6n2CvLt<$ahIZ-w`Dcb8+>+ma2NGLHX^flXd zaWeQ64GqoZ!D0@tFgtM$F#qtsM!PFy_syS6P`9ukUz#qN85vXA4f-O<_-EW{k0z`O zAgtZmsgv3u!2Nz&4gmXugM%%ttvTPnn-9GurTYq2oTVFW@NxIT8=n!<@Ur3a=aIykBz|YCZ9;cD-Dxa==-#HOm$f}(?q4=B)6_xZI z?oySJj35n5el{=*7;Q8u@y4`Hy~3!7FCnC#nu?Q?^PQvpQ5OMNR#!=UYz$qFX(8$h zL`0#TrTZV5-V+S><1;H@U&z?-cF21(f!s9;W81G*HV)csmWBQ*k|Gz+9SEW`77ZSPsi;WZtdR>o8`k)T8E< zP7ilf&t~1q&eNC3rZR9vS$~$(DACQ`FHIt>|ppf9OGi zT5|PeWJM4Y@!>S{aZlJb$zDhw&I=EO-PE_&r|&ZazKltUi7R*Dw9r-b^;*Ni?n^cz zOzJMumS#71+gb@D$Q#WshM9$#7VGWAC1xImewiFBKI~ps$KBm|28xM3%yyz+WTSh2 zt#TGxYH_;tIUfOavzyK&oG$|m72E9m@x8m0y!*S%Gjq?K{YN=>ZlUeaW;#X zCI*W)4G-nT)X5!uxNWNdtg3K^Y3)VaS=IC*$kU!N=w8jic6_btaUdW5wN= zh<*RXFMjhiq*FAyCmj#VpRWFH24Xl{t5J~GJ>Df3%=_HO16n9OJ%W`gg@~=dZ==NZ z_lfX1B5=jKGP9!$2KaPtU-y0~>_SB;s@62;hB;QdniPFTaw|r(s_LE1z4885^+)H@ zVCQ{~hiaIE80|xY>FVf6Ds>cjtNZ$(KMJ-X$ICI*#~_BIf@zC`o!dU#J1UZ??>}!J zeup&+efWA7O@3~>Fg@%Y5__J=^H)#B_`bB4VqU}9$$o2Ny2PcqPIR#;9OK4vIyZWK znfYe_kB)r003f190CNZmfkv&e>w)*)G6j%pb`IabggV&`X05^7DrC4g)UE3LU7xb< z1FTdn%XWvF6hi|cHL5EKD%9vCCv(GJ3g*kRt?HM~RyQuYe0=n#H@VWnOzJIw4+1>q z0w6K3PdC?=Rf8E`WNmyCHnOmJT*}1CSHc}nzC=9JDGW(J&PoLpDh~!J6D%5wr$jG_2iU(qeSheqV%iAR-C6`(~{!m^{Wuvbp znj)yZ1yG|b!^%x(8qOCNUf+UiH7Kxgw%lsLG^4fG)uMXrwI7RE&PBeYcE02R6|6b0 zXL6~m)Pl3U&dS|+mzWfv%WNXIH;m{B!vaFFva%8cT<#@RR%Ygrv9UiDaUujL1_4BRXyf!gqzS@(#~$8n@@$Q+9vKmGyB5gkcg&ujl(XDLchL(`Xd(RzbrKL5)1|8BWcG^qVAKFsfo2%~L( zUPeKyM7-0FVGAyT`-{1!q^$U^%UzqQ<^HEahAhr@w2JzQsy`>O+M_6`GQu33v-~!Z zK_>3!#?Zi>PYu<Ab;uWY(EXMYl>9*2&=cbWu8V!R@mB1`v)KZ1&F40PlLM^0=1s!%q{aJHITs3$>jXYRn9@b@)jX zI-%G!h@%8!`L;lcVzIWZjsL4!j?8&Volw0vE&yR952i2LGp5l}Um~6E$6zWJ(r(ok z{OP?N0(?4JMZsuQ?{6vjeku7M;GY#s9X#Pi{li-c4>v!C@yNK(2z^@Z*$(eTKH%ue z6dHx4ud7C=@bT_!8)ka$BIB)tau-oqE+S;&3C!rq)EWh*uYY4Jin-o$F0E43VN){A zLVpHZAFaqliu&D1pG7@}R`GrAn~foO*V3$;;E^E6`Y=`_WnQqnq1P?z5g|x27>bFB z%@A03GxNXY!=r3p`DUYctr~D|eIfX|%Zf9f?S{fPZh;+jTv4)j1?C2-kt9aji{NXjm$4>f0TrTxUEK8u$X6Q zXWMJ`ZXuyeJ?~#HsW>x4;;DHKa21{?=dkhKid5=u*6WbuYKss&^Gn~7#=yX^sIi$T zVBJek{rm=JYe*bon4mjRqSzLRv%URd_0@fCp%q=_(cb7jcSex=4B!$G3=?Ftq4Xb> zOWNt9XHF~1I*k|*rHb2gXFp#viUkBaw)wx$iZEKp3qvj;h9V(!(Ycr_7qL;A29)NI z#1q5XJgG%A2xtd07{0M}&3W27By#b2zYG3o2V;O{_pi6vH?}l+pa=d1IrU2A&k8F6 zL_%5bd$6jkYL7lZY#~D!+org$WCG#P0+UEdiln-1 zSnAS8kZ#*_KFNIn$Q%!2T5Y0Hrrem^svr*SY@Gn!o}sFf`Fc}5$ETc_IY#5=qXZH5 z9^KAbFar(&mh+3)q_eg5Lku_NKPyZG5ae>O1gP5=>O8^feVSG>%fB`pCqwU)KB6hX z&;=hZ_J4U$wy{9p#I@|mh$--tU@Dgpzju}Tpq7elvHB2NsWY0bnEFJ(95!^4?TT!j*EiP*&Esyc5B&wN^;~L!590U<`LG8=*>vPW%m}nmKq^MkPw<_B> z>daAz#Y$<`7tWz`C;GT3V%t!RHHid2#@@UsQb!uxKTP!yHVE^k9PK#06v3Wv@!LgG_=ejci~;X++PztZ|0M? zzkZx){>wsN>;Gzs;c-U(mFCn{dD+Riu0`M8gL*=|$kVK`DpkBx!Ygg>+uyTGu;wD< zr!^B^<{ekjdb@~jiVYM;#uvX#+ z>6zBOkXBc*tQL2Bo1DI4$@wpq_ajKV#-FlxGj;gVlA0LQf{*`SEr1h@VXH5Ky44gP znOY%7!GP{0x1&>b5!F^68@TjTJC%g1RC}z3GZzu*VpT{)Jb=V~1;31|i!#4V>iK!; z1wVY2&(f?EVa>o<$zb?Rk2Y!9yI9i0JDNGUDnONup#%${e=&>+ zQ6OmwNb4j+ATAZVo>fY`trMT$+uPF^!~aGCUUFolkR>A%6Ch%ydwMVz*;O2T{@Y^fvTT7Hg>j{f|a#nscC-Yij9ONv?G~iA7k{( zIYMR;ShUGpD1T^RjE8f(2X4g`Fx1}8oFT{F`Sx$$aGQ{s7#UA7_6juzL|8}hbYpPi zQZ@c5=b&P5LuFP!L@?=>>-;!gV84Pwk^F;wQ4v6^&*OAM)?Ieh)5+hz={Y@Xt>rBA zqu6@hL0rORJSs{vx7YFA%T~I`&JX?!F9Z-JUVv_D6zRKfU{B@TP0E;Oe+A&{wqPfD z>pNq_`wq2-49_DD7uZ=@qn17g1^miFe=Px{Br)~;sJtBy`dy{+l$%4Oq`yPq7?nh) zlygc!veRGv9@A~=De0eu3spf@req)`<=R*ua>PjO`>#-)EV9jF4@QeFM}O4jwlC7( zVKCW^H1;bU@>yAFyeXIYkD&;E-r&C9R5)Y(^J^t3i-WDKCPcZ2S%ISXQN(YeMLJ>_ z;kB{Che$T(G8}d`CD>Os+oi7+{yr^#Iy^zht|=um9aDx#42U$ce-te6rhe5WPW*&I zM{gd|`O|~}4WEY1{sv1j?d_NP?1smz)rPp9DY5cWo%PzJXiQ~ZT&#xK+tg%aw+7Je z{uVbGBFzsng54tJXIi3VB6t^%hvr$+2 zC*oY@2=(cik_M78nmT#DrRbuhZxn({HlGUnWkl)Ct3WjbnRi{-e!r zg`N(L?e()qA#V+*|84uBUPj&X?_P9VoP^j0o<4#SELx-^+y#~COWj0QK0BQSMVjJ! zUo>Uc+bc87a%vDHT^eR?QZW4HYP~_l#y`-1iw#9u`T^GoC-h+GTZHa+pY~cLhpoly zPH8IGypb%lgrIannG$Tz2yAEqBul%Y@cZmum3i2TrE;SX(7uGJ}==vyB zrI_~G0{HlQgt`LSEGYe)OV6ROgFI4^yMzKk+#z!@ac)$jS(GFp@59|^r|+w%-t{lv zbud7D9^AUS2J_8db(&Z|hbm7_9jf|J>y;OKnQ%^O%aZ)a&8=Wq$JAwNV|)R}m!B*4 zBvRozBPy13U5?OHJSyYeLCU&OIOoOX;jTUACPH*M830lFn}@(QhVqJZR^x`Tp57|x z0qm2KE;G|!^*o16?Y5-|J}yWVTyUBXvM{EV@P!0UN@9VkZhg+IBU~7YWZa;y)QSVz znn0yvwK1JWU5jI_M3p6pJcwPW(@zE9jA9YHYT%tkHSnKta305grHUl`cRib3di$U3p%L-q^mJ%& z(0J^N?(SCKK`83(GA=X^vmz05LtRz%WU=g@ zBO?)EVIFr^$FX$sbyoAve|theucK76{$On&HlBC7T!(^yARcs32nh*ENNzVqQe_g$ z5wR)!cLtpy-01!(PE6p9&udxoCnsMxI!MdP_L}AXUza3M4g%;3(9rX^*n8)Bb(ANQ z*yOy=2fjNxvc2A{z zVjcX=OicV>l5%3kQ~=5RZe^;oZtrGpz5|-i39LG8#v>^}XQZaC?zB6-4;o2;{MBst zz6ZahqM`zg*i7)1octzn=uJvmV&dgWr$10LfT%JCI!-GlqLHJrE#X36kD^bie^&k4 zwbz6CJcW6_-oBRNK+}sJwBMY;`hP2%_@4wb2C!ogT|i?I2m~5k4l@c1%>bc_hleLF zCgu#(3#qB8X=x>!cnw)ux(&5%ZrOz`oqeGLc&Q-V4BDW@FpvvJ97SW*<0F3!Or0(@ z>Qoo43xOh4{p%Ln#YcY+R1@0TOIOGL?(gp>CnsB5TidTUQvd$_TT{d3&+oWDSG&BB z7vC!~#Uqc-qPd_%K)e1xPW7*ha6{pTJc&T(TV23WB8a~33Iv=JXq@5`5WE9AH4Tl8 z_4WI^(=pXDtyfm+gH9GI#qJ3TvWt2$+iMl+Mc=FcOf9Jz{xz{6BO?0HlicA=4b(|d z*`k83$A5dlo6HpSm@ZN-?&#^B%7dA^%d)Mna{*&Ux~`=h|k{@xb-4U$BAmN3m3wTcI`y-syc`FBtF#Dwm@A zPSIhXhODR&vui`ss?2CKVFn>P&ae8_&MACspn4(bp3eK_ej~3~0dY4;GtUrizq- zVj@$(jbpbbYoQW@h{e)na!aMUt}Dw@-jZhho8EKsiB4QtX5&h|)%+lJ7$z~G{Y?V~ zIT|#{+Qt=YJYj zRT}hT5p&VMdbJ8zIIZ&wp!-PuV&=i5?7&_y@r`6X35Rvg^_E$)j){*irC8bmryVfs zopOV@$H&Lj#v|Vb44V&>-|6=4aJK`GTqQ?{*u+wT zNhVnm?|}DKuG4NkTeV)l>^(HF`+my*7i-5dlsL;=8w=mazxhZ{Qz!Wo;q&J)(a})B zt(lzv!jIarQEw=Lv9U1_(rnI*7@ot9D-#NeMuQe@j=Bb&5kN;`y6nsD)>cw-a-k54 ztr8yK)n)1Ja%Ju8Do@haK+=bhh$-~(D8 zziXFfq5pnaWe|{*lmvvHXM3}!V8weCNh*v_!aSI-<_HclZBGsWY(`bXY456m{3S3j zux1165ZRyMh-&R$Uqp3%{pQi>`&vo6hlR$q1@j=D@iNRoM0#fC`-A2~z|(3@o0o9g zU{3t6E9joW#mWj8MYrtiY@h&L8DKV2HWa=%R?!KQ=KtuixOUs;=CY*xlk z7T(a)zuZRoO_5uytx04p4sI(cu>^V^;1JzYzlm3WH{d;8$+I6f zv_3mK3utHUdTX-sCFN;0DfGZD8N)%x*6Gcw-x&0CAKnt=*+;a1s!3J#56}!@Is|Qw zfLJI82MiMjhYiS>wqQjfLf&_8zt+~LD2HIu4e`DIq4HQIs*D9FOVG|S05VTkEoIE_ zC*sgRd;Gn5*Q1qA&=w_P*62xI{%Amj4Du$L(RHb@sXwhBJ7~<+ZpcHS<9&u{&-x+DusO5dI&xStXYGnD>KB?($apjpejtLwc7ZuX=UWZs_Yay ze_Ob=0^%7^AqQcR-Q1j8F#NO4VO4@{y=A};1u`QcpW6>L*%HL6T3UO?`aL^0W!1+E zguWoE*=RXA30Qpw!e>)p<~foPU9$WIesu#me=b0XI6pb*YS(e}_Xa&)N)n88490nW z71ngpCF-iUorKrQ?f{c{0zEj09#2Jgy!hQUD(Dza1F78V>T12s@`i)6V)zJ1!m2#A zMjm!Q^o4_svO+BcZ#^a1H3yqb3=Kb}^KmmXTLFu?^ArF|%Zz7;RzN`p6nehCa7;#` zGz{H-{!zRp_mDXyB>-(S^4#subFi=}3+120=b*T^2R6HtYIj1f1Z$|+*xb}<_ZFn0 zg0vHgvGZieMdHga@HROpqcPmRXID1g1D0|Fl0~D#rd%=y4L^T#A5Yo>nldG02`E+J z;o+$z!zqWD2sJ(fs~&EE=N;s8Vr3wL9$4KXT^O>6PfkoohQF`_=OL5Ga=hk;s|0Iw zoN!+QS~$?Yv0Q3-S*&h4Ql=3M)CO2p>xZQqJ7Qge?DUtWLn?hb`@^H7&JGT{i_N?g z0q{l8(zF+*!61?W8Fz(V_cJcxKlzxLnD>?JA6}frHUo7Y5XH>{w+Ao+AgnXa zLQ!KF!wWBap_(I}ILM%w{gudF8wIjJwWvSx{z4-s z14C%>kexVz`51y=4UjyM@mi;m)BYX9FLS>74m~|pT_@6RsI)tubMiNIl9Ku=_1gX6 z&P_!nLG+ofwPFFp!IGQo9Y6nkcQ^H`SE7?xrm7?`z%>#53z~Y&3m5zdSs3>R(gfFA z=Tc^(7Xle6DJcmFv_N(-T5@l)@}kE7AUhk~5pT-A1y~ix%AZ&gEoQMtrk=kA2*add zYER+R1&IYsTv9T>Nnm`a61-WEo&tk|LH4>h{@3rG96KwWg+6?uEbI7>s z5)>(O3kBKugQO%#3n|zJtVj?+p@*v%hs)+FbZ8lJF*fbe6*r2wfrxq)7N({JYD{2g zVgtMZHFr$7q7Gf}f|pGV4Kwre9-V$j=5s62qljsxOjExlGAKgN90j)5O9DEym0xf^ z$fQsDZ%4Yhxqrn%_WG+x_sj1pQ#Odu@D@w3@iv254>ilZKVJK!k}4i2+bSL{lnM$lyb3YWtrl~Rr4 zRT}Ay7ez0xfl>v*wZ+$YJygf-HaGEf`5SbS*>oDsKV=KgwV}asLJCOenuuH*c3vfVc8t$f^3v<^(jM0 zloR5Boo8;3fwt*1R;roLcGhGk+JO?gi*=WWGezL$r2q)$;GEvRof#O|2C6EcgnhkZ zq6B14(*8ciFNMADz_3W!pEuXM$*qm*@pJw2Q86}|+@WVBdhd_L53mq=@?p3NLw%#* zIIMnEF<*DF=}mC4b2Xs^9a)};L(CFqqzeaxIe!U4Vu zko%U+$A^*Eu>&c|#HT9A4E$v+F;F-8>x=w+o_$&3tFM8R`Ldt2|A7}-rddxu&^7+6 zoj-W8F)K@iC2=fMxE*MJ0U8ELB30PO8#Lxc@gYT7KRz`(Zhuo_l9QJHHRru^DxyBU3}K?TNfWGyB6OLDkC*L-g(n1sx@x`1yHoECBaE z{ttvD$Hc^(T;~D9&dtx?0XjiHp|_0qp`czQ=Xd@@5qs1ofRcbD5me>|e$SL(XrTH?P3JE@=rut`y>i^LjqA7Je)O8!+TUM4u|ZxZ z$wcjUVkx6^#tOwmZTo~6bgeHv|KgJWY)CZnXJq@|?=P)>gYi3@lY znws-(KIixJ_m`_zZveq6I7KjU0lL(o^*(%*PmNgFW|pxG!RpFNX?dU$Ceg5v7s-aI zC8xyw5pA=&^Rj8oCmHhivX2lb>5Z#!+0g-V`t;z_zz~>3q7!{#&P{*`KmmoYwfU7w7OwyS6Gp(X%8uvxa!yYij@H)JjKzeCx|Wx*8A=Tl z)Un#@VqH^-YuWJbz=RdC5Sh=>iYPXA6p%xXwI^B9TP5)sun0ROX_tqEg`J+9R8?0S z7#M&hr+xcYWwYD{>OCMDw*f^h3Kl6C3HSxDr8|&#foTE&XNBEPUJDCT6p7g27e(@b zwF0Q4vKTfti~~lVL^35?nx{%OjwdsW`yOy(T*3&YrKL4qB@P&}vp=>l5dtxeQ0*#^ zs%j*M_SFC_$#`UqzDS^0rTG+tY+JSJStlV91mM8T!;W&zks@;8FDtsMR&y1#$-2O3 z!PlJF$j_f33^aINS5^H3$*$WfT__87^tE0akCF(mz zZ+*Vqe2uwN&tmq;Ii9smu|~hX?@Ud##7x)h8y=oIS~=o$R&EM_XO!fDZcLTK@TbHnqkPrw(yu67q zzt~M>5rH+VF>tJ3BqHRwJPLSg?AzriBv9!%z>4G7LFs8hm3!U>2#yemZ%Ii7MVpmh zV*$7^HeOd-{;h}?ho^2pf=Fpp{ z$?y`|<=6eGI@$JMw79`(GS=>XuCd$rt5XCp7-#;h^z=#W29na!X!qg<5>tq@a%oo) zg8iUOvLg!{h#0;f{*;=G2F7x7iK8Mv01gMRu#Z>&u*q(7NHCtb11t?7%#VI0{#Ao0 z(HL8rY_!_#RJg&TSiLdweeNc|a86xu@)x?vpa)z9Ri8(24nb6S&!1NU*>w6BNOedn7d%{T3#r~lz3)q>`94ifj)sOt zyplb)2AE6z%C~?&*b&(pLk6`XUk;Z+U%1)i+w*Qp#|b_A5+L6>Ut1{MAf^!hvTnI= zHIW5u_}BOMd@ULI4mf~xJ2^RVJcx{Bq5|S#W;I~i06%*l|3$K*)~Ad>3n%6_4`Tj7 zE>hGM+55^RSbq4^U5}VcVK*Qvxs1i-y8+(?AcuLgJ+h#K0sj5d3G{h@VyCksVniJ-fCP9PuNn}2ni?8^ z8F>V`YDx173Z%|DZ_^qJq4&p=F#XTM4x*oBq#Ye=5-hhYwY9X;;^NMZR>k>Hdezqc zcYSOyHU&9|9~qTwp$UlAOD(g*pMJvs@9>^l*`G+9al>vdAL9aSzJn@0)AJ-G;aJom z;ptkO3ZNWCL_wKk!wDJ>=?KCkY0^xo{6bJ9?9I0{SCZaQketlM#Po@d?aXCxXz2ED z80(o^VyZUwQpj&}v9j)Z_M#OfJiCW6Rgz)QM{s78XDN|8}&WQAAg=e@Gu+byK>*z>Awd_jNv* z$B`%*RH3wE)lGoP3!`3hAFEMOOhX65wgcC0BkM>Lgs1wmzfZTtv=^TW+HxYiL z_^4Wq_PrxoNi0`N!;H&HkVFN?5n zCI_}4=F!FoN%AMj`^}{@LzetsK|pFtqH$O!D=n>Fq1)MfdnCP#NUW|&;b<@dQg(G@ zU@%vgxckhaUbMvctk$?1m5|p>OcN>p*`|L|dK zZ_o0T2QXjHDN~uxB;XLzd%k;n-Bvj=Pk;eT=~&ud&n3e}2?0$Kd3*)5Y@pY?X5Scj z|0@Cu^3;Ur3(_0`GMV-EWX>M3Eov@nD%_`eMyzMZB>%>QA3g7`Dm(N0dxpV?#n#Vr z5MKdX&F3u1n}W)u(wCi zHGbMXQ5itnFc>UIqe+n{?A_cCfMo)J3AWs9zh#W6@AxTe3OHGFh>rZ^s}G=jOJGv} zF8;ysRWi6Xaf?*Iwc_&+xu!D-3Jo+hsn@rQdm&y2TZb4QY<$ezK6^X8gM&khe)_ur znWptAuy+%{-%GioBo3VbiZ`jN;mytb>O7sq z=)m>oI>SOj>>M4}`Vd~vxyfl;WQ$ac#m8xmJZZe%sylI5%_uPKO%)T#PyhTjv|ew$ z*d;Bx^yYicdnnR=$39?G0K%C&7qvh}1rRrs_&43!iNdvV&RD60keC5o_BPNhkNQro zVZ9_KzB&J+6Kg@iH2I&o8ySJwl)p;`ujgJ-<~X^!HekTFPiZ|&obV9MW6@&r$w=(a z*UCssze4!-P}1Of{5>%-@nNI;(-nJh^Y>L-;lt%0%kP=F;t0pw4k^m53h6${YPkV}xjj;bv*j`XVv>+3IjB#n`k zkk*xR1j~HdGp5z4>@DVAv#>-;M@dt7to@83;kACf_;Kb3JUDLT=m)DRP_~4Jhx-Vx zwj)2`m~djA1(PgLI+YWT)F#$&nytLyO6Rsv0jzMRZ8ZBaIE05@BAsYGjFK!6w6fl` z`T0S>Buar_eoK<&C16#ngD^2q-ix|T(GM?X2mhQ=WpXq(^jaSzp!G5unXzvaprJv+ zwyLJpEy4_BC@?-fhyg$n;QzK}?96B4luS$|AwS_{@)&^N$G-01=;F_05H>|dYO2Kx zM2XRz{r!>POU|!`@=qhtvStq#^EP0N`cDn_9J{nG0A)ArQzcqEWl@dNbex}29DV`3 zo#Yr3Z}12jISsWPgFjm>xRh4EkTVE@;S2!(0sJm{8@cFCGhSshWH)^S(5k1ITWnZq zW|kgGe`QC__3v=&tFSw}1)!Tv*XKBR;x?#V$y01?Il@Px)e;{uAJ;)Ltl3D-QF9 zMnw^&zS!MVamWpJOiUFA&<4~K^V6k(tQ>6d*~`!aPysXv_3N=)>dA|;6wm=6VBq3X z%E>qFVS|CeneA1T>XV{huQjDLW07T%XaO|e+}t&rL+0e>CTQ0xX6Blh6DQyb{Rx6w zESSYH50!j|m&B&$SO2Cu>glwdo)cfoNU)5KHe}|yNr8ZIu(MO-=27!H8cds9WPwqA z6eOgnB`oGMv5v(>ueA8Djf_%&G0@>xtK&2q*D~d>n&T4iEmu|w3k?OMcoCYc8lu#t z?BL?B67S#Ff=c4T*|byOX|}e>Y4^a~xIchF!d>dJdDh3!dQP3GqQ0u<+-~u&8z2O) zu3Q&yz7wH6rSuQ0pdbXDP?P=raX&W*Aa0(gvYp&ofM;WnG4UmFnZDt`#KIaK7|>fH zu^we}J6WUfzJjH;9d|Ppi0#{D02wlv4m7t3CLG3_X>ux#9gn+UMMqi8yJre$qr%gS zIReD)@NMV%OCaJQAtdZG!freuQOZt01uqQ)Bdn*VM`LcaLK`)l^j%e{9RjiPs|oR@ z?2w44j-T_N#)0hu(6G~s%_6U;rq*CN%faID(`gy3TtY1y3NBtbP-jj$b7}x-ifhRn z>oOWy9Tgz$8cyy95J#RHX>=7p=_ROsfvj%!64QSx6C60bBbB+F2O}QWYvc`fTyHzml<$0Xo;4MaAj4EB126& zjR6Br|5etkp%6$X-%fm7vzmjNFWCN9Ke@AKeuzyI^xzQ?Nc({0Fr-`{#(eAv^!=d! z$sA#;#)=4<;D;h^rD0wN6Cn5T$0A3Nk%9W~T>tGM?JRH_fYMzzc~nV*7=GgpfC3-T z5XA|SZ%c?EU^1FHV&`+?l)$3g#B>A9;ocqK4H|F5q{b{k_p_}I7{YKwRLn~-?NNYK z9vJxkPzkbAJ};zm%?QR{$|RK#!6Bfs+y)|R1Lnl{b#+rSSLD|0?EIdNJTR-F~7EF zJpzX~UqeDVQ@$PI=#8O(4XRz=-hyIY>uG}+u#%Dz;C$xx#cqD3x&G1!yY7d~S`9em zKelP!a?789KJ)(*NCCJ0B}6nIZteCY~#j_RUXCxf(bws)CI@M$w?-YscV5_dLgiE*)p33 z>fT?QVfXh}1c&$Q4j(?eprAl6Mqv_l1afk6_U+rJt_6;fN&u>$E;4xLS{)rd9{cE{ zk6IXgP~%O7J+AiM%?0gE8r1vmf1;zK^=K5PQb(Y;xOn8qk?LCD7^wuH3hE-0nVE^l zSJVO0*Dh;)vLFqsZEvd3L~sUZH((T{J;P1*s()jwqPDD2<+Us jv#6*@iww>qBMv|Nl3%l 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 diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002070000018EEE6FC1E017012EDA.png b/modules/constraint_ik/design_docs/Pictures/10000000000002070000018EEE6FC1E017012EDA.png deleted file mode 100644 index 66ab6e24eb43a49b67ccb89106bceec9cda09d11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24317 zcmXtg2RPO5`#;CQu@6}pIfoOHz4th_WF8|UBP)cA$Q}nFd+$-QR|v^YlAUB^%a)lH z>HqkAfB&oN>gv*YpZEKHKlgLrulx0SJ)(59RLO`Lh;eXm$kf%8^l)$>gg7|3aWDw@ z$;%Y6B^(?Cj=GWp#s_yNfXGjc40ogMXjYZVTO3L@}8@@-I;@>qWEM1I%gsM@(;r#N!*bMB?`F}#Q9hsV< zZ)Z{7=Lcuf^ErNL3(xmt_WVZ9b8koQ{Mt)1b?M@FE>%kjS=s0Fgk36@eS~+zXKEd3 z)ZuM1w9O+<(5&q2bUusu+1WuS>Vm^U1w{Fz^TP9W<}wTynp5Ew5ia4qsQxW1yJ}JukMb-^-rL*T!^7kGa|yW$ibiq~NLvLuAV4N=g&s|zQQSGVq+ogO zHF;A?N`W5z_oQCn-|p`2w{PE~qlrZsC`9WaA@c?ysQ&dlKP?nhzrc~*1ug!#74PqKts#-Q1d*eL$_i{QPvseUovL%=1nL+|Jz^KiPD*w znY1+81Z-{S@MO2Y0e%w7^}~S*X<_T_q}r#f)F85zJD)e>lLWFT1{H8SUuPmpK1xfkk@6%85$z?&r}X?}KIKH#Z4R+-Pv+ zFom_XI>mZcu(nd2P9y&e%Co*-O^V(j6|tlD+PG;4{v2;>=Sr^LCZB~sH zTi?p)Bgi^y`8`;v)8kh1hcofI<@bJ!?9akNM>jnQDQ;n(my!nQF$s;x8B8@leWl6X z1OLM%N}C}$2y_1Gpl4W#W3^~Z@*Be(ig^3>Eio~%v~sYUJVFU}Rzi$YkE0iWAcZNv zOGHjK%HJ6!ZhX%#$AU#F#fIokziVuKGF97UBPj5Ni$8(_c2-5~+VS_DF?X8v6v4iP zDw=+NYrM~azjI5}MQk`aIyxzdie7yAMBmQ&*QH_j%#2B+Ni0%WpO@kYPE4(ecbfVcs;e-mbo6NKg2i1^Ws+ioqlE; zHHR&F*#}bPYE6Pfo1Y){*Y84Cv%+6+?aZ~NA4>4)lr3J!u)P zd+eyE_q9KnL&A`+l)M!VQ=(BzVv>5s9WnZ=c31*E7f#9)uV3NqJVz`;@T^gc@4HFW z_v-3u@D6-W7ikf20w@F%Uej@9!cBV*t`YGhk(GmVuVR93IG@l8rYJ?^MF~~dnQig- zclEcB7j{Sp^;Jg58`MrahY?bIg8LHq4=3t_dj#$N*|uUTn{3KCr+lfhQf=PKO-pig zAD=`bUOxCblVkYWUsxHlBy!3WHP9zo1*}nL#jONoic`KPsdOpr?d>HbXR`F7>Ga`6 z!kf9k8))*TKY|57W!GP9Efd79yKBk|zlw*m~<<5oQpRxlafl?YxYb85^r}U;Xm+tKM2RF|9iVZuXF!FhfjC%)NW}7#SFnl9QXB{4g{yNKHtn zbzNxx^y!nO!P0VX3~@L_af1h>qA&aoUZ0qQu+S}E7!#?cOFuI+b8c>~+bnx>KBc`g z8?4)spFZ}}BT#i@e1CsQy?fWFdbZ(lvSGzsd%y+AlA4EYGoz!HqS?$9OqE;-sPlEX ze>aiBr2fOCI$#wostx(hHrU_@8W`3`+p!mV`bTd=s9j{TfnMB}abH9y-rlzKb zh9E<%fq{X_D*>O14c&0Qj!UW@{@W1&BlIRVp?hL)MQ5cfaX=+qKs)qz+0~1PiLuD~ zH%|^r@$@RN=O_guVA(^4CMNF#E>6HIn72OrHC}hA&XFK#FuD=E| zg+R79{3eoKQjZ5qAYnhugdL4_qozpqy*Kb}E8TvCz-s^ZNhHUIw{Hc7gl_l}Eh%K* zD+aMYS|6z~u3O$1do?sP^yJBtrROmY`r!+K7x!5cU%;ay+Zr=bq(_)?FQ>`SbqQ7* z1^CC^xmHF-#-8yEHa%6&lxNWQt*zPF*~!Vt-aAu;>rjGBg~xTFO1%t%&`&&iKqIxz!Z$H$YCk~G=%L7-pD zvTtC*fBv)~?fFT6BBQBmo54R@HrDX2!L5=;phXg@@N<3L+tV``#eXg!&?Q>5?z%VM zHjvIImZ@1>T-@Ln|F?=g_qt9TPg=wye@COOPM>$<-+-TKy*lsNUs|->Z+Z@8>Zq-C z`}^mZJ^9We69UNs=j7(rR8uRhso}eOcY9;QQZ4ndVfds)5Hr$K<}Bytccagp2L=p7 z`ETyy5h~I%Jbdurfsv7sntc?ukXA=&1McwT$y}q;B&ZNvckgCrWuc99EG5P(iBnTk zsiL5Y4mZzoGC4?H%P_7Z`4ru7WBmhxiKrVKR5xyr5roAbAQ@`l4vvmoyu9shOX!CW zZ#`;F627iS+A_z~5u@f*L^o8lIte(SZw72k1qFR3$a@}4ujR?Dk>X?PcXiUdp$#Tg zS|u^@@p8`(U!P`BcHHaWvaz#^R${#q5kM$wzve|J=;j}a)-}e~9bOiWDNxpQZIB){ZY&7*r>=ptegT5fsRaSuOx0%B@0 zy0eL42rKYNo_@oz7#|3gMBuRX%tAj1CxLLROJ0;;R43rfV}$B$p9G5gewUQ{KN zqK%Bw^#EG?!z%hcH3@+wg85hK$sB#t=Qo=0JKA5Z9&;ER7znEu4d{wKdI}3|_CI$I z2nf*7AokP#Ngj2*DV)A@V@H`mD!z6KNh;nHoGuC{kyy}CG*Spf1pYmq6p|`u%2Q96d71=LDIQkC4gPm9?5wPX0 zi3-2d-CtWTyHQ{IyU=S&r8rw z_qM5Vk6rz*nZ~<>&{Q4@?v!U+$A894v_Y|MtFISIS;g}0!OPLs)~x7Kib@Z=TCk6N zKBx#;?_0X@pUtm1i<7?fEeVWE&x>#`E$i|1py3r(_Nup?cb2v|C zpp6W!SV8QuKHLjuz?ZeR^9IRt`Jm;p(a2)epohHREmQ$xWMpq==We+p9=xSUMT{HM z3z|-HVq(`slzpK=I4Ce6ZUSiaS{|yEaH~qC!mV%k>|E~N9c5T=CEny|h zxUa@CGBaDA{CKy!>k=2sAYn~oa$T-x8XnW5wL?ZS56WwGU$s2sk})#bIt%P2zExa?FzwauN zwSDm$moV(cosHu^4Gj&|)w~H%4x6(hAr20EPzR)^Px*gd7mZ+CJbvsvLB0^9=YdSB z7#oTZk}Cv=THxhDAD9`2{V2`yAB$hZiJL-p zmazND{lX-diQiKl+L+1_3To{C3xROVdmzN(Nx{K=#k$AZur}f)> z-Sli}X#wrUtm+ltF>yYZ|HZE+SRoSRM1}9Yk^WWht0js{%80eKwdUq#0DmnQC_Vys zU{WQDL@rI$Ju)lDSb7oVgG9cQ+^+3P->OT^)Cpht~97x96@LOFSPzi%JY@tVP8#mIlc4GnxYi_`hByXhL4q8P}DkHVr~>>5F$!|In* zCZD-B%+klG8=!I#gmv9xYVK8s9v&TmZnWssdF9qqP7HF3KH?7lj$cO6m-1b7l1Wvf zMvPYeyACn4_szb?TL2A#$;t8)W%{iOKCilIXZw-7Cr(ayVo7XfR@cK(-^-g}$lvAY zrPUQ`7Xf(4sX=)=0~v={&(wRbZ2%`Atq;TxA==ddu)XuzHk`tp+kI8+S*V{p2Htce8MK~haz5p?N)C;63P}bF(SafQe)Qgb#~T&^J{Tu(h<@C ziYctBx(^0d{vE0RZb>D=kgE3kXufUd$t?is)Ya9^WYl8XMsAa)>2K?P85ro%q4kS- z5e(M!`J}lw06u(YIS)#~@N)Isxl)ha$EcQM#N`%FASRRwglk58Et9ju%y`Iw+j>0fjzm3i)D2*mN-NUmu#d7`2c z(Q6%Yvs5!s6Zy8Ps0dv${O|Mm%45|p8D8N}0)uOE!K{GM2GOijc<#!(I z4%c+KWj~xV-Q>#RNtto^5^WDkyC2v!_V)H0(Tfjc7De{Hrj@)+sH0Av628WjL{^3+9LLu(; zbq8}>lqW45!Emv3Xd)SeC^I-y$=f#HAQqGvl5aqD4GbDV!8I;XVJqkUvIRy3@X{d< z(U$St-T#e9*im{=;0|}Yy=C&&{dU`>YMT<~F#vZuO;$f~b)~3GADy3nh`}^~ek0=a z-T!jz;niGSq49XqT+2m%(R#Hzq~^PRGF z3qQ(HxQ_m0`QKH|I3w*^K6~=!Vpka0y~o97p@^-mEinA2@tXhXCgIb};K%Jd0N9}F zVViGH1evbFKY$uY`wob1uz%R^Cb^f+JM`sCc|`?@W`%zl`A4MsR|ny%-{ab&s-$bS zFKR&y&(k|D@f9~7gFRwK1DffLRE^Nl_dkDH&VLRbpK*To_u|xb{=>8%xw*M{Bn8XE zX1Ar4c)51}^FvS>kGCfYhyJzOfq}9K{G^X1$bYFj9DHmSAP*Ow*<-qp!NI|t9Htg2bi=@mBu_9Z;fbR6oa$>U$!XG!6I{v56j92^_~Os<8Wsrd#xpoGWT$KGBL zL&=Y%EY2rSpFZ_i8|)t(#2($s$$J$qce*oOZ#zH>H)2^jq>801Psq%SLV8vhGY!|6 zaNbpdIe$7(U>)NTTi97`e6>xh00%$|Y!mSJiF8@)TZ^E-#~@giWs>O4>wkxaLeAD2 z<@ERHQi4j$%7|u(=0gq-c-b%@4FIk8-`MU^)GA-~Jn*bA(%+v1FD?y?z$qyCr(+ z{pjDgB-0T$L*o6UNA}t-c+FkQ^<^bq^ z$KTus-G>Nzrk;dSfCCIHnM*!eK!W?GG<3pI8CJ&69eaai!0L^q9qnnT882-V`PHAh z=6n@0`G9``ue{P1zwP-RP%l|+Y|2+#G)S1(pQqUd5 z7W{=GMza?^))IKNlGIX&mG^7PWC#Hk2E92VB4Q!v-``|y*`@ef;#++j`Tl@qppjzt zZwCX?;FmAULXg5zsW1#uPLAcjVV_AaeDA6M3pLNbogtoWttDEyCT+gQAD$nbl@Z3x z?4SH_J@QY^|N8ao_wR-oo=Qe5Z`XSe0N?2q>b#)*L+d}xL>1vBOR4LxaoE91-y>LCH6|jtzMzsH;g+t%N*ObfFSmE$XQ8Wm0P4Vx2Nb;i z3I*@q&v;{}>BlYkofq1f4LPv8(*jyFpl(p2!gD?t;iW*`^^`=a-J-TZRtKxcVDSIOQ zf@~>nNsGJ8igUaP%fDiE+ZaXeiP!J)D!@TIULVeVl)Jhkm=RT;kdyNg{+`Z%IOm#p z`^P0}7;U9rqWScP79dwI_B#G8hEe<(2!=24Kv?|uaqZs`u)>Poydj{iYo+u$;4c_Zah)OwaU;q>9~O^$1mk%bOZG3FJB6MAn)J<4B*J{MX>ZPZ;XcW> z0((26^HV?z805i7JazZ+QlUG;J*!es$Xg!uk&_lif!jKGgWJ-TVnR0@ESgD|M_+Va z{k?c>lb~a7+h}5HVq!^mptG`*A?INLat-vII}uNy`9gHzOQwy!oDpMc&k|DiV6RI` zq~78r*Bl)k1)VJsvYURE`H@ipN{Z~k#~bwM`k#mVqz>|wOG=B1sTu@r(1i!mPyxVD z^%F~8tfpI7l6>HoyQ5M8=43i_DN96na&19n0&7Ct%1FNrzcV!?j{-^uZUncm$TP09;vnEmGF1afeS`rMie6=5FDa$IE~=yv@$u9jIDBJPc!! z@ugOD$WfyDN@4t2niR&ZS5|$4SW(S2!K(nq??&em(`(I74`5HuP29l9TevEx0A4jr zJ6qQohmHcyyS}BB->48Cf`WdTu~M6ynPKpKckl{3J39+jSvk5~My5I@45tAAAUssFSC8slxWZvAB?{@?|VD zFO_nS=c~mtN$0Z6#YbQ+2gr*(xnGVwZ0a|%6LLLH?k{%Hqw`BKR`gd9tQ%;{JanPF z8Ul`u{Z>%0NcrNd@-=ApuV164@Z)8ZPNg`Wm3H^W&{3kV{Vs)v#i}fid?ieiadwTHN0;?r@>b|aDs@Ul zL4%sWt*e&>Y7qj)50HLoiWRgb7@7VU$r8*h4dZ0qWpqI%=Zq4ZM3$lF4QZGg?j z&|-OlV~&l0UCi4>`(#jBW?rLO-`@_Tg_EfoCNOfr1CkI->>6M=+j!7z8X^_NmO7LX6@7fTkH^^M_3_a=enl1>m8cD{Pg}( z=3S=gga13G@P)qY6xY?Q%<*V? z+$F#uJgKL8mVTQuTp~w6v-tJvSA!6P4ZSpk+YmpwA8VCC+9TTiPEFw@+wJlRpw0f1 zrRvI;6PFDMEV4C?>#B|KwFW@W6|4b&ru+;X*=c?KUVs<<1pjmQEC)|7JeFa|LojpY zSxNhLs1E1Ls3eYFR=0!Y-rxuQHi9%XH266H(@^6+t3WF%;$0VI0Y~A8^G~mr z&YawzvjmyJ;zAYFA*GO9>Ve@8khM2CIXU0Ie-BPp>`q|qbh#G97-ChhqjZZNCoQe} zg?gJl=s32y3m-CO{Acdse+|Wig`x7=KvJ20Yg?NqfwR$_jGen~r}J%o0@zPsBh!Qi z##D?_!`kU@E3|ZO;csw`YS--y3gF~z?e13B)KDOhC?X0-r4bMxxT&IE)4#jrKb#ki z)U68a3OB zH(w|&s9G=f!0MGg-?zO@T979r^M&OhU6%XdEkL=@*Vix0FsztJN5MHRVQxy-RfWFL z<`zqDy;^Y={5Lh5b`s7yCpKEAC8>t*=QVf-Y$cbSy?qIvIzsD=a`DCWj5pbFMWeWJ z=i#56j;Pq&ogbejAF3@}@N96pg|{gh#6RqhLA*%4YXoHCM3g!lJ7l*lLZtKp2AS0j z|MW=(n-F0yyYAEI8?Cgw$Ez}r-}%dYAKdePOOk8NIxkS;z|g7Fjs;4b5_YdZ#{#|> z#|4K9IE*4l3n@}G?0kba8yy=>{?=l+-0v+RVNiobV!z1RTk|(dT3V*t)yo5z`u(Vy z87ZO7uRv*8`}q@rb)k&eT(x+!`p&Q_k2f{i@1%qT_g`y26(}s2FNKwDBX|C6mgGmr z#Hc4V7<11*Qo#}z>PSIy^saMW`sHz`_qX z*WaFebODEs4K_QIZBJj6p>&5(XwH*Ni*ZeYS~C zplsW_8HRF8Y*IAkFnY!YW0jN3|Ks4%MuOB-3=S)|tTRUaNA1%7$(byj7{5*R;OD29 z94H3{J@q{MVTIRxgWLsPmm@E;l&vOSSp zzg<@c)K-C)-|(i$<6pgGj&qa{%$;yF2VB5Jg^|_SXG&Uj3lG2!HXj`x!qH(FTOL;$ z#aZ-U{@$MpJiB0oF^9YHbJ7jCNgMT9*QKPS@Ml81L^+`16~weL%3P_@aFgNMwnl)N zSLka9Qv!pz+!E`0bW4E9@+0a^X=!OuQTNpi-i&x0`|CP?x)8*oxZz@VmIJ`Obog@G zXinscD@SMFSpo5qrA}O$)p|Qi&}Cgi19e3FPB8z!(1G&N+1Z!yq(@Vyl(|LkbzhxV zn9b)4B;Qw{693XOSe}-90f-$^0=&{tX84+g+XEU{D7}O`Dq=K-SXq2MV`czQ$#VTK zdmUuCLLLckaPr64PTP?+PE#ttO`BZ8kDUgMAgUxSl_1);Wc}%p!iXK!1AvKlQ`Nek zorSPvk9(1ocZ%M!OKUqmKK@p%3K)=4UALcRYZe}6G+@JAyG=~!8J+%NDdvstc{PdF>=b)RiCr6!QV6-!oi_O>7rI*eEfn|@FTEEOyITCBR zBp^LfdRs|i&qxx|_EIqz)xW&F3=||qi!QC^%I3v(E{8@FYyx$U9(u*&;VVPAyUD$8 z2i~hv8uZ-vUA9qF~=ClUKd6*!(UHN3?1 zz03E%oVP7N4J?sFLc=ymC@|i5N-~#1T3?4>fYxIZ7$}S0kj(NQX7nS7aakUZTpjM0~bW~eJXUuOB}vG#88E6VvrvF=ynngLE=}pOXl!Uo*$UeBH9At zm#>Uz888?OFuQ!T`GfakmbH__px~1jC7KGG^!GrbX2Kyaz5mZs-`dYrAkei5*qio; zz&u33Ecr9d8G;4r;!U zs~zHje9*x!UsH|0r3^bh_|WvsWTc^p!&Z=&M+&CdJ*BQ-DY61Dt*Y`Gkb-}Q^5X$>Vfk&hj~5D-E_5Y&ObVN`9JN6(2%kS#F;&C(s6O&P2Qw%_K3lWzXs_> z51->BJ+qB-LRQorkM9ajGqX}g$GsDiEbOtU+3BBv6%e1C;_`+nA@1HC;MtQ$BvUTN za8;T#I{w}mgCPrb=-J@2FGqu3cW%dM_d|{FJD;@4(|l;BbQ`CDcGh&-oSfP)@?GC) zsV7qZ^48qZdY@ka&sN7OmL;fwcrs7ol7$=Mcd~P!Bm*BdhBjA%H2_U0SIRr^pqCDa zBB>g{{Q`%DJ|90XAS)p5`hZOMP8kAP|0j1A`ZXe4^77CjJ2sg0>FylZ29mihYlE37 z^swr`677v4<{qshIOXsuQ`|B$$_%-nc8;wOw@<8{%+~Dm% zAV`5URZjvgmJ7Z+XL~Gd?L+NKi(3vEK-*UUVgaDA zNr;IV7#M)lZHLn@9g8q0iHi+M?#3x!JbSSuNe{hNF#Rg9B<~QNf}m)lYbGt;d)|?i zmA!lSUdedlyLXaS0YD-7w@csrk7lrSHzUojTYlnmU7Q;*Q!%XL!+q1uV30f|!Z=FO*j zPT{75O2JX(qobn<>FJXb6R9aF4M2BF?*BGDy-DH^%u{YPIJeMY{wujj9xCACoILJJ zQhHp+tw_FDx@CSsT!Jz{Fwy}-32+(#a>fsE3vCbg+DsRrMMHK+@>jRQ3R@Qq`{ijM z>%EyR?Knirf_1jN_K9|%1)5{N;;L27WNaR|otp~)dD74zTxECxcwP{SK1=>H zsoaz_M_`ovx0QR=_6Y>o>+f$nb66>)tp@t@llt{~>u|n4F;Il{+q{(x_%mgI-HHKW z&EJaIS?K6!Xh@+6^pe9U)J&#>&Gzoy?vEx{5OEO^5m4L!rSrna)#=mAn-3*APP2cL zv({?VPxFx-vQ6kXSw6cUZ$5dHzff|?X+TP-})J?`HdI{)sFjRv9?N@W# zgrf*UtZdwnctz;6b35RsK{R!B#{g&nL?++E4?b&yHyP{`|2Smsje$lx$+&(RnEz=P zqFh#~4^a(Mpb2&Ul)wakfq*=t>3ZrvTA;wD@=}K@HR#WHzCUV$vwpgAe6!lD7P}SHHzEn16>6iF!-vzwtFHlMX0F=H5qL5MX)^LMO4&- zI_vOwCFVw({-id)(|7OQ(bCcae0-kqQg_VS+S+&Ja(*w2OPq+l6cRf`1p>etiW6Za zARqv;RYYXM`)i!L6l~Scm;K|**w|mW$9^#iD?%PcMrl{j|0Nnu$UYk)RpXJhH8rvF zg9n)wO22lD_U{TPvI6eCS!{T3RW_D6ytI@v?Mra-GytrwpLAFe@^lawGDP0($CIY> zU7L4D5_FiQtBbw8@MFJLvhqa~5vE3nojs!3oB9wJ3T}ZwY@Nr%#pQ`O8CohTnCXOf z{QJAtHWtWtsz76A5JDBP|DjKZ7=Z&D4Gq3l9eUA)Zop}I;u;jh*IYmh6xLt=`)ZtW z`Fq(|O`H%lr2G>)wO>~$>FMh=RN|l3L%9HQ`mJ)&Hd}I_px1NYqMqgzvS?Cp&>LKd z6EccKB&u;PxaZ3TfM&{cM>g0A4Au&8u{lqDzK?syqOsaBUf=e5Ep_l2EJ!~S!(o(= zXX^C8Hq1k4>!AS1;7g!?w0#Za6MO7$@=z@;wh4>Tqafs+Lk zOdMZ=YIX6VYtLL8ykqi*rwj)#8H+9hLAm^7EABZC!;E>Dxv+Ad!FwxCTIa^q%F9R1_XjOrc7v4iFNFImFZlPUuOuI zxPdAW4_<)4yu7n54x*`5T#T#89*h$UgN36j*ZDxnD%1f(EWzMa9+kT)coBcFt=bMd zF0wt#LQmsePUedb!XqkiaODy7&{ADC!0^Li1Y`^tQ`7CJ=`f=86t0HG#ukpin!<)s zh@X0g(LmVqC?wDIVuj;~I4Vg{vER?4em_noUVJ@Hh`V)GK$~0C2ZXj$O{W=g%}5#m zpdv!R`61tCgh_jfii*GsI9_ei_=W7$kDT~SclyTL^n-wg*@ybgI3U0HuT$7oFjI-O5M>1b zOPjl80%g%~zFY?|qX1PM*aAx4yvdV(e)xNH9B4`yc{w1if!+w*^>IuRZ^8ZtuGU}IR*cDN zU@340_znO9pt*rQ0{qfokooP~rd9IF=^(rfeEE5%ecsbIK@=T$ekK?$LytC#PlRDq zukoQcxIvWiFx}RC70``=^YPOsS{j<^JG`&y0!z`B&p_c7W&n*#Qc{xFqTPS_W7Hp@ zfFB+L*&F-~EHqdwHkm^ka4wa`bw#D68$b*LU7!P$PDRBYAhpd;Owbs+0#D%i+eHa_ zqk4_D56hL{*oQU1Yzw*< z_*S6Ef+H2cIx7y)3 z3sTrw3@EtEd2(EZYN$UK3;%Wp)@#^S@PmdR2K##b!^6W_Sqx!aI{)*9fE>>c{PP&7 zz2LSI5)!T6doE9&Q~~+BtZcgOQKadU{d+XxExyysMetbCEE@#N$L`0|qbQ*v@Hw<>Bh ziob5;$!+zQ;fE%|WDvA+$V6#gS~*r)ZJMZEcno2Tk|1`c;qwv6h3WRiHn{*Uu6!p6 z&XwQ;A*AyUaHqxfZy5e2P_e%X;3!NGLU9n*Zhr=aKn zpy(*f&{K(9-Fsj{L)Cuio`p_aYfN7>q{)GZISS{OV}MZEPu1^5-zNfjPx5d^0-VV4 zR|qz#bKYasXwpE*!U-(xR*_E8lLzf`O$rl z@Wrc&O!A#PkR+#|lUCM5hq?D&OIH3C8cQ`?Q`~8ECHH%Jmlth2?~!kdWSypdDY1R~ ziOU% z+18{dob_B|mAXtg?Qe2cL93iSb*(5wK3lpdR9&h zwc6aEm+<7|r5d~UxBX`tI9^nS(eAeiGv3DH?1l0v;XK8`CB`koXv8v3<0`=BK;;3$ zimafQ_^Sg9O(na&{i78x$Kyq{($H7#l{yvcpI4irdn=FR<-NP+yO$vF{m|>q@XJX_ z`9_qIw%p%_ej8$r$%}`y+6INK6&3s(s<+eQlhv3cBts`FzHLprpAS{K>xA+9EJ2#_ zuR9lMj}mJl8#Qa<27s^R&UYOaGG#I{z$vXTqzqC4nJUYbtgJ&cOPgC@*nvoow+xdG z{xMzG*du~ie1Rikqx37{2?bqDZ?+h)bH43KNGmC~6w0P+yQs!+2i}GX>Cd?b;Dj7F z9)r~5w;RCoq}w681wt+b0fH}zO4q)08jps!7huS4`E3Q-E`0+;<@XM`e;=Sdz$OY= z+~((aP-ys1nVsu`@$!nE1o_hT2{^6-2Jg{Dq?0V0d~V#Lup`!L3b;7I6zwA}bEbDzLG1nV zCR=Z9*}IvQ-q2nOa=0#8swed|nQLxBDQScwLf`z+GOe*Gae z<)d=}J)I%t{Jd5qi6-1pv486|MG;>ImMzai*(f_j7T_=9;+`>!6g?CB12%hx^xWqv z(R~aJgQJsyhHcPEMX0%RyJ1;gN`G}sj&!F#s$CcPEgjwIRUyS?#!U&7 z%H1p%WW&v5xj$wjrte7Q(B)TP;?;}A(Mxi2rp{lT2;o+ zwpexIuztHO;HXOSIly;laG}SD3`ciu5NB#bJ^v%2*_SJOcT@FIRLU<_aj_wCKR=IT z>6y;8XoMPb19w?E7*grFZF_mZg}_u1i)?tAJFXW-owxV&@=5qIZ=Lb1kOwFAJ(e?d zS{)}@#GHUbpYKs%6Jm-lsPfMHcYiT7WYffQn__oDr0 zeM{c~|E(VDqE}%lglTVaGRR;$Fdfr53FZX(IjWdmz((i*+eXaBysG|r>9w&mlQaFI zJ6<|IxzunZMdPCHBP?`7rqhnTvzA*~o|{&Rx#Drn3lLqfOP+{k$4d`XJAfw!%*7QE zri(@UqC{i0jg?Zw{!Z{b-fhxqW;Z{^FcSIT$1pV%mE-%w3M=b6aRGrubEUoXMsVTg zc*(z9?YlG^TL;dg4iD1?T+y7t)p*6XtI0^wIJg9?i_a>gzG!7?o&am*neyApm_bzo zdbz+$x<$->NzLNxyB1}bWaXla4Tp}OxDiS8YC)DsHy|mu)KJ47u>h|^Aqs$D20Ddt z-{BR*^~J&tI#hgV`0Aj)xVFdivqSKgZcTR3A^Z}Am0QAv`pu8 zy?d<>09pmd!@j6QQ*_$Rm!W|i#IuNjS)YBbnt#1=)~d1Ukf;X#yC=72P6#KEy3qxW z2ki^~73Sj7;HK>Wd}5`P1P6{lEyq$Wm;dRUcMyhiR*w-%5Z`G86q4v(bXUhj*TrY5 zv;0i?7nXR9=%FgMkR)s@qu9)55(nJ}{cupaf2-@@zrP^Xa(}B?)o#Svh3(GE3+t=K zgW)B(+fah~Lmz>}&SoLg2d)nf7eV7De&%ukc52<0UV*rdONW)RW=xtpIVv0-vJS2a zGnEbPGsw zyUYm{brc3LK$bOeKWm_CjEyX^Is647()7AF&>wRTH${p+e9^m%PeQv7lF_trC7sI* z7+eYHWrmj+wJ>q!!YZc~x#T-zwH%&0T9?^DSmUdhBu1G%&ks9J_Fn&MPG}xM~-@qW?Q$Hlka3Hd* zV76_mR4ec$ilO6+*i><`jkhT0_dna8;O9v_D3^b%Xc9lL^xcVY6Gp%i(`Q~l>}-hd*R(k>HMOaCPxSo|4$iI0>)#7dMqoxRz2wJIu6|$c_^sM~ zZrW=js&CsZpAI9a&o?7uph0>XS9TH^6#PVjo~2)Qiz+4+K_R=(9{I{gLM67mQHk~W zug1wrFxOyVl;DPEeZW51F>17!z%|uM{#g7fQBT4ErKhCok#SMrSPfGGQ{2aoKAWsM zUN;&H*Ibip z{vH-4a1QR%!*W%tRP{~>X68m8;>l!DfRW{*t&qPZ&Ov|)2m1!FN_krx)WjFRH}%cT zNR{^ZAktfRNpA|G@M-V5y{}m;_W(~pCRK3O z317Ttf#lhc_%o#jVkG2kv> z)s_M?K#OxD3z1!PwM6at2}Ez*_E}Ij;-=-`;J~XVjKZ<_Lky(XgZfdU=1);46!!BE zFLhCeXnD7o5SY(o7??j>%&xX;ItbKXB;6m4s}s*@4y84G_tCFEA_ZsyG0b4E6JzzBGV zl&mZbDI_|=|E9tWAQF}SFD|W?ZJ`UO!Dc8p!ovKU3jNyZ!^U0zqam^QP%g6-r4kDJ z_P?6n9q9YqEEE30KCik@oseUYZqSEd zg_xc+;)>rNngqUu7<>!oxuED=sqU+pA3yL)@yhzq7-~lo{*L0%cltd9Qe@FDQZ5;EnBy4It%{;z(CacBjqXG z)IS9n7}r{MJDon-syBfT2lQbbMi;m1O}GJX zk^-cev%XOHMaOk$NH-ROg#7Q|LBwUr{_l(RD<-~mNvXUVv*gbK;!Q^sdEj{nPM<+x zb@i@_n@AYyH-ewZY^ZCWw|;!yZ?6rUeWO0|^7Onu^#+bX1j3O@Uh=^!+U4qKO)YSC9UkMTR2w`>+3La#ss%bt8zx;Z|gOdB{wHz%UCcv&6cGMxSS+g71 z<-oO6;&!&lj2lMjUe7pf+ zG71NhL(qQ->E;h>&bq0+t-v7u_$#VOI6Xf<2*6(BkBhWSO(Ecug^H2vJ=Xa16~M&H zMw;Y~kXWGv7$e0rj!pfmjbQQX*WmShqH&huU~XnKe-u?u$%>+SDV zZr|#e;o5X&hT+$B=@wWHuEnzeR>~C#GE!375O6Ttw@AXz2j~UjvUMOl7fg^5Ie9_aFbSgzJun`v2o)UPe}jtR$gBg{+Wh$heXm$zE4RoSj)_ zNmjmgQ3^TP3Pq$Mp@j$$A&O`y()c~E-+w)NJlx&q{eFL5@8|3F9799>W!CKNb-_^y zo%DqP=j3q02z8{im8nqqL~A71(KEYkY%a;>_;Je;#-VH(Z3K#a&JnG!3bg0Y4QE5qvqz`^^uXsyts;7dAEy8;eDZj8~Jm?u^BmC$ixvZTbP?K8IQB*)z;N{zpj3CV#m+ij0c}JOF6KY(T>MR^IEXkjcl;# zR&ZE!AkSjB;oz*tq9-=J99_s2c=_E;k{CQzYiX)q?TBh;@VWO~4Sr^;93M379_5UZ z#O(IiF_BAsd-U3^CN9zeDmi^gpnoWMM?Bd%vP3 zlv2<6K=_%PgF_|3BwKm&c5WJZAMZn8S7Z<@huQEPr#K?%CIA0NZ9}Bw(I=7LE*Ln# zoK^ly!sIdJN&@`+pj3HHWM;{oR+Re1SJwS4POK57t;cTVe2!sbV@ueL+Owz1=(US7 zlxA>IexdD%uc2>8V1|E$pHzk5=K8W(cGQUsU#pZqiRvSSHx@4C(~1mn9>`-sA6)8;ViSYoDdu5jAB$SJtZY&LDm%SQIrU_OY(aQx$)1>k25(b zgYu>PEHB=?xty2BxL;AZ?B3PvWK#e4@`vyV$}dNtz%j{ zcUITbps#6oA3Ie<;sX6HFnhJznq>jKn|Wncp00?>1qX{{o$tcerkFs-W3G;S z*>^Y34HD#RPr;990qoR~!Z^#PJZcrEm%ol5z{rMrnB55-C3eK*oqfWim(QQmetw%l zyor)g6%+IMX!^nf9$oEK^cHVQ7JK=W1m((<$fJi3ZF&gr{}!6fKr#h}jJU|*=q*t@TVypggF$mzl%^LBw&+n#0nYy6`M0C{ zKacdyhL@)vRroa8{1@XjvGtV&1x~2#CcLXGMdP?d+rkVhqYZiYg6f4u*w@#0Rk7jF z*Z5vmc8VjOH2=O6t3;{(&LrdDS@)#)cs>G)-L7AFGI;J5Lz?7gPTU$aOp|H2=lkB^f&wYQWl`)4WKu_2d(47wa>zS5Z|Zd7Q?SM8?~`kt znuD-R>Va3~wjbjkAGnC)c1hJEV`zeJP1tNzyYRH#ccv>J%kb88=c;F>r}y>u*Esnw zvs1>3?ngWFoUGF_{wlo?(4Z~#i}+bziR(7 zeXoM3L^<0Nj?%!*0}aT(@@?95QqvC9yn^*@Pn@8!o3YMTaG741{orb_<3yvEhX*1- z&Lt$s%gJ3)vJR;k&msN#`LQCXl|>r$L@`g+Y3G-<$IF$t1PCmTqoZwQ(h@i5j<|Ur z&h2Ilg`)36l{g!33Ki|$J9l80)Bt>?IR#*h1FBrZEL1F5KYD~#W?^k+<_k{WK4N)a zY2VA-;DrVsG7-zUqH%*MnX-|)eP5WbYG`(Zh`6|7x{=T}JG^Rdl=qRzWLzzohRRxj zv%rNh$Td1}p#F24=$6VvRy2>Vp3B5D^Adg5}x1yEn#e!ikgw3{ zUY4dfA+5^08gei*)DGagZZ?C2BmC$l0kWT84e(Ux_nYCg4y6c`1Z0({Rx^Tg%B*>RlpOoA#H>ezx}Z&B#oE`vT}55~IDpezD^H(KX+DR8^&&?aAEdzt2I0$EF*tZ{5cX zjECSS&IJ7}6m+!g6__PBCmO^b4xpner2-M-3SvlN01QPEr+~B;_emFlFY=#$9`XBU zHwp|GiC^m#zI^n7-3QFxw{QN}UYvr#XhBP&zKEl4*w>gt!Q!oty`x6IZMSe-Lm#6Z zLO>mS(NCWqY}R-zp{cGO)JLa$_lndRcB+C-b6fsbgdX63kww99JYQI^A`!7PhBq=% zMAe-k8zx?BawkGppKyp5ztCia`xqpL7e(N%kDq$$8}T z;^QI=+qa+5HWS7{h}VWChHMl0#1_39h}6pq*TM))v+%hthWy5424=J_svj86ABvSX ze6jBM{=Y&vRiz}vL$%tqI}Hd#V&MbowBq-o&r8AMI-GmZUWy+h#5*n~)v-DwcqadB+)=LqovtsU31N-n_;*&E2;`GR>g zvY}4HHvp@1cK6g~;|vJhtrRlwq8uz~B}cP+Psz)Earsn|>3;7q(XwV}rr4>f9@GeG zQ$eO=SQkPUq_%EN%K50zyBC)kmLb_~qsUhz?zDQU)z#Hmm%YLP`gB7d5jfT1VJ<7S4ui z90o~Z%gp~~Bg1bOCqjPg=(=uN*M0*Rzg+s0xuH6hNa#o3+lp9}q#+ z-MYn^!E@b7nPK=y*8Q`@`tK8%3SZhwQ4fY$8Zh0`R@}0s!_AiJ~G}uPhbHEXTGTgi1=N*l$M>H4W=9# z^c_=NR^XUF-DpL1ZRY*{e5#Z*+^uh^GI@aZq544K%V)ZOFO3y99qFRj*fhHL(INWU zUb*K1iPESO{D9H9gc+_KNS!Z zCrv37C3=@2Xxm*h%xC~w5GeG(Y-A(B2{}oOduz)UM>k@NCkzDz9JpMX*kvR?Q;2z) zMsw1g6P*1s#VA71Z>$+wZ+$Q^zdRooBNlY4 z;DW=&*j$9=c*^hQKXIuBQFhkY{uQWVXzo0{y`jZW<=R|jD~cb=paR;lU72(kw5eD4 z2gtsIzcIhX(#OQGBy~^0EsGkk^YX!pe#8UdZSuVtis% zVb40Zxt9Aj%`b)|rIu6OUsS()wI3renEV|dec54|v#|O4-Md;UDrxj9{~~)Zs(9|a zz`C>O(O47-rEeqNuu{2$4tb^7zS0BisR(=FRv)JQTJkAUjToFmVe7RRk~Rzs3POTK zaDTaNZ6?$DIFZ#`Z?vL!Y>Or#PqdfIPn9!PKPJVNAFyKd&v*DZ%T4QCWG1}Ta^H=Q z*B(=Jy#TrDzl4`58c+P1${sIfA#+D`_B;=2&F$#=QfW9I*_wfdyzzTQ663t@o`+F+ zW--Jd?@3peiLr6bv9hE{TDJ=ebZ_?Ii+u{y@(X6fk;8Jc_LHeiG!fN{9WKaea`Etx zPZK>YhloQd9i2Bmwt3xD`F~O>YK`W)&H8z@n_5^Yr$Au-T|;j%rYzO$<+oD0ViY8% zdOkirwR3W2W~R1|5_kMW&1*T%nwlD0SxF$26X-lWho|GmD$llR8?dhW$M;%GFF zty;Tji7%BMB;`thD^Ni2mkGcw(^|^y3AY_0WSO*{*-cTBkSl%DIqg|O@SdB9A`L@0 z;Ne)sw2h+2C*I+wS#tQ=w1jBEwQIOmpiZC5?`oV}cTrj$VjHN<&bMHlktBx^gsrz8 z!H@SXK0(9b%zV$#Mw#QhOKJt>Q)ry%(NgI~-VKw28q}7j9w>bsot-s*{Tnp`K9~br zrx^??G1(Z1t$tOi55QZ7U3WEbw2QG}oH)p+p^tg)RJFHJNu_;Nlq9-bZSnz#uFS&1 z8pE07{kqtUOhHXn3U+#5Xt}mXWA9UsvUL=Qr#32)1SnYZd8a65~)jiQ}NADo;;cT zcx3ic&@EvmL7dfi=oHNQjTY1i$T^GoMi-Z}XQo9jvPny!f8 zwbq(%?3oh_d+N7$I}xfomkPf`LKKw#sCKOH{kEI-WMwSUX##(DrG-zBy$tTcsDGU< zxsK!7wQD6+5QzOmfol0uyXsVXdjyiZkTy98Mts%2-TZ@m4s|3*vyz!DRsQ-bp_jPo zuR3Iqh}V(P+!`CZd7skmFfH!ETxP}0DoT=z?E%Iudg0-b^4EO^$~bgkD~PT-r&c(d;cj3XNU=U|7Rc?sji4OFcCPTRACFnfu)&6f{jvu>(xqgH zidfd{mPBhE|7aX0hz+n_`Ew`hYBC_}4*?hojd697$=vndHZ8?fS`!fi^drvb(cEhP z8<*vodi3AA7ugWd_~BMTAV=k49^0EPJ4D2jt*2G3@x^XEMQA$hob_Yi-Swg@ea-*- zOA~jOJ)roTa_Uvn19O2wqN1FeglqlCAt86{<+Twy30GM7;BIhDA?6(nXs+-=K zHz400r}*dj6nvy{jOq)PnEQ7d-rA5Nnbx7^HB4}RT}wOfA%lXS_x(^nq9+f^CmNU4 z(zWkb2}Lp-$JlN4=p&J*3zmR^1u1A&d!=q+Css5Q0#Y<<8rJYhs0hzE zYVbK!kuGWYIPn9@y1rtV! z)ZVqis|8E{4fy#lNPadUnyHF7^1d@*iacWkzeHGC$2wX~WXvBaQwxjln5!)1K9Ojy zssazjr)E^m%>R-Te{H<2=^LcP&&(s8!=7;O`asX>ZG#T;QpoOs>1O@0P!~R! z7ZI$tW+V=P_`meeV_7wE5Pcp`&xJM&tC2RGruj*XFajDX49^dsG3bYks;m|wA zwLs^{De9P(Clqmb>zH+udk;|h#+nNiJ??i#a?So&dG}d^_qvzey4aIL!UjwmYgk)L zNeY>rK?=r16XNwzv+hGbZtme_DdQ2}_LrGCIB(A~$09B8uJ|V}=6owVieAPfG4HBk z7D;si!MC)Cx4zG(0S_#`#>~?;URq|m3vks4oRpbk`GQ`@iGTe7?Z@Ioh)c*k57wcL8 diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002C90000027876C8370C9358FB94.png b/modules/constraint_ik/design_docs/Pictures/10000000000002C90000027876C8370C9358FB94.png deleted file mode 100644 index 50e9f91d321ae1ca2085775d8483f956a332d3bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172945 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

7BBWZmHJu!7Yxi|9{M_zvTjzGTCW}@l9~Xr+ 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鷐h;rW1i% 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 z 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 z z-PaGrC9h_gI%%o7j>gSFGDu_WpBG=<7@j}eyY^nwK(>pA#J*uVTX1mh zFR-}P#LDj}+|jtUPqJH_+n@gK&gymwi(;D{mwVGSC{c+^+is5i3T7N+sQ zg+Ykqr5#1vHYA|v0kPMW?mca7J7H6Qoqt4C5!WRI-x(^WA%~eiiT&nN9J_UEL{Z2~ z$O65|UPj=EIde(vhU!h7ywz;pOZ<4qN5b0&=N~=AR}t8P>fC6VPs|Y#DwHP?l4k!* zFQ$L>G3$m)Pn5fmTmZVv`H`Wtw9&%lvf*7*0AnsUnDGrrAS#Yt+16ZcE9YZ{gU*56 zb-QKPGCDd@7eepk;zF!(39#;-dlrT&yNnv;Xk+IT;h*&A zGDFe_%JGWlgZGE1-Taj%o5{qoq2imv=VhaZD4sQ@=Vl9BmV!Bt^PKHHe0U&n_{6M^ z$bdvMhDAJSDvmRfo)gR3XBPA#x6>x;f7PA;7?B@llaKLs#2Qnn6xg2>A&T+Y4*8FI zw>42#7YtzCF-c0Q-&{*I5jgz%U4~fbM%c;IX+lf(Ixukxr`KBl#uvAz*>}}I6^Hn% zFJv3?7VVdc%Og9T5>)cA82L7qmHl-$Xn3;TpUq5YkG+H}lbWjlti`2fdoQ27xo5+M zL25}To@th~751m{V%7*X>cD8zmz{6QnKu1u{FqhmnRQG8X;`%+jQN_+NCYOIM_Eur z5~Pr%t47^C@g=*wd$i#M{ZX-)U1<(U{>sd2ZBxil@kx>lSct33yXq)*6YlP{8z}uUaHx1 zH%8K6w=zZt1X;wI-alT7=g)A4Hl`X%n_V`XX{7!R1(2%CJLhYl-Z94%e zLioI3u@|-pf6eF<@j+bigL7kn>&F3>#K#IO!tLOHEfXa(O2QAOb^$v&K<+N6u4IJp zr97%D%`M1PeP%51Hp;Zu8p&aK%tO^7YQ#r>>)rC?yPMO@vM-XduU;znVoW+{-+z2| z_s=PBli;O$o?VbhF)#Z|Inyy^d*7dT^9~r3kG}k)1h~%9_Kpj2F$VwT{=Bx77B)e1 z9{gKxL#mIQt|lu>yQ&8e)L}^dA&Rx)k{bMb3O0=pV8Xe416ORYD@ipN#ep=DC>y6D zrV$!)36#cYt}bn}XoyO~PsNT5gpvy@kg|G(%5KZq_v1fFi1)i-PY4fZz|^lX_ZPT6 zv`0k)MRCfTv&z7hF?{SQH8t>xKbudV*Gwx?@yv@Llp2A9r3Ge53>#WGUMQK+Ww$4< zENn?A#64WRW7S3-X)lqZ1KNQ)WJwfmicemLBHW*Q`B$ChD*3EIlsVucYV_2T z6~}$_x;vGnvDZyEDJ{AJ8PTjay|8rrCS4<6`E`t8!8O_6SJ}jWW}V4YUKG~jMDd)ew_wGx6rOEb5GpzXNQr-?txwf0D;bczTxxS6oXn)2Mz)C!^-@W^>%jokIDh z&VB%iy|^?q$a}Sn2Ruyc6$1GaKzSx0gXL26i5tNn>omFu#79k{EO2S{i_B>dSOCJd zmI()DyM&_dnQ6XZ;p14a+c-uOyZz3NEKcX8VdU>so=yH{BUM8;n_4NGXIfM5w1w?8DB?(a1_7m z+|{$poDK!_zrFPMGcPlwc5YXWNDLkSCtBF5NaEK_q!;ZR#8Lp#IZT}DAa&=}nsgKGkQ}6Z7qzyY=4Qf{QY!9vm9EZMCW~;nl6n#K2C~$hEW|)LT=h z+b`>Nq__g`BS(agMge zKT<|%2AOsEX*z*{q#%y?4R}BJrPl9mehs;k#jAs(%spU>GOGf^1D`q#Ejf&$@HSRr zcn76)nUyTl<_K>qqd!HjzqHwOTEB^2Q-9w5RO|iO4QD4NXr9T2#Xhg%q4x$+(H+NZ z7Ow)}dNRB~XY3$lHb-B26R^o8!;LYG`u# zR;3Yl2x|$+rB=1|&qa+DROD}!Y5ub3w+4&hgTYL2hUn60&++ZvNkU@MxLKp^)-s~> z=3^d`&U-`!xJj;C!k~_&OqbSbszK*|C+f`ZS`*x(ufX$p{g%;{`2)ZfftG;}yc?pI1a8oDt&6DHu27TkUTV#q!eJ22-wBX(0r^wHp)eBC zHFYfbakSaS1+{)xbJE5QJtjdn#e?T#tn|N0z@*#<2CMirBWyj(I14)Om^QqdvH-Q* z+J$k>V!=`Mq}RhRl`Y)B`wuEs0e^hBZH-t=<^swMin3!3oqs*-(Pa7ByOrU6t8w8+ z1v+tvnz*!N&BLNLSb9X<7hm!o1Q89LKp(M7LUO2c-T7f(-z0$I+B!GmzEtwh5>PHI z=ba2pwtB4WELnZO?CQO;pZ`+6b}s*irRK=y%LL_>!ZXTeIu2G6;==Uf&vbak{qE1d z{gV4oxw(&P&rny%7h6JB`7Yhaka1&{fO^fl9$Fl3{PAGs)OjPk&a)pgqB21n1tXDYv;yB&g}&8>pc`kBX_rm)Pj_h@mpw4DC0w8Ly<r&SeEWAnPpobk2JcU{w9sUa=K z>&xXMCbg6|$J#Cga3dMAW819BwDDi(4j{2fd&jR3x0zqt5WC<=RaM7;Up({MFq5Qf zduXi4_YzsS2qum;2|sl%a1CH%&JkJ)v!O%;aPnf@r7=L}f4VnK;`Lzt2jfguG^Kg5Y&HDRKl$Wrj!UZON5bLyu zgFpJQ3o-9Bo`;uftycIzh&qAlQHB{Itb);vMLq)@Iqkko{<4oxwjr7%sZ-49zj|UK}1zr9S7A=88E2 z*x1Ix8T+>oE-$#~Cm%ZblZ7vwL$K20B^WXDr-yK{!S6n=ud=(X?p>u#rvxECHTM?; za;NdpmuO{^Xyf_L~%Xtof|?9 zbN2HvDCmy@z^2n~U>)kwTOvD3%Fh%|%aBzRsPK?X9uo4v(o=~bXiTr!n$df&Ug5`p z<@cYKIv?||7A&7AO5qWH43bHrP$W2T8XTXC%@%%(WZ8|;WhmdB3a5;H2CYB%>ZSOq z3lj$IJIY!XlCaN^!&4JxXST2(B7X|J;iwUNH)v*b>5*yKqp^rd`@+T8Y!_{z^SyRv z2(@C0^9yu2PVxfH5lAUM7kXnu`2cy0l#ikVm(!wP-JH_sm&aj-c}gXIv=*XUThg0T zp0}H?Dskw&FG}`>Z|ZCrK13*i4>R2xJaiszc-X-Nm%{peccYFex#+{M(dR@FTUQwy zALi1bKpYqf7lI=-T9Sj9b2~8}iXR(G+i`PW=G|R4u3oaimyT-)Q4C&j?+rvjy@U#J zpLx@C7;K;R>*sxUHoXT@O(P*Hd>s?E>>{b2dYuU=wLt;X$8t_{@py%F-s;aOJ+gnW zLekj2a!&ORy4XV+%2f*FbQ-Wh-2sWq}5_xq0`dCiHpyy zza&Xp>0KbxU+vsj8gja0T@iQPE4~J`sd;liv$5*uugM#B^?gd*L%Gt4AJDLB=?Mx< z!pH^1Pc1*0e-{H@7@dN3RqB~SicUCcrw@FFB||vWqeIZ1{{m@_&a3Hn7lVH{Cra{jVD|M^Zs)UhhucUam)t^dU;!IEl+XT^;m z6X$&=Wn>w7(iIw5JQn4_xN4)c#7NINsbgI}{x!;`gZpQ~M<3MbS7S?W7Ru6<&OlXs zAS`4Xc9C$p9=qW@(N<+Ril5|J&X1P-J=M zD}ChyTRl9u&+>=W*;c#Rmp}I4XU*M0b94b8MOY_H&QqAfhG30J^`9vZ;6)fp>J@)kScYj{dH`lJ? zQ>?S6Sci{0tjYM$n4P%~eG_uf@Jl?u4Q{Sg{!4>eTJ|LjW zxn~q!;RTxinH=Z31pyMi2UPna?p_i7-l*lzE5%M{agW09|GlUq88B!3gF;#yChapf z;RiY&&vRu9pUzUnxoH<29er+HF04jcXt=dl*zvsHh?M?L@_tc%xV){Z;iHJ$=EQ@! zl@zI%|7QW3mpT+mTuUbHpTb9hYcN03IpWRJ$y@ag*NmjCig-4l%B(cX^?UMytS$!9 zu9Em6Kcad@-~66TCqyT83gLc6l2axGbDpq#aUq0BUX^5*wfps$gjrNbf0n!b@{Kin zTY|VmP@>_qMC{<)p9*#)(fU(5MTb~VEP+jUZ_2nd-Mw42-m~%kWwv_MGiUeT_r$6w z_SJw+Gy59tgvtV{7_Mq{IIC>ITOuiABD`_$vt3}KRZbyXoyO>5`||T$-F2^zc9Rl0 z${fL=-Py;}Ynv7wK^!H|ztBOBw!Hf8zN(2!RS|bpy)7!=ioTZ1F>DUxc{Q+ZpA5uA zt&0lWqBR3og{N~jUkv2W%<`6kn<-m}=^t@z_>s`w53I8VSkB6P;PYC|QmAi)? zJ;S79dmRVUHFbwu9m}f^xS$psh*GY^?Bz9xF2C@`O=F;7GF=_o`CW5}o!xfH38=k_ zTvrf}Dn7g>8dfoQ>Gx{=XL@s8tBlihGnXn2wuo{BNi8a@M9z;~=n+INhVaP(QO|xV z1s?(vA~m>q{FBk?PyMy#!4fb{L7PXOxK{cFNU@TpF-}bX z1EE`uOR6RBMUOt${{)%EO9=i>Xs-J+$EhRiWbdV`*5N&g_RXT^@|#Ci$~dG6o4%qZ z+oTImJ;Z38`&t!V7j47=p6ntj0_0+LmH}*_?epK~45Eg}AP)xsx>U0X!50Ugp3QDf zin6%Rw*CBEmzbR7h2AcQa+#zjz6kpiP;0(nTe-)tfRFv9`@O9`U^=h#w)K~kF(v~W z1BM+_GPqTGJuQoT3wp)*C4 zfGq}PdAbt81-QX%(~aM8dQlTJQ6#8CxgV??upG6LWyWj?FgVK=YwKQ5HB=NGp|&lv zHKK&;6`e`ox--UQOAIyCWL#!*37IgcWgyQfjQ>sIxX|C?l1xxD(5ZHHT2^uBmpq~| z{KUfNW_09r>LO<}{7Dg0YG0|iD#`)6mKf_eQ)HcBwfd1Y_?0nJa_ngx{=rj7{WiaJ z;9~$(Zk~|xV-e%G^``yTfKJ}tLm>_(#ag;a&SZf{j|Q$$Y1*w7@>e!M@LoB@RY zYj)bWFo~6xZ?*kzSa;u(vfrqzzrl$phSoqUSz`q~;CI5VuES3D>!$qkkmX4x@-Gee zS|v^4KNU>^YlCu;EmRfFmg@0sM-s-f$HV5a$SuF~S0YTF`{k6xJ?^*4V)v&tPsR8L z^&``20c}Uc7W;ZJydPp*a>xoLyxz~q_Hly$5)P!T%FiP>RVJ8iq>C-9{Al_E4MD|i zDI#9aq=ZYDW7Jp$H(G8WJZl5JI*vvWNO^xi?;3-oZSgVwRRbn2jl~hq+a5t)6v~4kVZ|O`|77m?*j0Jx&ov_=~(PU_aBwEq9>pIUSh(ve9I<{Yl z6MF?x9^{yl)(Mf9oBuvaRL#(}mH6_)zus^UGD3UrQ#DZ_rQgG5_jEo&m2*cj~To;63PI4r+^}1>l~l_+zn}akUT0)0hysp4njIu zy;`{|8V>oA>Cy|A6`fEth&{NAm`G69i94Wm6!9sW`DPcpa}OC9tm(5#UC1-`UdMnZ zPk+eZ-|cVG5T{TzY4r3O9oJ6dEw}DT;f_PzHR61do*rs^={SfYbqj-8Nn_mcNklA%h9hd)6Y#! zB(y6#>yM=$S-G4iJ#qB-Yv^GM&(!$Ol-=pW^+0CR3oi%~JA;HnH&#zeCmzbvnuW)! z^W*id-IoM4#wI~gT;VNt5vk}6V#bnX!7N_jK7W-QdmBtonQp-Ie@s`LK%f!u^8)1x zXjr!ov&vjbf>Knt6J0L@v#=>?4posUD*jzDcZ9WyZ#kvQ2yP~@mCo&o%_DD~qFgb0 z81e2y|526giRU>2Jx?r7vO)i8ougY9IH+W^;h@S^9#^CH@E3O#!pO^Kf>;Do(fc23 zu9+|+)BXmm*-SadSM43AC?Ctn%PrPSf`O=myyv9?BE~oUUn#Gy_K?EZSxi$FxGKDG z%&(fra+`!}BA7&GZo`n2{}#V@_xJ94+}aeIzrKK_dB@}_DHp#{E;eHu<5h8ASgo*L z*|DEDUM>8Jjw*i3|2uo7_0Plj%}Y+J`|S_Xi+YOy;k>We_>Qj){XH=N&Yh?CfWo$O zi!--VlW*tErw=2BSKT7iVA%?s5(}^O)fYJ9-A*J|w?3$DJ=41PVx{|Dy$#%Kf+9~% zr5T0v`qG(eL&5v?eZZM}u_G0$nnVPloA1aB)I5Z_MDC^EshvUJ6U!6K6fIh}E0h_?@V2=|=T7}s!J>nv&FHAB-}cUrzT`5>;(TOd zD)LTM%vx%;&;8`HrVQcZaR56%=}a2QXOF4_QzNCe`0*&X76%Il*Q725%Joqj!fY6% zFCfdMv0eS_kHchi(&F$G{Zf-i?2CKKMXpq_p9nZfI5UvnUPT}(@gN8OS7rOl{pptQ zzg3?54y)D)0)Y1mvldo5zh;i<6LerkTbXrE>v@SnoQllduG{2EE4St;OH72gU6pr_ zKJ6Y()U7^hKJIpY+}+r)rg*s~+)4Lc#Fws>my!N;P$PK3c;7G)0umYUiqZrqcG! zid)GgY$UPJ@E%C^$J~y*E$zv*P3e)4{8&X|Mv;5n;{-08v}8u!b<{|{e;qQL^<3DSux}@0rpW6L?v!l`6p%$| z;it{jm-sm34GvbeiPTp9+sDA_zC1WwtT`AB?g-t{6AL@P`h4D&uI58#BL!5K1l-)d zu=qY~zcK7pc-X5elXq$^HD|q@x(_4SvUQ=2FE>y!FiXsEd8hIW zm=OsVXNN(O6}(kZHA%A1srIyC;wZ>!1E(j!y|nWw2C0@y9Zw1t*)uK0+Zflfn`kx* zvD8W0gU?^DHk$1UlWSnHQqG0tvFk2^O2B>}rS1q({7{cyeKa0n(Nqo>VItxa9sV2q z+E9Bf?hg0QrFBT*0I{7CR33uqd-dhk^ADkwgi~wSS_BbfOLu(non6?>|Xx<)oaq>as9&{pU;k? zB_zyH`rT-Q(~=SXK*&yZv*AJ7)>;Q)Ref`U6fCSkDgz*=0#bV=%QDPa$A5M)d|_NE ztZ>2DW2r*=63HF5Qn(V|C^jOeTSGcA+)z&-kv`OYrJ+JI549ro3tA4jb_(I(<6N-w zD*di7cYxKU)8Fd?X&s#(1ZK8L)o)mzD=%ca|9V&x&lan0beof__=Qnh*H23{&&;!~ zBgeQzvp$5<_3X}PsFHsKo{mfO`_|TI$)EDym&?~g)VP5M;8YxKU+SkyWcrC`pqb*= zU{>cUF}Uk?XY)UE@Ei~cHBJfxncdy+AOGciw|rJ47j@AgAmrVDUX5TfMLI_%9{R(k z=1#DyvZXqUAg9z?(o+bANCY@)ufRPwtgM758;N!=y5RZ7#xC=aw;vC3-17}yzj-Q; z`v$soy>un*`$-EzV><7~ny+~&+4API3j(m}SAW@ULGQ`u)JI;VcB~-2SO|Wex5*I$ zvjps6nBnbzw4N$-BR4IEz{mHBxHNvDkew=*61`l_S7b;@wE<2_h;|O!>1O^bgV`?6 zbb3fiI}-}$1?JLLKc?{}z$l1(ttL@7`&LcY-on0`9`B(ll|e08dz9`O-1tkTH;8R- zg22)&b>28m@TF)lt}UKhg_DkD7jccSMo*`;_pb~{ML3<9)P}T?QC#Y|a`e0xuLplG zupCc8sA?vn4D%&HmK0c2cCYgDfG?|fGo>H_D&@0Xn@3hYa#xGFnX%K6Iae*^-I-LD zP#GqoETjNV6|o+FS_W0F2**sbn&BDM`FQlIK@M5F3M;TzeikuqK!b*PI{Xf3`tzY&W_z`vXZ)bEHyO@M_g@JeSvqYXW5ZYG9ZDgY0 zZO>nCKu8B<`+0=F)9)pFP~QsS5|k=q(74_U3O81+2hdr2rM8;3bu1ELw~}w%en@s^ zpnZv|Aqh&SzQvda&FH&EzRMCnnL<@9E=PM2o=-Pa!-QMkF|7DpljGW^W2=}|5_DFD zRXGdZDcfMQT)Hp*|!LOO_`7S8ptJr$1PN>RO?lBg_zlg7l@2Z9kNzhvlIjEiL|JZ*8=xZYoHcA;~qn$#F zs1(0VopVtZ-oQXoZrr-d@#^KBz2jh+e4P^hDSxJyyA2482+EbLriPshzj!|6*26^T zNZY4=+ebY1VnQ`k0`KU=@w(dYo@|V}by#RfhaMb~g#}w+4V-ZjsmL7-|7~3>ZHIBy z>C8Vs}s6zK-g_n|pqLXFw1Y5jb9w zlIU{%Sa!ynU5`7PqVviv!_CK8!{J%i9Bot<<}2@dC=U8hR+ni>L0E5RK>ZU=zwXcK zcI5ecahvm{lJL?cTE$-U@~>y1B~&INmem@VZvvItKO%db9?Jgoa|q zB-dcd$Dm@ZluNG)-UJ=Z&wNm*c1D`jgIPR~If4D3-OQ2ys-75#Y~xHYR%}blfNi1b zgRp>NP)#Ip2!f2-bR}{OKEEgob#J+){l#z2(Nv7_%Jf1cc=wlx^Sv`{k-G@LtFXr2 z1XAv2s0Feotm>(Cmf` z6)Hc+ys#p^DETG~YRX*O*Tx4>O^Z%S3DJ zO65C0YA5tU=jvX3Y@=&)(C34#Uk!)6%OFuzFPNPx$ICFl3$EfaWg0p2HRy(V>rUy) zLEp(HYXc&KJ^C0{pjMM;YA^R!>Qe%q00NGvyv{e1jK$==?Q?wLh&=Ms=T**~sr-7o z*B>Z(*Eq};i(Iskr{C{&!1V(Cy)o5Mt_qlO8K=&ca|_<7s>-`Xlm|^&nu`#1Z6ESf z`$mERE^Rah`-OuKDW?m@jxl@m%9$9nzqz9ttbaAvT*|lv>L7YRBAS-Z|Qi@HKILGtxs|DR>7iy34GAQQ{Pw6zy z6E`Rn+4y|paId~lJi5!PCw}#C^Kd3I0K+)xG^S;l(?Cw??SB<&*i{dkj`NHdA^jM; zSAY5Ai9YVyGu?t5CE#ATPrQSWNi8HE%Z~O|zx(0z4dxe;IJqJ8YKqv@07mT&UoR-8aier-El*FTg65hhqj zECp{&cy8w(>>h2JAjTVc(V1+84qv_37J8J9-oN<%@U~`^pveW{v?-zy5Bn^&e=w%+ z@42O@;yU4p2%~wJtF-MaJs!iY+;VDJe(OaJmUVcZls>be*s&?gWX-4P@4QXJsG`&i$VTq> z{ld=rZhe0bip1IdP0tz&Di|{qUisXmOf$fX^hn7hqc=$GOGl1lRuidXc)htnX*m94h2*oO_* zyv5|r?Qcz@iyT1LmKB%>CoQS$KUi%s_Vz=V1Ys=bKaxr9E(2FzTS6@rkQ@1~NLz;9d~q`$60l5FR5cMIR3Y5$I1EBS0rZVOnX|AW^mg~Wa^Z5M!KY|n(Nd-dF!UJ zhIj0#SJ7>qG;-pI5q~mAbgj3`36U!H*NDqhYC8(k!BI?r_aZJgQ8BRU1X*h=wR`}{ zX!!wxRG3-h@FWls|FUg;b%(^Hk}+9T$HS8s^azp#L6{;rDlr4p^+2VWd9bY9 zHc-z<2=H4BkE{Ir?&&_HoBsEt)Aj5^4ch#<(~s>c!RUrXIl7-|A2x(F3XOaVwYATY z%fpaw>Dgc`vANc&%nuC_LB;RoB2h$C_ISwQwgYAOM&m>VbM(-bDmyt zxdDO575dsZKcK#0oa5Du+x1dTuW}83&!TobbC{e`Wjz=>WbDdzpfr1a)}PlkY*;ss z=fH*Y`0a$+_I@}(!aiyX*sDZ+72rAmUr;W!j~679na?R5b3sS)Gw-`zAgOC~6*y?~ zr`thSc)>I;*-@!m$+2!&<#ODbqfgVcki4ZdFpMz2pvz#qrHiYRWUX=3ayru6=AO9d z$)?VFPT1&W^H2ER2|XTn*(IXpG!|TWM~Ec|l5GK5BSFc&+Moa;6F4+^$+Iz%OOZw>9{PrRHks98seJDLK7J1WsTzE`jDH9YQ@gokxcaZEd0y|fc4{Qbdj?RclA+; zdmi63ikVz--zm&08)@WIALK7`J?pv5ZJ5cyE1>t?*i1m}2IVmsqRnsa%^GdMA+RAN z&Hqj|U6Xj}rM5lIfOs3^_A0t0DE(;5G@1G|IX}}nEpFBN(c|^e`wQa-lS0S1jCpAz zPsj$`lTcRxTq{)=q-Y>;y=yXqv$tD-U&9QMW(3OYPN=Yc$sB2Mh-`tz{Ur6-ccykO z@igJD&)G3UqpDQ4xz__3=yk`&%%!t`YuV_qbD&6#4XMX zmF^}dr^#6fbpydR==p%GhCTudIsp`sAR8*FAM|~1rEOLrONmC1k68Ptd zvH2mTXj}E%%!A*Ot|hJJrII<-D5s+G0YN5`xRLXnj%TfFXJf)h%6m7*cb%M~XqnPi z7A4Z=jIG;ojgt&^mJ{^TpVQ8Zggz*1zzTu6M_@9I0v;>+dFIekEI+`p3Y>!bPD!@C|Ya1N7lePchryeuDe+n^>dXcmx2fDwwAu-q3 zVJYF53Cbp{C6ZanaHd97lgO#j7_^$JbP5PS8U`6?bNe(Uk6s1j$x#GJ94XZ) zNZYb8NypW&C5tiyo!o7ts)n_F|3;%Th0GCw#3}8!KT-7QvI3=)k^JWI$@znrY4O1q zTArbU?St}W9GtZey@QeB*MIC%F6@c2{Z6XNFj0vk4_mr*k=C;duTMkoHCn zh51*w3O$V@bA5=fO&>tji#J*|XeTOgQ2iV!)TrW4gQjHc9W*YUawX?%;LsP2Vt3ty zE;vt=H;coM|MaT`4OL36*ZPtqs)6-yPk5+n(GaSvOxYxUam;?DmY0Act&RM{C3b1%3nbyG1B99x>9dBoy{Y$3r8 zXRt`5IkI4#!+fn^z_Ush2_R$CTkf)9{$WmDE15|PIFh9qFk6Ui6D;C^+3bwfW zu9_!u|GhNwQFrGkclQ|g-dZ<5AG6JpLyR8mb%+y^A!NOP{5!|Mg6)r>2?DS{z(Oh( z5-gUHvtS{U7HWb;5G?p&2U3M{Lrjn}yx7ato%=N^QUy$niudzv^5bO9U=fU2v|p~+ zMg)?Og$0Pjl}~i!Vvlao`B(m3@(md;ye;B9UdWczpgB_PInts(BJo1`BbG314nsyU z02c2raaY{z!Q#>z=*AoU`gCKSw-`25w~EMa5hYy&;}>>S#)8d7a8XwmK>)UBiZkrX z?+R3x00079Nkl$I=s5(Is>ZvxOPjuvB4_oY#mAjLF z2*9Go7OuWCJDd@iBiJ$33K&6i#P*M10LG&A4hIVuc$6(9h+-%W1BBu6VwD^Dj2m>5 zyKER;lRNa5ErO8?{s%h#;f{4Ttzlrn#u8o~G9(IEP^fZ6zJsdqeeexY$R75b9!3rI5J_3lEhg2zKqCz diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002C900000278AEBB2DF17488D353.png b/modules/constraint_ik/design_docs/Pictures/10000000000002C900000278AEBB2DF17488D353.png deleted file mode 100644 index 4618a5411f08710354f526fdf7c6b1218260d0ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38347 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

5+8qw-@@pnpBeID=7n|>1 z)GCh;|9>MkV4CDRw8y0m^8*6fut5QZh$%ltv@ZcE@SJkh^cv|m(}c{Oy@ogemn1<|8}m&1oZumQw1x@oW!eZCZd8A}&+ zt_!uhi^5#&4#ih?zPkaFGV9K{Z0b90BoX*l#jrT%yu9w9I|I?3`vYNc zcu1ZL4yk-qoOE80avc5tZdYXT#ADM#t%_YRCGW=GIE7`>#_UoAF%n}PwDP@ z)pd1sy{_teeRWm!U$tV0$QM}N*%$1k0;rVi$`ctU=R+hO54!jhMkuw$uC^$I5YqxZ z&#IZp6?(P90gk!<5anLC5907$8O&VV7C?+JTeNbWfbR%fRj_hKJ{x?ux;4u4pMdlnAgvIY@E{BEn580q zcWis}VckD`%w>5yj+h5dN%j`sXZ}bk$%leu4Owyod~=8Ml>V$lx0y_s;DZ z^7*he9$`?a2Ze+?4eNE3ZbXG&ukbUsszEmA+?4SO{0poQF7{sZP@P(+i`d@$Y9Vir zj29Mpm9gIp`&{^-3vrxtz$^WvBj*fZjp0lNIam4J53Eejaq-(UQmKjPKr0JPkEa$I z3%(VUCOeIFKm9gPm(=B7$04i4EvrtXw!isos(JN24kjhzT;ZI0_pZ#@ffFCo=4|O| z8+1t>EN5$pf4-{9JakdMAW<+Z5|Kp9b2FDrv)gB8HjTc0lbhn{ZBn@uJb{HhBkU9T zeA}RZe)p2L0#<4;Kx#KdtWmAn*b|i%O-g703v$DXVTV zU!K`1#U4M|IuW}h-Dta7xN3jEOU4ifuJPEOun8G0vdhBb5Al)?Ym(k2$27S0#U z=l`aXFoE^n?TpZvdzAg{#RND)tyi0>!?f?P#rRcUW1&xUi7Zq3xYOyktHtIa$=A1a zNLl4(8$4~uWHPg?E~@HI9ApM~H0o>bIrKk{@c9X7Sx=KCr`p=;&&PN2IyyQ+Zik=0 ze3=`Lur9lUysgk$!axKJWO_V^RY?y$qC6K~W5=>)sRHxNpk0s5a3RJpd&SXR@1}&5 zm`^4t3l)Qw15*3Cc5!5vFHmGv)z%!Qbr3Y(VN>CL0@ zySG>fE$FgQAerC19)aMh&JFb{^_tZ5_X+l1Tsn1fbn<4<)OBr;inp-3_3y7IRTvOg z_`)&#*iJk5@@6tDY{y`9mi>+9W)iyGzIgZ%&BKy~!2d^ZsP=si@ttvrMbVrSE)7|sFdGY8hfggnz(50g9IN6E zzKeL4B!B+>;?|4z({Odt1KBAd8kS=+L;Re^@QI>~QhZ^8CQ@%Uh8t~*cWB3LtHWQQbq1~kvRF% znFwB9igH_velK*xlAzl&+qA_bMH==;?701`*Kkq?Wk0UR{Ag%%7HLJ<8VH^XEq(O| zfUx>GFbi6fUYG#Pxu>YO?EF41@#cHeb%6gS;9xVIyb+UaMv{5>##1nxaV!V z?xs35Kn;cpyHx6V01=$fzZlt|b8Oxyv7x}l-7{zAqT{931KbR#k$`Ezixb$VmcjvX z5TyD2aHt!$j|vP_C_NChMYvkfl*tKt_8r zx~-yk{~^x+(tX(b>tE*1rbM_Ji&E^HV; z0G;L~|U{!u`&%hX3Sy2pP96#gG5%$aO&_0y0vHmeih=gkc8 JC}(g|{|)IJmy7@a diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002C900000278EEE925F5104E07BE.png b/modules/constraint_ik/design_docs/Pictures/10000000000002C900000278EEE925F5104E07BE.png deleted file mode 100644 index a2263757b5ba9b77885d412290d61c6a119cf988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285496 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 ?YO<%=EJx)cX4*c(!a}?D5x$Fo!pb#fdoz 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

u-UaZkWi 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 *EJ$wIzX~ zVlbTJTkq)cDF12$vss1FoM|=p23CGz4P)-6pSj=0R9r<7Fys1PQgcRNJlpztZX_lr zhDrL64xRVu#Br(c&n?E-!0CQH9+${lWs{|b{F)X`)*@4ZXqfeKe>8D<&^Vx9w60%( zQP&T|e_$P+eP`Z@_KDyYf0!7LmMnDp=S=R6s|RGNH~UWcbhv9k?=3!R?Lq}5FvsVU zk}$Taa(;V@IB=q;IApvW6|Z=F;@M$I#{r7ys475Ey1Th zhdGwR98F}7TK3SQ`sslST?<3%#3cp=2ZbtVo`XcY%f-6n=Aa6*U!{A#u!!-Uviu!R zpRDiiHKtrV3&uEFON0*XwZP}kpYIA(*67Ud(!NOU?_Cg8re=H?D`5m-A0HcGjNBiS z_WN|jMV%MfuU-6hRqy*#<%QZ9v9id*$a2BpLmKg|5ll5|<6)62`5kS9`2smwV@Nl1 zzDQ}rl4kyq=rf%xJ3o=%Fg7YM;@x>8MDe5l;d=YoDn7Zh?mjbLwh^a-RhH+h(K&O% zOeFlr8m-mWxrs6sdM1`De%)|#M;piG%trv%K_UZM2GsahnCgj*H+eD zfa|TF)X6({LPpn@VLvcKDWCm5JKR9*6LMW_!7@x_=3xzqi9Y@Jv5R-GJ`MieDFLqf z`N2BQ8HqqK<^E-MC6rkT8Xrcw1Ys4+b{^YkdD^m%KAN7$q@WBUcBXc-09B6OUK2!a z3nD`pTFRU#%WAeAN85D};JX&wI@}gkGvM75xIke}QV0Vwl*JF&X)UtY7^3r@Kw#2|C_Rz(Bb~Vzfu0*huj1yfT4uHW z%ruXyA9CA&w&fJ9%~nlK?Z@#LiXh9jS0*b2!&TZfIrnvw5}=Y1M>jKSZ?YK5cEEoN z@y%)@GUwzNBl@27EZ4yC0XcMWfrv7WY&xA~MkyY6C@8tp$;qkHZQE{6u}3{ZYo<1l z(UDkSktGr|b%!`DO}qhJMZn&6*z0sKVO-8t6erH`)Zel(_5=)Fj(+hb^KMca4EG6a zyXYO*%PprM5oWzqXD%B^Z8Au`x$%|eDmt6!7A^#q_RVqrKEHiGp z&_@6oHu74${Z!(;puHP}#Rti(0VkJWUML?iRCyiE=~&KUntH`3*%eoI{WEd-D{;j1 z`-=l6ijn8Y9Fy}2zOmUHO?V|{m2p;Q=5a(h91#fMN^>k3$7FPu2yNqJxs|VUR9AJF z!583R2sHT7xQf3MGB-Q9y0VOwq>5EJILx{`8lPF#=MAsc+z%5_tlWp6DIAP6*s;JO zk={9+;5!t{C+pLDk>VFU>|4l7{A(@0WlDaR3x&8csT260b24SNQ06iEL@HS0&aY}PT~?#JUx z9hM82s!}iS6EZ+Ww5g5zxWn1`M&%3G*M@+hJ;vH|KgPjgcoSyhPv2{czghD3Rkmg* zQ(*cHrb!{*0dwjnZ=BHEy{;tM(X*={i#mknH|Wqi-5Y??J~9d*tF!Y-5wn)uK<>#h z3L$YRHnHgr%M{M(V`*!MYuKo$#IdI3$NI9+7KvSO$3kpP8z8P2m(`m2qQqaLP$x4$!Nx^@9o^p4GKXjn#$HXxTOufm`0?-i8_W$m3@|g!+jv-``i_Xs z;tY5(M{By&pSbALnE)JEW|;g$>S4}1+E3f>UavQAkeW;(c@csBZ$UHZxgX-8-*dlp z^6V}sy_n}%1u~b0f9^aheU=yc4$5+`Fg^A8I*H#<@Jrrc%*Vg06Q;vo+d@aE-NcGj zz4Ph4*)iFlo0V(p)b5jzF-2d2@p^`y>S(5OUO$Y<1?_ZT(s?nfxr!6uRJ+2xvSd;OhPj-Tssc zgZVbBZe-<7E^x#U(z+ByjzTj=!evPe6-mWuzk~KBvxV_FsLh{TcWO&xi#S7FO^u3= zBTo(bCX9uYe)J~NFAibYsZH+cEVJ~f!|u@(&crIZZILZhAcl^c#+0yM9!RvUvn zJxxt7IXc3quQ3=dmxU>XFf4J5u!#`#zNEx=uudGP(R+16ETCnw51PZ6y)uMJ0^OzJ zMfVe{!H1fYy+xc-u$HGrym8=|3CqmVYd1$g{iOlNoE7LPx$r$$X}J?#EOY|Al8*Oe zr=!)Z)F&F5Oa_{^K`OO=#103Lorzcn-P`YD-@yV8@#-T!s z^E%J2eNL9R|Itnq&0M)rwYC^{d+?5W^@xmo9=VC+yz68w6uw-USXd?=fw6P7Kjxz#oUhSy)(no4kQL zu{1h5did~RUtixVSFYr((LQzN%v$W{qtA3VjKzC*-@k#~x_C}p`n2%LlP7t2c)ms{ z$Gv#*AjQhtLkl{6J|)c{u9fx8eHtP1lI$F% zAn3T*`I!mAe=M4A6o1{p;a(FF8qP~g{W{)VNy8y4kV?u9EEel|BjHD?|IExxTE5~C zy?lGqstiX|f8*J+XFrlvRH(i;=>3wbqE8%mPTx7VXVQ;AFwsj($XyN<2yS9 zhE#Lzh898Kj7kB@+=GI{TD@ksYv`yP0{N}p$6CVWPoWPUJP_SxM5R(s;4bahp0In@t~J;p zquA-38-3Nmkf6SPoN5?-)ZE7kS&bm(Ly<16Z{NIm17Ww9r)S`7y?Vwqrg~~NS=4cM zW(K+gpxK#Pxwnm}zs)$|!SX%ZsHiBW%0>(V_`mv&^Y31jmj~F`^oFSr)=5jp4ZT^{ zYD;VQ_U%Cv&d%=D>(>gCvD1{s?(U%9wU6OAE?zk!XTZx@Z2LtM6H)2<`ucR^M8eww zXm464B?X*x{KUjWEQ4$Kdp!O3Q)8oe4RM*9V1$boMOe=isQdQqLcw)YJv}`~$MG6D zT)=tC@B0XRH04+z(%V0GSjF7ZlGI({pCZR{RAFtvaR=D|kW@0mq*LT%Wtr3#W80)e zW_43j(>d|_M^B&b$!|dZT6>>CU(n}1Yi7m@sP|;AWQnI`A3!of(rP;{6uW^Uv7GGU z;^JOOILPZdY*82_8e8Ex3`$q#O?kNatyP5|wBIKPvd)OO&@tWR{ zIU2k7!KY7l!1>#$pb%3v;N{`57k=&Amvufrt*}rHi|uj8;DMGbB_JqR2kCWVS zu6LPR9zn7T`}_N|EQ?$~RovX%NQKTh1lm{wL|i>yvT|~XF)<_K<8kV)R+ldI?UmbP zwr}6QipBmgI0TS*)v&Tyh$;`vBFpPvY4TK}FM|aob(VfVg{Q;&`j89SE)U$_mY|@d zM4wB5@%7x?-1+wPii(P*^S>O^-KUsLCRnsKYn--}d>VQ+G0^M7U7_y>Sh9%_8({8f z(AuM;!-Qi%q&6FZBeE=XI!_2#O4bVtDzOBc4vnJlNpE|5_-N<1y1G*8B_hhCt9Sbh zR4jCB`cWM`Jw5F{e-4+9cV-DoF6Z658CI;fG!$3l+C%VPm;@UKpX`8Bxl9|+i8znl z%KYJCYirA3FgiLqq8C>IS$V(v&^IQ7ZcBqGv;jIN)t!G);dkbyru7q<0Gfc`VS)vg zgLwMMlPBvsMP#+sZE0+5JOv%CCMNEbiUkQVv5!wlp5 z1vEeSg@J$n%O(H)PyYQcvmW*DKlv}W{m&);*8~6alYf0O9&Z2tSna?6<^N@C(q+BF z|6on>$P2jo-(T(Dg~}4$fBzGC*7N@_x&N!U{~yczAG`qmUmy7Y@k0O0*2I2~|9(xy cH<>&Ks=nTSzVi7X>y3}=86C+!WOMuf0LrKCp#T5? diff --git a/modules/constraint_ik/design_docs/Pictures/1000000000000400000004007DA1871E5E883934.png b/modules/constraint_ik/design_docs/Pictures/1000000000000400000004007DA1871E5E883934.png deleted file mode 100644 index ca6ceecb5be6e4c0df255e46df945584338e20ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105852 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%0DrctqoL?V~0v*F3VlQFV*8jIb1ZIc;Tf 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%0AvY~tX*wf!D4rS zXzM3MGbO zkz_S$<9Yo>W|I}Ysikxw_v8lRyf$(EeMFEW02`xb?WO&kaCVp9S1yJ74<3l9`W}&` zfNi+TqG2;Ac+Q60UR~x*o4&PZH8d?^qtg|EHGB6*bLRi z!)O$F7swl>?&(qoza}xc0afl3+-inWF%iNl3qR!QpaCX4A_7jRSWEBbnu2t#g{Or~ zC|;sztX{iA8v!LWGeqkk&3QV-01EuZeN_0qZ{{TGNrCjeq0ymd7(faw>HQD?frW>~ z;1`zofBTRB>FwylV(|NaemnXw34Z^#P5l4#ng1(^#Lx|(5C6ZX)&EbQA)!0^pLX*< t(@G4!K!V@@$DjG1Ht~OztL$K==vFWBzwyVWd(bVM($v++JZ^pC{{#IbMF0Q* diff --git a/modules/constraint_ik/design_docs/Pictures/10000201000002020000018EF75E743EDC6A705E.png b/modules/constraint_ik/design_docs/Pictures/10000201000002020000018EF75E743EDC6A705E.png deleted file mode 100644 index a949b58c73f123a02e8e6fa7f225088b74165b8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33815 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 XOv270zl`34fRDFt-b)sXgMI!VUDEy` diff --git a/modules/constraint_ik/design_docs/Pictures/1000020100000286000001D10AA6EC3093AC56D5.png b/modules/constraint_ik/design_docs/Pictures/1000020100000286000001D10AA6EC3093AC56D5.png deleted file mode 100644 index 86258c569625c39d64bcd2b8713cb63923b50d59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21430 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 D6QF3? diff --git a/modules/constraint_ik/design_docs/Pictures/100002010000030D0000026B7F70BE2E85BEF4BE.png b/modules/constraint_ik/design_docs/Pictures/100002010000030D0000026B7F70BE2E85BEF4BE.png deleted file mode 100644 index f473a770fa7b900092d7016825e1e01529d1995a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56415 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�$Z?4seQJs1AZ2J8 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 diff --git a/modules/constraint_ik/design_docs/readme.md b/modules/constraint_ik/design_docs/readme.md deleted file mode 100644 index a3105edae229..000000000000 --- a/modules/constraint_ik/design_docs/readme.md +++ /dev/null @@ -1,555 +0,0 @@ -# EWBIK: A Highly General, Fast, Constrainable, and Stable Inverse Kinematics algorithm - -_Eron Gjoni_ - -This document introduces Entirely Wahba's-problem Based Inverse -Kinematics (EWBIK). EWBIK is fast and stable and remains so under -arbitrary joint orientation constraints, multiple end-effectors, -intermediary effectors, position and orientation targets of arbitrary -target weight priority, and any mix of the aforementioned. This document -additionally introduces Kusudama constraints, which provide a means for -fast, continuous, and expressive joint orientation constraints. A full -implementation of the EWB-IK algorithm and Kusudama constraint system is -available on the \*Everything WIll Be IK\* Java library github page^[^1]^, -a Processing demo implementation of the library is also available^[^2]^ -for quick visualization and use-case testing. - -## 0. Preamble and Authors: - -The Godot Engine many bone IK project is a port from a Java project by Eron Gjoni [Everything-Will-Be-IK](https://github.com/EGjoni/Everything-Will-Be-IK). - -The authors' GitHub usernames are indicated in parentheses. - -- Eron Gjoni (EGjoni) -- K. S. Ernest (iFire) Lee (fire) -- rafallus Rafael M. G. (rafallus) -- lyuma (lyuma) - -## 1. Introduction and Motivation: - -The two most popular approaches to the Inverse Kinematics problem for -interactive or real-time use cases are Cyclic Coordinate Descent^[^3]^ -(CCD) and Forward And Backward Reaching Inverse Kinematics (FABRIK). - -CCD offers highly stable and fast solutions that behave well under -joint constraints. However, CCD can solve only for single -target-effector pairs, and becomes highly unstable when negotiating -between multiple effectors aiming for potentially mutually exclusive -targets. - -FABRIK offers highly stable and fast solutions that naturally handle -multiple effectors with potentially mutually exclusive targets. -However, FABRIK is, in practice, extremely unstable when used with -joint constraints. - -Foregoing joint constraints to ensure stable FABRIK solutions results -in highly unnatural (often extremely painful) looking poses. While -foregoing consideration of more than one target-effector pair per bone -to ensure stable but well constrained CCD solutions results in -incomplete poses where, even if two separate bone chains with two -separate effectors could theoretically reach both of their targets -while obeying all constraints, only one effector actually does. - -From this, it should be apparent that the strengths and weaknesses of -these two approaches are approximate complements of one another, in -effect leaving developers to pick their poison. Additionally, both -approaches fail to meaningfully account for target orientations, which -can result in extremely unnatural pose solutions where the -end-effector must be rotated post-hoc to bear the brunt of orientation -alignment. - -## 2. The Importance of Orientation Targets: - -Consider a humanoid (perhaps yourself, if you happen to be -approximately humanoid in shape) sitting at a table, with the back of -its hand flat against the table such that its fingers are pointing -directly away from its torso. If the humanoid were instructed to -rotate its hand around its middle knuckle, such that the back of its -hand remained flat against the table, but its fingers now pointed -toward its torso; the orientation of all of the bones in the humanoid, -from its wrist up to its shoulder, and perhaps even part of its spine, -would have to change drastically to allow for this. - -If we treat the humanoid's pelvis as one effector and the chair as -that effector's target, and treat its knuckle bone as another -effector, and the spot on the table to which the knuckle bone must -remain affixed as the knuckle bone's target, we observe that even if -the *positions *of the targets do not change at all, there can be -massive differences in the poses an armature must adopt based solely -on the *orientations *of its targets. - -This should illustrate the importance of treating target orientations -as first class citizens throughout the entire IK procedure. If we -solve only for positions and leave target orientations as an -afterthought (as CCD and FABRIK implementations most often do) we are -left to decide between "cheating" by violating joint constraints so an -effector is still aligned with its target (often resulting in effector -joints that look like they're painfully hyperextending), or else -strictly obeying the joint constraints but failing to solve for an -otherwise reachable target. - -## 3. The Basic Idea: - -EWBIK can be thought of as a "blockwise" generalization of Inverse -Kinematics by CCD. The primary distinction is that, where CCD seeks to -iteratively minimize the angular discrepancy between a bone-chain's -end-effector and its corresponding target from the perspective of -every bone in the chain, EWBIK instead seeks to minimize an _average_ -discrepancy between _all_ effector-target pairs for *every *bone in -the chain. - -Broadly EWBIK starts from the outermost bones of an armature, and -proceeds rootward as follows: - -1. Create working copies of the origin and basis vectors and origins of - - all target and effector transforms relevant to a given bone, and - translate them along with the given bone transform's origin such - that the bone transform's origin is at (0,0,0). - -2. Find the rotation that minimizes the average of the discrepancy - - between each effector-target pair, and apply that rotation to the - bone. - -3. Rectify the bone's orientation to reside back within an allowable - - orientation as per any limits imposed by dampening parameters or - joint constraint on the bone if necessary, then proceed to the - next bone. - -4. Once the root bone has been reached, repeat the process starting - from the outermost bones until convergence or budget exhaustion. - -\*Figure 1.1 - 1.2: A simplified sketch of a step in the algorithm. -Effector basis vectors are marked in orange, target basis vectors are -marked in blue. Dashed magenta lines indicate the deltas between each -effector basis vector/origin and its corresponding target basis vector -/ origin. **\*⊕** _indicates the origin of the bone under consideration -at this step in the algorithm_. - -![](./Pictures/1000000000000400000004007DA1871E5E883934.png){width="3.0984in" -height="2.6563in"}![](./Pictures/10000000000004000000040014FDC3377E0AD7E4.png){width="3.1193in" -height="2.6457in"} - -

- -Figure 1.1 (left): \*Armature prior to rotation about **\*⊕** so as to -_minimize average discrepancies between effector points and -corresponding target points. _ - -Figure 1.2 (right): *Armature *after rotation about **⊕** so as to -minimize average *discrepancies *between all descendant effector points -and their corresponding target points. - -
- -
- -Naively, we might expect difficulties in the EWBIK procedure to arise -in step 2. However, step 2 amounts to a special case of _Wahba's -Problem_: that of finding the orthogonal transformation that best -aligns one set of vectors with a corresponding target set of vectors. -This type of problem arises often in bioinformatics, astronomy, -crystallography and computer vision, and can be solved extremely -quickly by any number of existing algorithms. Of these, the Kabsch -alignment algorithm and the Quaternion Characteristic Polynomial (QCP) -algorithms are perhaps the most popular. - -EWBIK has been verified to work fine with either algorithm, though QCP -is recommended for its stability, simplicity, framework agnosticism, -lack of edge-cases^[^4]^, and speed. - -Efficient implementations of both the QCP and Kabsch alignment -algorithms are widely available in a number of languages, and since -they (and related algorithms) are roughly interchangeable for our -purposes, their mathematical peculiarities will not be covered here, -and the rest of this document will refer to whatever algorithm you -choose for the purpose of minimizing the discrepancy between -point-pairs as _The Minimizer_. - -## 4. Role of The Minimizer: - -Chief among EWBIK's strengths is that no distinction is made by the -solver between position and orientation targets. Both orientation and -position are encoded simply as point pairs for the Minimizer to solve -over. - -This is achieved by representing each target as a set of up to 7 -points. One point representing the target origin, three points -representing the basis vectors emanating from that origin, and three -points representing the opposites of the basis vectors with respect to -the target origin. Effectors are represented in precisely the same -way. These 7 point-pairs are then fed to the minimizer, which attempts -to find the orthogonal transformation (usually just rotation) that -minimizes the average distance between all effector-target pairs. - -## 5. Multiple End and Intermediary-Effectors: - -\*\* \*\*Since the Minimizer blindly operates on point-pairs, generalizing -to solve for multiple effectors is trivial. We simply feed the Minimizer -all additional effector-target point-pairs for any other effectors we -wish to optimize a bone's orientation for. If the Minimizer optimizes -for the average euclidean distance between effector-target pairs, we can -even weigh some targets more strongly than others by just scaling the -effector-target pairs about the bone origin in proportion to the -precedence we want to place on that target-effector pair. This works -because rotation of any point closer to the origin results in a smaller -change in euclidean distance than does rotation of any point further -from the origin.^[^5]^ - -Additionally, we can weigh a target\'s orientation more or less -strongly than its position by scaling the basis vectors of the target -and/or effector about their respective origins. - -## 6. Preprocessing: - -When using EWBIK to solve for a single effector-target pair, no -preprocessing of the armature is required. However, if solving for -multiple effector-target pairs, the armature must be segmented prior to -solve time so as to ensure that ancestor bones are only solved for after -all of their descendant bones have been solved for, otherwise an -ancestor might end up minimizing for stale effector pairs as descendant -lineages have yet to finish solving. - -Such a problem scenario is depicted in _Figure 2.1_, the appropriate -segmentation of which is depicted in _Figure 2.2_. The rectangles -indicate logical segments. The numbers and letters indicate processing -order. With the only processing rule being that no bone of a greater -letter may be processed before any bone of a lesser letter, and no bone -of a greater number may be processed before any bone of a lesser number -in the same segment. - -![Figure 2.1](./Pictures/1000020100000286000001D10AA6EC3093AC56D5.png) -_Figure 2.1 (left): An example armature, with effectored bones indicated in orange._ - -![Figure 2.2](./Pictures/100002010000030D0000026B7F70BE2E85BEF4BE.png) -_Figure 2.2 (right): Segmented representation of the example armature in 2.1._ - -## 7. Solving: - -Once the segments have been created, we create working copies of the -basis vectors and origins representing all descendant target and -effector transforms on the segment, as well as opposing basis vectors -(copies of the original basis vectors flipped about their transform's -origin). Below, we will call any copies representing target basis -vectors and their opposites **_c_basisTargets_**, and any copies -representing effector basis vectors and their opposites -**_c_basisEffectors_**. We will call any copies representing origins -**_c_originTargets_** and **_c_originEffectors_**. - -From there, the simplest and fastest version of the EWBIK procedure -starts from the outermost segments and works inward to the root segment, -doing as follows for each bone in each segment: - -1. Reset the working copies of the targets and effector to correspond - - to their original values. Subtract the current bone's origin from - all _c_basisTarget_, *c_basisEffector, c_originTarget, *and* - c_originEffector * points. - - a. Scale any *c_basisTargets *about their corresponding *c_originTargets *such that their distance from their corresponding _c_originTarget_ is no less than 1, and also no less than the magnitude of their corresponding _c_originTarget, _ - - b. Scale any *c_basisEffectors *about their corresponding _c_originEffectors_ such that their distance from their corresponding _c_originEffectors_ is no less than 1, and no less than the magnitude of their corresponding _c_originTargets._ - -2. Use The Minimizer to compute the rotation that brings all - - _c\_\*Effector_ points as close as possible to their corresponding - _c\_\*Target_ points. - - a. Clamp this rotation by the desired dampening parameter. - - b. Apply the clamped rotation to the bone. - -3. Check if the bone has violated any of its orientation constraints as - - a result of this rotation. If it has, rotate the bone to reside - within a valid region of its orientation constraint. - -4. If the bone's parent is contained in the current segment, repeat - this process for the parent bone. Otherwise, traversal for this - segment is complete. - -Repeat the whole process until the armature has converged or the -computation budget has been exceeded. - -## 8. Constraints: - -\*\* \*\*In theory, EWBIK should work well with any type of commonly used -joint constraint (doing so requires no more than implementing step 3 in -the introductory section). Unfortunately, in practice, most commonly -used joint constraints come with their own set of tradeoffs. An ideal -orientation constraint system would provide the following - -1. **Continuity**: No sharp concave corners for a bone to get "stuck" in. - -2. **Versatility**: It should be possible to specify any conceivable orientation region. - -3. **Expressiveness**: The desired shape of the allowable orientation region should be fully specifiable with as few parameters as possible. - -4. **Speed**: as few operations as possible should be required to determine if a Bone is within the valid orientation region, or to determine the smallest rotation that brings it back within a valid orientation (note that this follows naturally from the previous criterion). - -5. **Extensibility**: The constraints should be amenable to specification of any number of additional properties that may vary continuously throughout or beyond the allowable orientations region (hard vs soft boundaries, high vs low friction regions, etc). - -The simplest conceivable systems for orientation constraints are Euler -angles, which offer speed, but not much else; and Reach cones, which -offer continuity, speed, and extensibility, but lack expressiveness or -versatility. - -More versatile constraint systems allow for per-vertex specification of -a polygonal bounding region on the surface of a sphere. Much like reach -cones, these operate on the principle that any point which resides -outside of the polygonal region should be transformed so as to reside on -the edge or vertex to which it is closest (see _figure 3.1 for a planar -representation_). -Unfortunately, the fewer edges the polygonal region is specified by, the greater the probability that it is closest to a vertex of the polygon than to an edge, which often results in the point getting "stuck" in corners (see _Figure 3.2 for a planar representation_). - -![Figure 3.1](./Pictures/10000000000002C900000278AEBB2DF17488D353.png) -![Figure 3.2](./Pictures/10000000000002C90000027876C8370C9358FB94.png) - -_Figure 3.1 (left): A sampling of points outside of the bounding region, with dotted lines indicating the area on the bounding region to which the constraint would transform them._ - -_Figure 3.2 (right): Colored areas indicate the edge to which any point within that area would be transformed so as to reside within the bounding polygon. Red regions indicate areas where all points would be transformed onto a single vertex._ - -These discontinuous corners can cause problems for an IK solver because they create local minima that are very difficult for solvers to find a way out of. Worse still, if the solver does get out, it tends to do so very suddenly, leading to jarring and unnatural "pops" between solutions. - -A common workaround is to smooth these corners out using splines or bezier curves, (see _Figure 4_ for a planar representation). However, while this solves the discontinuity problem, it does so at a significant performance penalty, because the only way to check whether or not a point on a sphere lies within the bounding spline is by segmenting the spline into very tiny linear segments, which then each have to be checked individually. - -![Figure 4](./Pictures/10000000000002C900000278EEE925F5104E07BE.png) -_Figure 4: A sampling of points outside of a continuous, spline-based bounding region, with dotted lines indicating the area on the bounding region to which the constraint would transform the point._ - -Aside from the performance penalty, the spline scheme is also somewhat strange conceptually in that it attempts to overcome the consequences of relying on a polygonal specification by adding an approximation of curvature by an increase in the number of line segments, and then mapping that approximation onto a sphere -- a domain in which curvature is already the rule, and linearity is inherently unnatural. - -If we start from scratch, and develop our bounding scheme with the upfront understanding that it will be mapped onto a sphere, instead of using points and lines as the fundamental units of our bounding region, we should prefer instead to think in terms of circles. Under such a scheme, a bounding region similar to that defined by the seven parameters (vertices) of Figure 5.1 might be represented as that defined by the six parameters (three circle centers, and three radii) of Figure 5.2. - -![Figure 5.1](./Pictures/10000000000002070000018EA6B7A87AEB9D9F40.png) -![Figure 5.2](./Pictures/10000000000002070000018EDE8A6B18141900B0.png) - -_Figure 5.1 (left): A polygonal bounding region, specified in terms of points and lines._ - -_Figure 5.2 (right): An approximation of the polygonal bounding region in Figure 5.1, specified as a connected sequence of circles of varying radii._ - -Note that because the bounding "lines" connecting any pair of circles are tangent to both circles, the entire boundary remains continuous. Of course, since we're mapping onto a sphere, these tangent "lines" are actually themselves circles of whatever radius is sufficient to contact both circle pairs (see Figure 6). Because there are an infinite number of circles which can contact two circles (both on the plane and on a sphere) we are also free to specify varying degrees of curvature to the regions bounding any two circles, as depicted in Figures 7.1 and 7.2. - -![Figure 6](./Pictures/100000000000016C000002AAA2059A0E43B2B468.png) -![Figure 7.1](./Pictures/10000201000002020000018EF75E743EDC6A705E.png) -![Figure 7.2](./Pictures/1000000000000139000000CB360C51B9B2145043.png) -![Figure 7.3](./Pictures/1000000000000139000000CBF393B4C3206D97F3.png) -![Figure 7.4](./Pictures/1000000000000139000000CB22CAE13E99E3E24B.png) - -_Figure 6: Spherical representation of bounding regions._ - -_Figure 7.1 (middle): Two circles (dark outline) and a sampling of the circles which lie tangent to both._ - -_Figure 7.2 (right): Result of choosing connecting circles of various radii._ - -These optional curvatures give us similar flexibility to that of the -spline approach, but need specify only one additional radius value per -pair of sequence-circles they connect (as there can only be at most two -tangent-circles satisfying a given radius). We'll look at the specifics -of representing our bounding region on a sphere in the next section, but -for now we'll limit ourselves to the plane so as to more easily -illustrate the form of the algorithm for checking whether we are within -the bounding region. - -We will presume our bounding region is made up of the three full circles -(which we will refer to as "sequence-circles") connected by a dotted -line depicted in _figure 8(a),_ and the six tangent-circles depicted in -light gray outlines in _figure_ _8(a2)_. - -1. We check to see if the point is within the two sequence-circles depicted in blue and green in _figure 8(b)_. - - a. If the point is within either sequence-circle, we terminate, as the point is within the allowable region. - - b. Otherwise, we proceed to step 2. - -2. We check to see if the point is within either of the two triangles depicted in amethyst in figure 8(c), which are formed by the centers of our pair of sequence-circle with the centers of the adjacent pair of tangent-circles. - - a. If the point is within either triangle, we proceed to step 3 - - b. Otherwise, we skip to step 4. - -3. We check to see if the point is within either of the adjacent tangent circles as depicted in _figure 8(d)_. - - a. If it is within one of the tangent-circles, then we transform it away from the center of the tangent-circle within which it resides such that its distance from the tangent-circle's center is equal to the radius of that tangent-circle (_figure 8(d2)_). Then terminate, as we have finished moving the point to the boundary of the allowable region. - - b. If it isn't within either circle, then proceed to step 4. - -4. Proceed to the next pair in the sequence (_figure 8(f)_), treating the blue sequence-circle from the previous steps as if it were the new green sequence-circle, and treating the next circle in the sequence as being the new blue sequence-circle. Repeat steps 1 through 4 (_figure 8(g)_) until the blue sequence-circle under consideration is the last one in the sequence, then proceed to step 6. - -5. If the point wasn't in any of the regions checked so far, then by process of elimination, it resides outside of any of the sequence circles, and the regions connecting the sequence circles, and anywhere which should be transformed to the regions connecting the sequence circles. So we just iterate through each sequence-circle individually, store the translation that would bring us (h) to its boundary, and apply whichever of the translations was smallest (i). - -| ![a](./Pictures/10000000000002070000018E853FACED42A51700.png) | ![a2](./Pictures/10000000000002070000018E1025A91C2576C186.png) | -| :-----------------------------------------------------------: | :------------------------------------------------------------: | -| (a) | (a2) | - -| ![b](./Pictures/10000000000002070000018E9D87E7B297A94C9F.png) | ![c](./Pictures/10000000000002070000018EE63F4ECE1A82B606.png) | -| :-----------------------------------------------------------: | :-----------------------------------------------------------: | -| (b) | (c) | - -| ![d](./Pictures/10000000000002070000018EDF01F2A95A1519D7.png) | ![d2](./Pictures/10000000000002070000018ED76B18851DB9DC34.png) | -| :-----------------------------------------------------------: | :------------------------------------------------------------: | -| (d) | (d2) | - -![f](./Pictures/10000000000002070000018EBC567E962B9B4C87.png) -(f) - -(g) -![g1](./Pictures/10000000000002070000018E832AFC8FF38BF53F.png) -![g2](./Pictures/10000000000002070000018ECB3181C74F9EDC35.png) -![g3](./Pictures/10000000000002070000018E173E86C323891A74.png) -![g4](./Pictures/10000000000002070000018EEE6FC1E017012EDA.png) - -| ![h](./Pictures/10000000000002070000018E6996B4A5DF706332.png) | ![i](./Pictures/10000000000002070000018E845771BD15F39314.png) | -| :-----------------------------------------------------------: | :-----------------------------------------------------------: | -| (h) | (i) | - -_Figure 8 (black regions indicate areas which have been eliminated from -further consideration by previous steps in the algorithm)_ - -## 9. Kusudamas: - -The spherical representation of such a bounding region uses cones -instead of circles. We replace the centers of the circles with vectors -pointing away from the constraint's origin, and replace their radii -with the half-angle of that cone's apex. - -This representation may be considered a generalization of the reach -cone concept. We call it a "Kusudama", as it resembles the spherical -japanese papercraft models made by sewing or glueing pyramidal units -through a common vertex. - -We are free to choose the apex angle of our tangent cones (and -therefore the curvature of the bounding region connecting our -sequence-cones) however we wish, so long as the following properties -are met. - -1. As the sum of the apex angles of our pair of sequence-cones - - approaches zero, the apex angles of the tangent cones must - approach π. - -2. As the sum of the apex angles of our pair of sequence-cones - approaches π, the apex angles of the tangent cones must approach 0. - -A straightforward function for automatically determining a reasonable -tangent cone radius in absence of any information aside from the radii -of the two sequence cones being connected is - -$$\frac{\pi - {({\theta{a + \theta}b})}}{2}$$ - -Where $$\theta a$$ and $$\theta b$$ are the apex angles of the two -sequence-cones being connected. - -Once we've determined an appropriate radius for a given tangent-cone, -all that's left is to find the direction in which it should point. To -do this, take the vectors representing the axis of the sequence-cones -being connected, and scale them to a magnitude of -$$\cos\left(\frac{\theta_{s} + \theta_{t}}{2}\right)$$ -Where $\theta_{s}$ is the apex angle of the sequence-cone to which the -vector corresponds, and $\theta_{t}$ is the apex angle of the -tangent cone we're determining the direction of. The two planes which -run through and are perpendicular to the tips of these scaled axis -vectors will intersect on a line running through the unit sphere. The -two points where this line intersects the unit sphere may be treated -as vectors representing the directions of our tangent-cone axes. - -Our full procedure for checking collisions is much the same as in the -planar case, with only minor modifications to account for the change in -topology. It goes as follows: - -1. We check to see if the angle between the bone's direction and the - - direction of the axis of each sequence-cone is less than the apex - angle of the sequence cones under consideration. - - a. If it is, we terminate, as the bone orientation is within the allowable region. - - b. Otherwise, we proceed to step 2. - -2. For each adjacent pair of sequence cones, we check to see if the - - bone direction is within either of the tetrahedrons formed by the - constraint origin, the line connecting the vectors representing - the two sequence-cone axes to each other, and the lines connecting - each sequence-cone axis to each tangent cone axis. - - a. If the bone direction is within either tetrahedron, we proceed to step 3 - - b. Otherwise, we skip to step 4. - -3. We check to see if the angle between the bone's direction and the direction of the axis of the tangent-cone coinciding with this tetrahedron is less than the apex half-angle of the tangent-cone under consideration. - - a. If it is, then we find the rotation which would transform the bone direction away from the tangent-cone in which it resides such that the angle between the bone direction and the tangent-cone's direction is equal to the apex half-angle of that tangent-cone. We do not terminate or apply this rotation. If the angle of this rotation is less than any currently stored rotation, we replace that rotation with this rotation, otherwise, we ignore this rotation. We then proceed to step 4. - - b. If it isn't, then proceed to step 4. - -4. We shift to the next pair of adjacent sequence cones and repeat steps 1 through 4 until one of the sequence cones under consideration is the last cone defined. Then proceed to step 5 - -5. We iterate again through each sequence-cone individually, and for each sequence-cone find the rotation which would transform the bone such that its angle from that sequence-cone axis is less than half the apex-angle of that sequence cone. We update the currently stored smallest rotation whenever we find a smaller rotation. (In effect, preferring to rotate the bone to the nearest constraint boundary) - -6. We apply the currently stored smallest rotation, and terminate. - -Note that as presented above, Kusudamas are only constraining the -direction (aka swing) of the bone. To constrain their axial orientation -(aka twist), a swing-twist decomposition may be used (as is common for -reach cone constraints). For best results, the constraint axis against -which twist is determined should be pointing as far away as possible -from the constraint\'s allowable region. - -**11. Robustness under enhancement:** - -In the canonical form presented above, Kusudumas empirically play quite -well with the EWBIK procedure. However, because the Kusudama scheme is -flexible enough to allow for "soft" or "springy" constraints, it is -possible to create a constraint landscape in which the solver undulates -around some optimum^[^6]^ . If it is absolutely critical that such -undulation be avoided, we can do so by incurring only a minor -performance penalty to check that the RMSD of our solution after -rotating and constraining a bone is less than or equal to our RMSD -before rotating and constraining the bone. If our RMSD is greater, we -simply discard our rotation + constraint transformation that step, and -allow the other bones in the chain to pick up the slack. - -
- -[^1]: [_https://github.com/EGjoni/Everything-Will-Be-IK_](https://github.com/EGjoni/Everything-Will-Be-IK) -[^2]: [_https://github.com/EGjoni/Everything-Will-Be-IK-Processing_](https://github.com/EGjoni/Everything-Will-Be-IK-Processing) -[^3]: - There is some terminological ambiguity as to what constitutes - "Coordinate Descent." Here, as is the case with the original CCD IK - algorithm, Coordinate Descent is used to refer to problems in which - each coordinate (e.g, a single variable at some cross section of a - multivariable function) can be precisely minimized. Cyclic - Coordinate Descent guarantees that so long as the function being - minimized is continuous and convex, successive minimization along - any permutation of its coordinates will converge on the global - minimum of the function (so long as evaluation of any coordinate is - preferred by no more than a constant factor). - - Procedures where multiple variables are minimized per iteration are - most often referred to as Blockwise Coordinate Descent. - -[^4]: - With single precision floating point, QCP may under some - degenerate conditions require renormalization of the resultant - quaternion. This renormalization does not affect solution quality, - but may be worth considering for anyone looking to hyper-optimize - performance, as it does require an additional square root operation. - In theory, double precision floating point should occasionally - require similar rectification, though for somewhat mysterious - reasons it never seems to in practice. - -[^5]: - This can occur incidentally, where one set of target-effector - point-pairs happens to be closer to the origin of a bone being - solved for than another set of target-effector point-pairs. For this - reason, the full EWBIK procedure scales the basis vectors of any - target and effector transforms by the distance between the target - transform's origin and the origin of the transform of the bone being - solved for. - -[^6]: - In theory, even the simple canonical form of kusudamas should be - subject to this. Though, in practice it's almost never an issue - until soft constraints enter the mix. diff --git a/modules/constraint_ik/doc_classes/ConstraintIK3D.xml b/modules/constraint_ik/doc_classes/ConstraintIK3D.xml deleted file mode 100644 index 0446de231a62..000000000000 --- a/modules/constraint_ik/doc_classes/ConstraintIK3D.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - A general inverse kinematics system with constraints. - - - The ConstraintIK3D class provides a comprehensive system for inverse kinematics (IK) with support for various constraints. It allows for complex IK setups involving multiple bones, each with their own constraints and parameters. - - - - - - - - - Returns the index of the constraint with the given name. If no such constraint exists, returns -1. - - - - - - Returns the total number of bones in the IK system. - - - - - - Returns the total number of constraints in the IK system. - - - - - - - Returns the name of the constraint at the specified index. - - - - - - - - - - - - - - - - - - - - Returns the center of the limit cone for the kusudama at the specified index. - - - - - - - Returns the count of limit cones for the kusudama at the specified index. - - - - - - - - Returns the radius of the limit cone for the kusudama at the specified index. - - - - - - - - - - - - - - - - - - Registers the skeleton to the IK system. This should be called after all bones and constraints have been added to the system. - - - - - - Resets all constraints in the IK system to their default state. - - - - - - - Sets the total number of constraints. - - - - - - - - - - - - - - - - - - - - Marks the IK system as dirty, indicating that it needs to be updated. This should be called whenever a significant change is made to the system. - - - - - - - - - - - - - - - - Sets the center of the limit cone for the kusudama at the specified index. - - - - - - - - Sets the count of limit cones for the kusudama at the specified index. - - - - - - - - - Sets the radius of the limit cone for the kusudama at the specified index. - - - - - - - - - - - - - - - - - - - - A boolean value indicating whether the IK system is in constraint mode or not. - - - The default maximum number of radians a bone is allowed to rotate per solver iteration. The lower this value, the more natural the pose results. However, this will increase the number of iterations_per_frame the solver requires to converge. - - - The number of iterations performed by the solver per frame. - - - The number of stabilization passes performed by the solver. This can help to improve the stability of the IK solution. - - - The index of the bone currently selected in the user interface. - - - diff --git a/modules/constraint_ik/doc_classes/IKBone3D.xml b/modules/constraint_ik/doc_classes/IKBone3D.xml deleted file mode 100644 index b9eb5a3db688..000000000000 --- a/modules/constraint_ik/doc_classes/IKBone3D.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - A class representing a 3D bone in an Inverse Kinematics system. - - - The IKConstraintBone3D class represents a 3D bone in an Inverse Kinematics (IK) system. It provides methods to get and set constraints, pins, and check if the bone is pinned. - - - - - - - - Returns the IKKusudama3D object representing the constraint of the bone. - - - - - - Returns the IKConstraintNode3D object representing the orientation transform of the constraint. - - - - - - Returns the IKConstraintNode3D object representing the twist transform of the constraint. - - - - - - Returns the IKConstraintEffector3D object representing the pin of the bone. - - - - - - Returns true if the bone is pinned, false otherwise. - - - - - - - Sets the IKConstraintEffector3D object representing the pin of the bone. - - - - diff --git a/modules/constraint_ik/doc_classes/IKBoneSegment3D.xml b/modules/constraint_ik/doc_classes/IKBoneSegment3D.xml deleted file mode 100644 index 945bcc51daa1..000000000000 --- a/modules/constraint_ik/doc_classes/IKBoneSegment3D.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - A class representing a 3D bone segment in an Inverse Kinematics system. - - - The IKBoneSegment3D class represents a 3D bone segment in an Inverse Kinematics (IK) system. It provides methods to get the IK bone associated with the segment and check if the segment is pinned. - - - - - - - - - Returns the IKConstraintBone3D object associated with the given bone index. - - - - - - Returns true if the bone segment is pinned, false otherwise. - - - - diff --git a/modules/constraint_ik/doc_classes/IKEffector3D.xml b/modules/constraint_ik/doc_classes/IKEffector3D.xml deleted file mode 100644 index 3e70aca6fae7..000000000000 --- a/modules/constraint_ik/doc_classes/IKEffector3D.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - A class representing a 3D effector in an Inverse Kinematics system. - - - The IKConstraintEffector3D class represents an effector in a 3D Inverse Kinematics (IK) system. An effector is the end point of a chain of bones, and its position is used to calculate the rotations of all preceding bones in the IK chain. This class provides methods for getting and setting the target node of the effector. - - - - - - Pins can be ultimate targets or intermediary targets. - By default, each pin is treated as an ultimate target, meaning any bones which are ancestors to that pin's effector are not aware of any pins which are the target of bones descending from that effector. - Changing this value makes ancestor bones aware and determines how much less they care with each level down. - Presuming all descendants of this pin have a falloff of 1, then: A pin falloff of 0 on this pin means only this pin is reported to ancestors. A pin falloff of 1 on this pin means ancestors care about all descendant pins equally (after accounting for their pin weight), regardless of how many levels down they are. A pin falloff of 0.5 means each descendant pin is used about half as much as its ancestor. The pin's falloff of a descendant is taken into account for each level with each level. - Meaning, if this pin has a falloff of 1 and its descendent has a falloff of 0.5, then it will be reported with total weight. Then, its descendant will be calculated with total weight; the descendant of that pin will be calculated with half weight. Finally, the descendant of that one's descendant will be with calculated quarter weight. - - - diff --git a/modules/constraint_ik/doc_classes/IKEffectorTemplate3D.xml b/modules/constraint_ik/doc_classes/IKEffectorTemplate3D.xml deleted file mode 100644 index 640dfd723bdb..000000000000 --- a/modules/constraint_ik/doc_classes/IKEffectorTemplate3D.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - A template class for creating 3D effectors in an Inverse Kinematics system. - - - The IKEffectorTemplate3D class provides a template for creating effectors in a 3D Inverse Kinematics (IK) system. It includes properties for direction priorities, passthrough factor, target node, and weight. These properties can be set to customize the behavior of the effector. - - - - - - - - - - - - - - - - - - - Specifies the priority of movement in each direction (X, Y, Z). Higher values indicate higher priority. - - - - - The weight of the effector. This determines how much the effector's position influences the IK calculation. Higher values result in greater influence. - - - diff --git a/modules/constraint_ik/doc_classes/IKNode3D.xml b/modules/constraint_ik/doc_classes/IKNode3D.xml deleted file mode 100644 index f46c01017b1f..000000000000 --- a/modules/constraint_ik/doc_classes/IKNode3D.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - A 3D node used for inverse kinematics calculations. - - - The IKConstraintNode3D class provides a node that can be used in an inverse kinematics chain. It includes methods for getting and setting the global and local transforms of the node, as well as disabling scaling and converting between local and global coordinates. - - - - - - - - Returns the global transform of this node. - - - - - - Returns the parent of this node. - - - - - - Returns the local transform of this node. - - - - - - Returns whether scaling is disabled for this node. - - - - - - - - Rotates the local transform of this node with a global basis. If propagate is true, the rotation is also applied to the children of this node. - - - - - - - Disables or enables scaling for this node. - - - - - - - Sets the global transform of this node. - - - - - - - Sets the parent of this node. - - - - - - - Sets the local transform of this node. - - - - - - - Converts a point from local space to global space. - - - - - - - Converts a point from global space to local space. - - - - diff --git a/modules/constraint_ik/register_types.cpp b/modules/constraint_ik/register_types.cpp deleted file mode 100644 index 1af389cdd6a5..000000000000 --- a/modules/constraint_ik/register_types.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************/ -/* register_types.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "register_types.h" - -#include "src/ik_bone_3d.h" -#include "src/ik_effector_3d.h" -#include "src/ik_effector_template_3d.h" -#include "src/ik_kusudama_3d.h" -#include "src/many_bone_ik_3d.h" - -#ifdef TOOLS_ENABLED -#include "editor/many_bone_ik_3d_gizmo_plugin.h" -#endif - -void initialize_constraint_ik_module(ModuleInitializationLevel p_level) { - if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE) { - } -#ifdef TOOLS_ENABLED - if (p_level == MODULE_INITIALIZATION_LEVEL_EDITOR) { - EditorPlugins::add_by_type(); - } -#endif - if (p_level == MODULE_INITIALIZATION_LEVEL_SERVERS) { - GDREGISTER_CLASS(IKConstraintEffectorTemplate3D); - GDREGISTER_CLASS(ConstraintIK3D); - GDREGISTER_CLASS(IKConstraintBone3D); - GDREGISTER_CLASS(IKConstraintNode3D); - GDREGISTER_CLASS(IKConstraintEffector3D); - GDREGISTER_CLASS(IKConstraintBoneSegment3D); - GDREGISTER_CLASS(IKKusudama3D); - GDREGISTER_CLASS(IKRay3D); - GDREGISTER_CLASS(IKLimitCone3D); - } -} - -void uninitialize_constraint_ik_module(ModuleInitializationLevel p_level) { - if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) { - return; - } -} diff --git a/modules/constraint_ik/register_types.h b/modules/constraint_ik/register_types.h deleted file mode 100644 index 4cc1f39d7f12..000000000000 --- a/modules/constraint_ik/register_types.h +++ /dev/null @@ -1,39 +0,0 @@ -/**************************************************************************/ -/* register_types.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef CONSTRAINT_IK_REGISTER_TYPES_H -#define CONSTRAINT_IK_REGISTER_TYPES_H - -#include "modules/register_module_types.h" - -void initialize_constraint_ik_module(ModuleInitializationLevel p_level); -void uninitialize_constraint_ik_module(ModuleInitializationLevel p_level); - -#endif // CONSTRAINT_IK_REGISTER_TYPES_H diff --git a/modules/constraint_ik/src/ik_bone_3d.cpp b/modules/constraint_ik/src/ik_bone_3d.cpp deleted file mode 100644 index ab790dbd62e1..000000000000 --- a/modules/constraint_ik/src/ik_bone_3d.cpp +++ /dev/null @@ -1,363 +0,0 @@ -/**************************************************************************/ -/* ik_bone_3d.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "ik_bone_3d.h" -#include "ik_kusudama_3d.h" -#include "many_bone_ik_3d.h" -#include "math/ik_node_3d.h" -#include - -void IKConstraintBone3D::set_bone_id(BoneId p_bone_id, Skeleton3D *p_skeleton) { - ERR_FAIL_NULL(p_skeleton); - bone_id = p_bone_id; -} - -BoneId IKConstraintBone3D::get_bone_id() const { - return bone_id; -} - -void IKConstraintBone3D::set_parent(const Ref &p_parent) { - ERR_FAIL_COND(p_parent.is_null()); - parent = p_parent; - if (parent.is_valid()) { - parent->children.push_back(this); - godot_skeleton_aligned_transform->set_parent(parent->godot_skeleton_aligned_transform); - constraint_orientation_transform->set_parent(parent->godot_skeleton_aligned_transform); - constraint_twist_transform->set_parent(parent->godot_skeleton_aligned_transform); - } -} - -void IKConstraintBone3D::update_default_bone_direction_transform(Skeleton3D *p_skeleton) { - Vector3 child_centroid; - int child_count = 0; - - for (Ref &ik_bone : children) { - child_centroid += ik_bone->get_ik_transform()->get_global_transform().origin; - child_count++; - } - - if (child_count > 0) { - child_centroid /= child_count; - } else { - const PackedInt32Array &bone_children = p_skeleton->get_bone_children(bone_id); - for (BoneId child_bone_idx : bone_children) { - child_centroid += p_skeleton->get_bone_global_pose(child_bone_idx).origin; - } - child_centroid /= bone_children.size(); - } - - const Vector3 &godot_bone_origin = godot_skeleton_aligned_transform->get_global_transform().origin; - child_centroid -= godot_bone_origin; - - if (Math::is_zero_approx(child_centroid.length_squared())) { - if (parent.is_valid()) { - child_centroid = parent->get_bone_direction_transform()->get_global_transform().basis.get_column(Vector3::AXIS_Y); - } else { - child_centroid = get_bone_direction_transform()->get_global_transform().basis.get_column(Vector3::AXIS_Y); - } - } - - if (!Math::is_zero_approx(child_centroid.length_squared()) && (children.size() || p_skeleton->get_bone_children(bone_id).size())) { - child_centroid.normalize(); - Vector3 bone_direction = bone_direction_transform->get_global_transform().basis.get_column(Vector3::AXIS_Y); - bone_direction.normalize(); - bone_direction_transform->rotate_local_with_global(Quaternion(child_centroid, bone_direction)); - } -} - -void IKConstraintBone3D::update_default_constraint_transform() { - Ref parent_bone = get_parent(); - if (parent_bone.is_valid()) { - Transform3D parent_bone_aligned_transform = get_parent_bone_aligned_transform(); - constraint_orientation_transform->set_global_transform(parent_bone_aligned_transform); - } - - Transform3D set_constraint_twist_transform = get_set_constraint_twist_transform(); - constraint_twist_transform->set_global_transform(set_constraint_twist_transform); - - if (constraint.is_null()) { - return; - } - - TypedArray cones = constraint->get_open_cones(); - Vector3 direction; - if (cones.size() == 0) { - direction = bone_direction_transform->get_global_transform().basis.get_column(Vector3::AXIS_Y); - } else { - float total_radius_sum = calculate_total_radius_sum(cones); - direction = calculate_weighted_direction(cones, total_radius_sum); - direction -= constraint_orientation_transform->get_global_transform().origin; - } - - Vector3 twist_axis = set_constraint_twist_transform.basis.get_column(Vector3::AXIS_Y); - Quaternion align_dir = Quaternion(twist_axis, direction); - constraint_twist_transform->rotate_local_with_global(align_dir); -} - -Ref IKConstraintBone3D::get_parent() const { - return parent; -} - -void IKConstraintBone3D::set_pin(const Ref &p_pin) { - ERR_FAIL_COND(p_pin.is_null()); - pin = p_pin; -} - -Ref IKConstraintBone3D::get_pin() const { - return pin; -} - -void IKConstraintBone3D::set_pose(const Transform3D &p_transform) { - godot_skeleton_aligned_transform->set_transform(p_transform); -} - -Transform3D IKConstraintBone3D::get_pose() const { - return godot_skeleton_aligned_transform->get_transform(); -} - -void IKConstraintBone3D::set_global_pose(const Transform3D &p_transform) { - godot_skeleton_aligned_transform->set_global_transform(p_transform); - Transform3D transform = constraint_orientation_transform->get_transform(); - transform.origin = godot_skeleton_aligned_transform->get_transform().origin; - constraint_orientation_transform->set_transform(transform); - constraint_orientation_transform->_propagate_transform_changed(); -} - -Transform3D IKConstraintBone3D::get_global_pose() const { - return godot_skeleton_aligned_transform->get_global_transform(); -} - -Transform3D IKConstraintBone3D::get_bone_direction_global_pose() const { - return bone_direction_transform->get_global_transform(); -} - -void IKConstraintBone3D::set_initial_pose(Skeleton3D *p_skeleton) { - ERR_FAIL_NULL(p_skeleton); - if (bone_id == -1) { - return; - } - Transform3D bone_origin_to_parent_origin = p_skeleton->get_bone_pose(bone_id); - set_pose(bone_origin_to_parent_origin); -} - -void IKConstraintBone3D::set_skeleton_bone_pose(Skeleton3D *p_skeleton) { - ERR_FAIL_NULL(p_skeleton); - Transform3D bone_to_parent = get_pose(); - p_skeleton->set_bone_pose_position(bone_id, bone_to_parent.origin); - if (!bone_to_parent.basis.is_finite()) { - bone_to_parent.basis = Basis(); - } - p_skeleton->set_bone_pose_rotation(bone_id, bone_to_parent.basis.get_rotation_quaternion()); - p_skeleton->set_bone_pose_scale(bone_id, bone_to_parent.basis.get_scale()); -} - -void IKConstraintBone3D::create_pin() { - pin = Ref(memnew(IKConstraintEffector3D(this))); -} - -bool IKConstraintBone3D::is_pinned() const { - return pin.is_valid(); -} - -void IKConstraintBone3D::_bind_methods() { - ClassDB::bind_method(D_METHOD("get_pin"), &IKConstraintBone3D::get_pin); - ClassDB::bind_method(D_METHOD("set_pin", "pin"), &IKConstraintBone3D::set_pin); - ClassDB::bind_method(D_METHOD("is_pinned"), &IKConstraintBone3D::is_pinned); - ClassDB::bind_method(D_METHOD("get_constraint"), &IKConstraintBone3D::get_constraint); - ClassDB::bind_method(D_METHOD("get_constraint_orientation_transform"), &IKConstraintBone3D::get_constraint_orientation_transform); - ClassDB::bind_method(D_METHOD("get_constraint_twist_transform"), &IKConstraintBone3D::get_constraint_twist_transform); -} - -IKConstraintBone3D::IKConstraintBone3D(StringName p_bone, Skeleton3D *p_skeleton, const Ref &p_parent, Vector> &p_pins, float p_default_dampening, - ConstraintIK3D *p_many_bone_ik) { - ERR_FAIL_NULL(p_skeleton); - - default_dampening = p_default_dampening; - cos_half_dampen = cos(default_dampening / real_t(2.0)); - set_name(p_bone); - bone_id = p_skeleton->find_bone(p_bone); - if (p_parent.is_valid()) { - set_parent(p_parent); - } - for (Ref elem : p_pins) { - if (elem.is_null()) { - continue; - } - if (elem->get_name() == p_bone) { - create_pin(); - Ref effector = get_pin(); - effector->set_motion_propagation_factor(elem->get_motion_propagation_factor()); - effector->set_weight(elem->get_weight()); - effector->set_direction_priorities(elem->get_direction_priorities()); - break; - } - } - bone_direction_transform->set_parent(godot_skeleton_aligned_transform); - - float predamp = 1.0 - get_stiffness(); - dampening = get_parent().is_null() ? Math_PI : predamp * p_default_dampening; - float iterations = p_many_bone_ik->get_iterations_per_frame(); - if (get_constraint().is_null()) { - Ref new_constraint; - new_constraint.instantiate(); - add_constraint(new_constraint); - } - float returnfulness = get_constraint()->get_resistance(); - float falloff = 0.2f; - half_returnfulness_dampened.resize(iterations); - cos_half_returnfulness_dampened.resize(iterations); - float iterations_pow = Math::pow(iterations, falloff * iterations * returnfulness); - for (float i = 0; i < iterations; i++) { - float iteration_scalar = ((iterations_pow)-Math::pow(i, falloff * iterations * returnfulness)) / (iterations_pow); - float iteration_return_clamp = iteration_scalar * returnfulness * dampening; - float cos_iteration_return_clamp = Math::cos(iteration_return_clamp / 2.0); - half_returnfulness_dampened.write[i] = iteration_return_clamp; - cos_half_returnfulness_dampened.write[i] = cos_iteration_return_clamp; - } -} - -float IKConstraintBone3D::get_cos_half_dampen() const { - return cos_half_dampen; -} - -void IKConstraintBone3D::set_cos_half_dampen(float p_cos_half_dampen) { - cos_half_dampen = p_cos_half_dampen; -} - -Ref IKConstraintBone3D::get_constraint() const { - return constraint; -} - -void IKConstraintBone3D::add_constraint(Ref p_constraint) { - constraint = p_constraint; -} - -Ref IKConstraintBone3D::get_ik_transform() { - return godot_skeleton_aligned_transform; -} - -Ref IKConstraintBone3D::get_constraint_orientation_transform() { - return constraint_orientation_transform; -} - -Ref IKConstraintBone3D::get_constraint_twist_transform() { - return constraint_twist_transform; -} - -void IKConstraintBone3D::set_constraint_orientation_transform(Ref p_transform) { - constraint_orientation_transform = p_transform; -} - -void IKConstraintBone3D::set_bone_direction_transform(Ref p_bone_direction) { - bone_direction_transform = p_bone_direction; -} - -Ref IKConstraintBone3D::get_bone_direction_transform() { - return bone_direction_transform; -} - -bool IKConstraintBone3D::is_orientationally_constrained() { - if (get_constraint().is_null()) { - return false; - } - return get_constraint()->is_orientationally_constrained(); -} - -bool IKConstraintBone3D::is_axially_constrained() { - if (get_constraint().is_null()) { - return false; - } - return get_constraint()->is_axially_constrained(); -} - -Vector &IKConstraintBone3D::get_cos_half_returnfullness_dampened() { - return cos_half_returnfulness_dampened; -} - -void IKConstraintBone3D::set_cos_half_returnfullness_dampened(const Vector &p_value) { - cos_half_returnfulness_dampened = p_value; -} - -Vector &IKConstraintBone3D::get_half_returnfullness_dampened() { - return half_returnfulness_dampened; -} - -void IKConstraintBone3D::set_half_returnfullness_dampened(const Vector &p_value) { - half_returnfulness_dampened = p_value; -} - -void IKConstraintBone3D::set_stiffness(double p_stiffness) { - stiffness = p_stiffness; -} - -double IKConstraintBone3D::get_stiffness() const { - return stiffness; -} - -Transform3D IKConstraintBone3D::get_parent_bone_aligned_transform() { - Ref parent_bone = get_parent(); - if (parent_bone.is_null()) { - return Transform3D(); - } - Transform3D parent_bone_aligned_transform = parent_bone->get_ik_transform()->get_global_transform(); - parent_bone_aligned_transform.origin = get_bone_direction_transform()->get_global_transform().origin; - return parent_bone_aligned_transform; -} - -Transform3D IKConstraintBone3D::get_set_constraint_twist_transform() const { - return constraint_orientation_transform->get_global_transform(); -} - -float IKConstraintBone3D::calculate_total_radius_sum(const TypedArray &p_cones) const { - float total_radius_sum = 0.0f; - for (int32_t i = 0; i < p_cones.size(); ++i) { - const Ref &cone = p_cones[i]; - if (cone.is_null()) { - break; - } - total_radius_sum += cone->get_radius(); - } - return total_radius_sum; -} - -Vector3 IKConstraintBone3D::calculate_weighted_direction(const TypedArray &p_cones, float p_total_radius_sum) const { - Vector3 direction = Vector3(); - for (int32_t i = 0; i < p_cones.size(); ++i) { - const Ref &cone = p_cones[i]; - if (cone.is_null()) { - break; - } - float weight = cone->get_radius() / p_total_radius_sum; - direction += cone->get_control_point() * weight; - } - direction.normalize(); - direction = constraint_orientation_transform->get_global_transform().basis.xform(direction); - return direction; -} diff --git a/modules/constraint_ik/src/ik_bone_3d.h b/modules/constraint_ik/src/ik_bone_3d.h deleted file mode 100644 index 058a9cc7b329..000000000000 --- a/modules/constraint_ik/src/ik_bone_3d.h +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************/ -/* ik_bone_3d.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef IK_CONSTRAINT_BONE_3D_H -#define IK_CONSTRAINT_BONE_3D_H - -#include "ik_effector_template_3d.h" -#include "ik_kusudama_3d.h" -#include "ik_open_cone_3d.h" -#include "math/ik_node_3d.h" - -#include "core/io/resource.h" -#include "core/object/ref_counted.h" -#include "scene/3d/skeleton_3d.h" - -class IKConstraintEffector3D; -class ConstraintIK3D; -class IKConstraintBone3D; - -class IKConstraintBone3D : public Resource { - GDCLASS(IKConstraintBone3D, Resource); - - BoneId bone_id = -1; - Ref parent; - Vector> children; - Ref pin; - - float default_dampening = Math_PI; - float dampening = get_parent().is_null() ? Math_PI : default_dampening; - float cos_half_dampen = Math::cos(dampening / 2.0f); - double cos_half_return_damp = 0.0f; - double return_damp = 0.0f; - Vector cos_half_returnfulness_dampened; - Vector half_returnfulness_dampened; - double stiffness = 0.0; - Ref constraint; - // In the space of the local parent bone transform. - // The origin is the origin of the bone direction transform - // Can be independent and should be calculated - // to keep -y to be the opposite of its bone forward orientation - // To avoid singularity that is ambiguous. - Ref constraint_orientation_transform = Ref(memnew(IKConstraintNode3D())); - Ref constraint_twist_transform = Ref(memnew(IKConstraintNode3D())); - Ref godot_skeleton_aligned_transform = Ref(memnew(IKConstraintNode3D())); // The bone's actual transform. - Ref bone_direction_transform = Ref(memnew(IKConstraintNode3D())); // Physical direction of the bone. Calculate Y is the bone up. - -protected: - static void _bind_methods(); - -public: - Vector &get_cos_half_returnfullness_dampened(); - void set_cos_half_returnfullness_dampened(const Vector &p_value); - Vector &get_half_returnfullness_dampened(); - void set_half_returnfullness_dampened(const Vector &p_value); - void set_stiffness(double p_stiffness); - double get_stiffness() const; - bool is_axially_constrained(); - bool is_orientationally_constrained(); - Transform3D get_bone_direction_global_pose() const; - Ref get_bone_direction_transform(); - void set_bone_direction_transform(Ref p_bone_direction); - void update_default_bone_direction_transform(Skeleton3D *p_skeleton); - void set_constraint_orientation_transform(Ref p_transform); - Ref get_constraint_orientation_transform(); - Ref get_constraint_twist_transform(); - void update_default_constraint_transform(); - void add_constraint(Ref p_constraint); - Ref get_constraint() const; - void set_bone_id(BoneId p_bone_id, Skeleton3D *p_skeleton = nullptr); - BoneId get_bone_id() const; - void set_parent(const Ref &p_parent); - Ref get_parent() const; - void set_pin(const Ref &p_pin); - Ref get_pin() const; - void set_global_pose(const Transform3D &p_transform); - Transform3D get_global_pose() const; - void set_pose(const Transform3D &p_transform); - Transform3D get_pose() const; - void set_initial_pose(Skeleton3D *p_skeleton); - void set_skeleton_bone_pose(Skeleton3D *p_skeleton); - void create_pin(); - bool is_pinned() const; - Ref get_ik_transform(); - IKConstraintBone3D() {} - IKConstraintBone3D(StringName p_bone, Skeleton3D *p_skeleton, const Ref &p_parent, Vector> &p_pins, float p_default_dampening = Math_PI, ConstraintIK3D *p_many_bone_ik = nullptr); - ~IKConstraintBone3D() {} - float get_cos_half_dampen() const; - void set_cos_half_dampen(float p_cos_half_dampen); - Transform3D get_parent_bone_aligned_transform(); - Transform3D get_set_constraint_twist_transform() const; - float calculate_total_radius_sum(const TypedArray &p_cones) const; - Vector3 calculate_weighted_direction(const TypedArray &p_cones, float p_total_radius_sum) const; -}; - -#endif // IK_CONSTRAINT_BONE_3D_H diff --git a/modules/constraint_ik/src/ik_bone_segment_3d.cpp b/modules/constraint_ik/src/ik_bone_segment_3d.cpp deleted file mode 100644 index d249e3417c41..000000000000 --- a/modules/constraint_ik/src/ik_bone_segment_3d.cpp +++ /dev/null @@ -1,427 +0,0 @@ -/**************************************************************************/ -/* ik_bone_segment_3d.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "ik_bone_segment_3d.h" - -#include "core/string/string_builder.h" -#include "ik_effector_3d.h" -#include "ik_kusudama_3d.h" -#include "many_bone_ik_3d.h" -#include "scene/3d/skeleton_3d.h" - -Ref IKConstraintBoneSegment3D::get_root() const { - return root; -} - -Ref IKConstraintBoneSegment3D::get_tip() const { - return tip; -} - -bool IKConstraintBoneSegment3D::is_pinned() const { - ERR_FAIL_COND_V(tip.is_null(), false); - return tip->is_pinned(); -} - -Vector> IKConstraintBoneSegment3D::get_child_segments() const { - return child_segments; -} - -void IKConstraintBoneSegment3D::create_bone_list(Vector> &p_list, bool p_recursive) const { - if (p_recursive) { - for (int32_t child_i = 0; child_i < child_segments.size(); child_i++) { - child_segments[child_i]->create_bone_list(p_list, p_recursive); - } - } - Ref current_bone = tip; - Vector> list; - while (current_bone.is_valid()) { - list.push_back(current_bone); - if (current_bone == root) { - break; - } - current_bone = current_bone->get_parent(); - } - p_list.append_array(list); -} - -void IKConstraintBoneSegment3D::update_pinned_list(Vector> &r_weights) { - for (int32_t chain_i = 0; chain_i < child_segments.size(); chain_i++) { - Ref chain = child_segments[chain_i]; - chain->update_pinned_list(r_weights); - } - if (is_pinned()) { - effector_list.push_back(tip->get_pin()); - } - double motion_propagation_factor = is_pinned() ? tip->get_pin()->get_motion_propagation_factor() : 1.0; - if (motion_propagation_factor > 0.0) { - for (Ref child : child_segments) { - effector_list.append_array(child->effector_list); - } - } -} - -void IKConstraintBoneSegment3D::_update_optimal_rotation(Ref p_for_bone, double p_damp, bool p_translate, bool p_constraint_mode, int32_t current_iteration, int32_t total_iterations) { - ERR_FAIL_COND(p_for_bone.is_null()); - _update_target_headings(p_for_bone, &heading_weights, &target_headings); - _update_tip_headings(p_for_bone, &tip_headings); - _set_optimal_rotation(p_for_bone, &tip_headings, &target_headings, &heading_weights, p_damp, p_translate, p_constraint_mode); -} - -Quaternion IKConstraintBoneSegment3D::clamp_to_cos_half_angle(Quaternion p_quat, double p_cos_half_angle) { - if (p_quat.w < 0.0) { - p_quat = p_quat * -1; - } - double previous_coefficient = (1.0 - (p_quat.w * p_quat.w)); - if (p_cos_half_angle <= p_quat.w || previous_coefficient == 0.0) { - return p_quat; - } else { - double composite_coefficient = Math::sqrt((1.0 - (p_cos_half_angle * p_cos_half_angle)) / previous_coefficient); - p_quat.w = p_cos_half_angle; - p_quat.x *= composite_coefficient; - p_quat.y *= composite_coefficient; - p_quat.z *= composite_coefficient; - } - return p_quat; -} - -float IKConstraintBoneSegment3D::_get_manual_msd(const PackedVector3Array &r_htip, const PackedVector3Array &r_htarget, const Vector &p_weights) { - float manual_RMSD = 0.0f; - float w_sum = 0.0f; - for (int i = 0; i < r_htarget.size(); i++) { - float x_d = r_htarget[i].x - r_htip[i].x; - float y_d = r_htarget[i].y - r_htip[i].y; - float z_d = r_htarget[i].z - r_htip[i].z; - float mag_sq = p_weights[i] * (x_d * x_d + y_d * y_d + z_d * z_d); - manual_RMSD += mag_sq; - w_sum += p_weights[i]; - } - manual_RMSD /= w_sum * w_sum; - return manual_RMSD; -} - -void IKConstraintBoneSegment3D::_set_optimal_rotation(Ref p_for_bone, PackedVector3Array *r_htip, PackedVector3Array *r_htarget, Vector *r_weights, float p_dampening, bool p_translate, bool p_constraint_mode, double current_iteration, double total_iterations) { - ERR_FAIL_COND(p_for_bone.is_null()); - ERR_FAIL_NULL(r_htip); - ERR_FAIL_NULL(r_htarget); - ERR_FAIL_NULL(r_weights); - - _update_target_headings(p_for_bone, &heading_weights, &target_headings); - Transform3D prev_transform = p_for_bone->get_pose(); - bool got_closer = true; - double bone_damp = p_for_bone->get_cos_half_dampen(); - int i = 0; - do { - _update_tip_headings(p_for_bone, &tip_headings); - if (!p_constraint_mode) { - Array superpose_result = QuaternionCharacteristicPolynomial::weighted_superpose(*r_htip, *r_htarget, *r_weights, p_translate, evec_prec); - Quaternion rotation = superpose_result[0]; - Vector3 translation = superpose_result[1]; - double dampening = (p_dampening != -1.0) ? p_dampening : bone_damp; - rotation = clamp_to_cos_half_angle(rotation, cos(dampening / 2.0)); - if (current_iteration == 0) { - current_iteration = 0.0001; - } - rotation = rotation.slerp(p_for_bone->get_global_pose().basis, static_cast(total_iterations) / current_iteration); - p_for_bone->get_ik_transform()->rotate_local_with_global(rotation); - Transform3D result = Transform3D(p_for_bone->get_global_pose().basis, p_for_bone->get_global_pose().origin + translation); - p_for_bone->set_global_pose(result); - } - bool is_parent_valid = p_for_bone->get_parent().is_valid(); - if (is_parent_valid && p_for_bone->is_orientationally_constrained()) { - p_for_bone->get_constraint()->snap_to_orientation_limit(p_for_bone->get_bone_direction_transform(), p_for_bone->get_ik_transform(), p_for_bone->get_constraint_orientation_transform(), bone_damp, p_for_bone->get_cos_half_dampen()); - } - if (is_parent_valid && p_for_bone->is_axially_constrained()) { - p_for_bone->get_constraint()->set_snap_to_twist_limit(p_for_bone->get_bone_direction_transform(), p_for_bone->get_ik_transform(), p_for_bone->get_constraint_twist_transform(), bone_damp, p_for_bone->get_cos_half_dampen()); - } - if (default_stabilizing_pass_count > 0) { - _update_tip_headings(p_for_bone, &tip_headings_uniform); - double current_msd = _get_manual_msd(tip_headings_uniform, target_headings, heading_weights); - if (current_msd <= previous_deviation * 1.0001) { - previous_deviation = current_msd; - got_closer = true; - break; - } else { - got_closer = false; - p_for_bone->set_pose(prev_transform); - } - } - i++; - } while (i < default_stabilizing_pass_count && !got_closer); - - if (root == p_for_bone) { - previous_deviation = INFINITY; - } -} - -void IKConstraintBoneSegment3D::_update_target_headings(Ref p_for_bone, Vector *r_weights, PackedVector3Array *r_target_headings) { - ERR_FAIL_COND(p_for_bone.is_null()); - ERR_FAIL_NULL(r_weights); - ERR_FAIL_NULL(r_target_headings); - int32_t last_index = 0; - for (int32_t effector_i = 0; effector_i < effector_list.size(); effector_i++) { - Ref effector = effector_list[effector_i]; - if (effector.is_null()) { - continue; - } - last_index = effector->update_effector_target_headings(r_target_headings, last_index, p_for_bone, &heading_weights); - } -} - -void IKConstraintBoneSegment3D::_update_tip_headings(Ref p_for_bone, PackedVector3Array *r_heading_tip) { - ERR_FAIL_NULL(r_heading_tip); - ERR_FAIL_COND(p_for_bone.is_null()); - int32_t last_index = 0; - for (int32_t effector_i = 0; effector_i < effector_list.size(); effector_i++) { - Ref effector = effector_list[effector_i]; - if (effector.is_null()) { - continue; - } - last_index = effector->update_effector_tip_headings(r_heading_tip, last_index, p_for_bone); - } -} - -void IKConstraintBoneSegment3D::segment_solver(const Vector &p_damp, float p_default_damp, bool p_constraint_mode, int32_t p_current_iteration, int32_t p_total_iteration) { - for (Ref child : child_segments) { - if (child.is_null()) { - continue; - } - child->segment_solver(p_damp, p_default_damp, p_constraint_mode, p_current_iteration, p_total_iteration); - } - bool is_translate = parent_segment.is_null(); - if (is_translate) { - Vector damp = p_damp; - damp.fill(Math_PI); - _qcp_solver(damp, Math_PI, is_translate, p_constraint_mode, p_current_iteration, p_total_iteration); - return; - } - _qcp_solver(p_damp, p_default_damp, is_translate, p_constraint_mode, p_current_iteration, p_total_iteration); -} - -void IKConstraintBoneSegment3D::_qcp_solver(const Vector &p_damp, float p_default_damp, bool p_translate, bool p_constraint_mode, int32_t p_current_iteration, int32_t p_total_iterations) { - for (Ref current_bone : bones) { - float damp = p_default_damp; - bool is_valid_access = !(unlikely((p_damp.size()) < 0 || (current_bone->get_bone_id()) >= (p_damp.size()))); - if (is_valid_access) { - damp = p_damp[current_bone->get_bone_id()]; - } - bool is_non_default_damp = p_default_damp < damp; - if (is_non_default_damp) { - damp = p_default_damp; - } - _update_optimal_rotation(current_bone, damp, p_translate, p_constraint_mode, p_current_iteration, p_total_iterations); - } -} - -void IKConstraintBoneSegment3D::_bind_methods() { - ClassDB::bind_method(D_METHOD("is_pinned"), &IKConstraintBoneSegment3D::is_pinned); - ClassDB::bind_method(D_METHOD("get_ik_bone", "bone"), &IKConstraintBoneSegment3D::get_ik_bone); -} - -IKConstraintBoneSegment3D::IKConstraintBoneSegment3D(Skeleton3D *p_skeleton, StringName p_root_bone_name, Vector> &p_pins, ConstraintIK3D *p_many_bone_ik, const Ref &p_parent, - BoneId p_root, BoneId p_tip, int32_t p_stabilizing_pass_count) { - root = p_root; - tip = p_tip; - skeleton = p_skeleton; - root = Ref(memnew(IKConstraintBone3D(p_root_bone_name, p_skeleton, p_parent, p_pins, Math_PI, p_many_bone_ik))); - if (p_parent.is_valid()) { - root_segment = p_parent->root_segment; - } else { - root_segment = Ref(this); - } - root_segment->bone_map[root->get_bone_id()] = root; - if (p_parent.is_valid()) { - parent_segment = p_parent; - root->set_parent(p_parent->get_tip()); - } - default_stabilizing_pass_count = p_stabilizing_pass_count; -} - -void IKConstraintBoneSegment3D::_enable_pinned_descendants() { - pinned_descendants = true; -} - -bool IKConstraintBoneSegment3D::_has_pinned_descendants() { - return pinned_descendants; -} - -Ref IKConstraintBoneSegment3D::get_ik_bone(BoneId p_bone) const { - if (!bone_map.has(p_bone)) { - return Ref(); - } - return bone_map[p_bone]; -} - -void IKConstraintBoneSegment3D::create_headings_arrays() { - Vector> penalty_array; - Vector> new_pinned_bones; - recursive_create_penalty_array(this, penalty_array, new_pinned_bones, 1.0); - pinned_bones.resize(new_pinned_bones.size()); - int32_t total_headings = 0; - for (const Vector ¤t_penalty_array : penalty_array) { - total_headings += current_penalty_array.size(); - } - for (int32_t bone_i = 0; bone_i < new_pinned_bones.size(); bone_i++) { - pinned_bones.write[bone_i] = new_pinned_bones[bone_i]; - } - target_headings.resize(total_headings); - tip_headings.resize(total_headings); - tip_headings_uniform.resize(total_headings); - heading_weights.resize(total_headings); - int currentHeading = 0; - for (const Vector ¤t_penalty_array : penalty_array) { - for (double ad : current_penalty_array) { - heading_weights.write[currentHeading] = ad; - target_headings.write[currentHeading] = Vector3(); - tip_headings.write[currentHeading] = Vector3(); - tip_headings_uniform.write[currentHeading] = Vector3(); - currentHeading++; - } - } -} - -void IKConstraintBoneSegment3D::recursive_create_penalty_array(Ref p_bone_segment, Vector> &r_penalty_array, Vector> &r_pinned_bones, double p_falloff) { - if (p_falloff <= 0.0) { - return; - } - - double current_falloff = 1.0; - - if (p_bone_segment->is_pinned()) { - Ref current_tip = p_bone_segment->get_tip(); - Ref pin = current_tip->get_pin(); - double weight = pin->get_weight(); - Vector inner_weight_array; - inner_weight_array.push_back(weight * p_falloff); - - double max_pin_weight = MAX(MAX(pin->get_direction_priorities().x, pin->get_direction_priorities().y), pin->get_direction_priorities().z); - max_pin_weight = max_pin_weight == 0.0 ? 1.0 : max_pin_weight; - - for (int i = 0; i < 3; ++i) { - double priority = pin->get_direction_priorities()[i]; - if (priority > 0.0) { - double sub_target_weight = weight * (priority / max_pin_weight) * p_falloff; - inner_weight_array.push_back(sub_target_weight); - inner_weight_array.push_back(sub_target_weight); - } - } - - r_penalty_array.push_back(inner_weight_array); - r_pinned_bones.push_back(current_tip); - current_falloff = pin->get_motion_propagation_factor(); - } - - for (Ref s : p_bone_segment->get_child_segments()) { - recursive_create_penalty_array(s, r_penalty_array, r_pinned_bones, p_falloff * current_falloff); - } -} - -void IKConstraintBoneSegment3D::recursive_create_headings_arrays_for(Ref p_bone_segment) { - p_bone_segment->create_headings_arrays(); - for (Ref segments : p_bone_segment->get_child_segments()) { - recursive_create_headings_arrays_for(segments); - } -} - -void IKConstraintBoneSegment3D::generate_default_segments(Vector> &p_pins, BoneId p_root_bone, BoneId p_tip_bone, ConstraintIK3D *p_many_bone_ik) { - Ref current_tip = root; - Vector children; - - while (!_is_parent_of_tip(current_tip, p_tip_bone)) { - children = skeleton->get_bone_children(current_tip->get_bone_id()); - - if (children.is_empty() || _has_multiple_children_or_pinned(children, current_tip)) { - _process_children(children, current_tip, p_pins, p_root_bone, p_tip_bone, p_many_bone_ik); - break; - } else { - Vector::Iterator bone_id_iterator = children.begin(); - current_tip = _create_next_bone(*bone_id_iterator, current_tip, p_pins, p_many_bone_ik); - } - } - - _finalize_segment(current_tip); -} - -bool IKConstraintBoneSegment3D::_is_parent_of_tip(Ref p_current_tip, BoneId p_tip_bone) { - return skeleton->get_bone_parent(p_current_tip->get_bone_id()) >= p_tip_bone && p_tip_bone != -1; -} - -bool IKConstraintBoneSegment3D::_has_multiple_children_or_pinned(Vector &r_children, Ref p_current_tip) { - return r_children.size() > 1 || p_current_tip->is_pinned(); -} - -void IKConstraintBoneSegment3D::_process_children(Vector &r_children, Ref p_current_tip, Vector> &r_pins, BoneId p_root_bone, BoneId p_tip_bone, ConstraintIK3D *p_many_bone_ik) { - tip = p_current_tip; - Ref parent(this); - - for (int32_t child_i = 0; child_i < r_children.size(); child_i++) { - BoneId child_bone = r_children[child_i]; - String child_name = skeleton->get_bone_name(child_bone); - Ref child_segment = _create_child_segment(child_name, r_pins, p_root_bone, p_tip_bone, p_many_bone_ik, parent); - - child_segment->generate_default_segments(r_pins, p_root_bone, p_tip_bone, p_many_bone_ik); - - if (child_segment->_has_pinned_descendants()) { - _enable_pinned_descendants(); - child_segments.push_back(child_segment); - } - } -} - -Ref IKConstraintBoneSegment3D::_create_child_segment(String &p_child_name, Vector> &p_pins, BoneId p_root_bone, BoneId p_tip_bone, ConstraintIK3D *p_many_bone_ik, Ref &p_parent) { - return Ref(memnew(IKConstraintBoneSegment3D(skeleton, p_child_name, p_pins, p_many_bone_ik, p_parent, p_root_bone, p_tip_bone))); -} - -Ref IKConstraintBoneSegment3D::_create_next_bone(BoneId p_bone_id, Ref p_current_tip, Vector> &p_pins, ConstraintIK3D *p_many_bone_ik) { - String bone_name = skeleton->get_bone_name(p_bone_id); - Ref next_bone = Ref(memnew(IKConstraintBone3D(bone_name, skeleton, p_current_tip, p_pins, p_many_bone_ik->get_default_damp(), p_many_bone_ik))); - root_segment->bone_map[p_bone_id] = next_bone; - - return next_bone; -} - -void IKConstraintBoneSegment3D::_finalize_segment(Ref p_current_tip) { - tip = p_current_tip; - - if (tip->is_pinned()) { - _enable_pinned_descendants(); - } - - StringBuilder name_builder; - name_builder.append("IKBoneSegment"); - name_builder.append(root->get_name()); - name_builder.append("Root"); - name_builder.append(tip->get_name()); - name_builder.append("Tip"); - - String ik_bone_name = name_builder.as_string(); - set_name(ik_bone_name); - bones.clear(); - create_bone_list(bones, false); -} diff --git a/modules/constraint_ik/src/ik_bone_segment_3d.h b/modules/constraint_ik/src/ik_bone_segment_3d.h deleted file mode 100644 index 19512e0332dc..000000000000 --- a/modules/constraint_ik/src/ik_bone_segment_3d.h +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************/ -/* ik_bone_segment_3d.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef IK_CONSTRAINT_BONE_SEGMENT_3D_H -#define IK_CONSTRAINT_BONE_SEGMENT_3D_H - -#include "ik_bone_3d.h" -#include "ik_effector_3d.h" -#include "ik_effector_template_3d.h" -#include "math/qcp.h" -#include "scene/3d/skeleton_3d.h" - -#include "core/io/resource.h" -#include "core/object/ref_counted.h" - -class IKConstraintEffector3D; -class IKConstraintBone3D; -class IKLimitCone3D; - -class IKConstraintBoneSegment3D : public Resource { - GDCLASS(IKConstraintBoneSegment3D, Resource); - Ref root; - Ref tip; - Vector> bones; - Vector> pinned_bones; - Vector> child_segments; // Contains only direct child chains that end with effectors or have child that end with effectors - Ref parent_segment; - Ref root_segment; - Vector> effector_list; - PackedVector3Array target_headings; - PackedVector3Array tip_headings; - PackedVector3Array tip_headings_uniform; - Vector heading_weights; - Skeleton3D *skeleton = nullptr; - bool pinned_descendants = false; - double previous_deviation = INFINITY; - int32_t default_stabilizing_pass_count = 0; // Move to the stabilizing pass to the ik solver. Set it free. - bool _has_pinned_descendants(); - void _enable_pinned_descendants(); - void _update_target_headings(Ref p_for_bone, Vector *r_weights, PackedVector3Array *r_htarget); - void _update_tip_headings(Ref p_for_bone, PackedVector3Array *r_heading_tip); - void _set_optimal_rotation(Ref p_for_bone, PackedVector3Array *r_htip, PackedVector3Array *r_heading_tip, Vector *r_weights, float p_dampening = -1, bool p_translate = false, bool p_constraint_mode = false, double current_iteration = 0, double total_iterations = 0); - void _qcp_solver(const Vector &p_damp, float p_default_damp, bool p_translate, bool p_constraint_mode, int32_t p_current_iteration, int32_t p_total_iterations); - void _update_optimal_rotation(Ref p_for_bone, double p_damp, bool p_translate, bool p_constraint_mode, int32_t current_iteration, int32_t total_iterations); - float _get_manual_msd(const PackedVector3Array &r_htip, const PackedVector3Array &r_htarget, const Vector &p_weights); - HashMap> bone_map; - bool _is_parent_of_tip(Ref p_current_tip, BoneId p_tip_bone); - bool _has_multiple_children_or_pinned(Vector &r_children, Ref p_current_tip); - void _process_children(Vector &r_children, Ref p_current_tip, Vector> &r_pins, BoneId p_root_bone, BoneId p_tip_bone, ConstraintIK3D *p_many_bone_ik); - Ref _create_child_segment(String &p_child_name, Vector> &p_pins, BoneId p_root_bone, BoneId p_tip_bone, ConstraintIK3D *p_many_bone_ik, Ref &p_parent); - Ref _create_next_bone(BoneId p_bone_id, Ref p_current_tip, Vector> &p_pins, ConstraintIK3D *p_many_bone_ik); - void _finalize_segment(Ref p_current_tip); - -protected: - static void _bind_methods(); - -public: - const double evec_prec = static_cast(1E-6); - void update_pinned_list(Vector> &r_weights); - static Quaternion clamp_to_cos_half_angle(Quaternion p_quat, double p_cos_half_angle); - static void recursive_create_headings_arrays_for(Ref p_bone_segment); - void create_headings_arrays(); - void recursive_create_penalty_array(Ref p_bone_segment, Vector> &r_penalty_array, Vector> &r_pinned_bones, double p_falloff); - void segment_solver(const Vector &p_damp, float p_default_damp, bool p_constraint_mode, int32_t p_current_iteration, int32_t p_total_iteration); - Ref get_root() const; - Ref get_tip() const; - bool is_pinned() const; - Vector> get_child_segments() const; - void create_bone_list(Vector> &p_list, bool p_recursive = false) const; - Ref get_ik_bone(BoneId p_bone) const; - void generate_default_segments(Vector> &p_pins, BoneId p_root_bone, BoneId p_tip_bone, ConstraintIK3D *p_many_bone_ik); - IKConstraintBoneSegment3D() {} - IKConstraintBoneSegment3D(Skeleton3D *p_skeleton, StringName p_root_bone_name, Vector> &p_pins, ConstraintIK3D *p_many_bone_ik, const Ref &p_parent = nullptr, - BoneId root = -1, BoneId tip = -1, int32_t p_stabilizing_pass_count = 0); - ~IKConstraintBoneSegment3D() {} -}; - -#endif // IK_CONSTRAINT_BONE_SEGMENT_3D_H diff --git a/modules/constraint_ik/src/ik_effector_3d.cpp b/modules/constraint_ik/src/ik_effector_3d.cpp deleted file mode 100644 index c812b49c03c8..000000000000 --- a/modules/constraint_ik/src/ik_effector_3d.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************/ -/* ik_effector_3d.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "ik_effector_3d.h" - -#include "core/typedefs.h" -#include "ik_bone_3d.h" - -Ref IKConstraintEffector3D::get_ik_bone_3d() const { - return for_bone; -} - -bool IKConstraintEffector3D::is_following_translation_only() const { - return Math::is_zero_approx(direction_priorities.length_squared()); -} - -void IKConstraintEffector3D::set_direction_priorities(Vector3 p_direction_priorities) { - direction_priorities = p_direction_priorities; -} - -Vector3 IKConstraintEffector3D::get_direction_priorities() const { - return direction_priorities; -} - -Transform3D IKConstraintEffector3D::get_target_global_transform() const { - return target_relative_to_skeleton_origin; -} - -int32_t IKConstraintEffector3D::update_effector_target_headings(PackedVector3Array *p_headings, int32_t p_index, Ref p_for_bone, const Vector *p_weights) const { - ERR_FAIL_COND_V(p_index == -1, -1); - ERR_FAIL_NULL_V(p_headings, -1); - ERR_FAIL_COND_V(p_for_bone.is_null(), -1); - ERR_FAIL_NULL_V(p_weights, -1); - - int32_t index = p_index; - Vector3 bone_origin_relative_to_skeleton_origin = for_bone->get_bone_direction_global_pose().origin; - p_headings->write[index] = target_relative_to_skeleton_origin.origin - bone_origin_relative_to_skeleton_origin; - index++; - Vector3 priority = get_direction_priorities(); - for (int axis = Vector3::AXIS_X; axis <= Vector3::AXIS_Z; ++axis) { - if (priority[axis] > 0.0) { - real_t w = p_weights->get(index); - Vector3 column = target_relative_to_skeleton_origin.basis.get_column(axis); - - p_headings->write[index] = (column + target_relative_to_skeleton_origin.origin) - bone_origin_relative_to_skeleton_origin; - p_headings->write[index] *= Vector3(w, w, w); - index++; - p_headings->write[index] = (target_relative_to_skeleton_origin.origin - column) - bone_origin_relative_to_skeleton_origin; - p_headings->write[index] *= Vector3(w, w, w); - index++; - } - } - - return index; -} - -int32_t IKConstraintEffector3D::update_effector_tip_headings(PackedVector3Array *p_headings, int32_t p_index, Ref p_for_bone) const { - ERR_FAIL_COND_V(p_index == -1, -1); - ERR_FAIL_NULL_V(p_headings, -1); - ERR_FAIL_COND_V(p_for_bone.is_null(), -1); - - Transform3D tip_xform_relative_to_skeleton_origin = for_bone->get_bone_direction_global_pose(); - Basis tip_basis = tip_xform_relative_to_skeleton_origin.basis; - Vector3 bone_origin_relative_to_skeleton_origin = p_for_bone->get_bone_direction_global_pose().origin; - - int32_t index = p_index; - p_headings->write[index] = tip_xform_relative_to_skeleton_origin.origin - bone_origin_relative_to_skeleton_origin; - index++; - double distance = target_relative_to_skeleton_origin.origin.distance_to(bone_origin_relative_to_skeleton_origin); - double scale_by = MIN(distance, 1.0f); - const Vector3 priority = get_direction_priorities(); - - for (int axis = Vector3::AXIS_X; axis <= Vector3::AXIS_Z; ++axis) { - if (priority[axis] > 0.0) { - Vector3 column = tip_basis.get_column(axis) * priority[axis]; - - p_headings->write[index] = (column + tip_xform_relative_to_skeleton_origin.origin) - bone_origin_relative_to_skeleton_origin; - p_headings->write[index] *= scale_by; - index++; - - p_headings->write[index] = (tip_xform_relative_to_skeleton_origin.origin - column) - bone_origin_relative_to_skeleton_origin; - p_headings->write[index] *= scale_by; - index++; - } - } - - return index; -} - -void IKConstraintEffector3D::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_motion_propagation_factor", "amount"), - &IKConstraintEffector3D::set_motion_propagation_factor); - ClassDB::bind_method(D_METHOD("get_motion_propagation_factor"), - &IKConstraintEffector3D::get_motion_propagation_factor); - - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "motion_propagation_factor"), "set_motion_propagation_factor", "get_motion_propagation_factor"); -} - -void IKConstraintEffector3D::set_weight(real_t p_weight) { - weight = p_weight; -} - -real_t IKConstraintEffector3D::get_weight() const { - return weight; -} - -IKConstraintEffector3D::IKConstraintEffector3D(const Ref &p_current_bone) { - ERR_FAIL_COND(p_current_bone.is_null()); - for_bone = p_current_bone; -} - -void IKConstraintEffector3D::set_motion_propagation_factor(float p_motion_propagation_factor) { - motion_propagation_factor = CLAMP(p_motion_propagation_factor, 0.0, 1.0); -} - -float IKConstraintEffector3D::get_motion_propagation_factor() const { - return motion_propagation_factor; -} diff --git a/modules/constraint_ik/src/ik_effector_3d.h b/modules/constraint_ik/src/ik_effector_3d.h deleted file mode 100644 index 8cfab8baa80a..000000000000 --- a/modules/constraint_ik/src/ik_effector_3d.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************/ -/* ik_effector_3d.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef IK_CONSTRAINT_EFFECTOR_3D_H -#define IK_CONSTRAINT_EFFECTOR_3D_H - -#include "core/object/ref_counted.h" -#include "scene/3d/skeleton_3d.h" - -#define MIN_SCALE 0.1 - -class ConstraintIK3D; -class IKConstraintBone3D; - -class IKConstraintEffector3D : public Resource { - GDCLASS(IKConstraintEffector3D, Resource); - friend class IKConstraintBone3D; - friend class IKBoneSegment3D; - - Ref for_bone; - bool use_target_node_rotation = true; - NodePath target_node_path; - ObjectID target_node_cache; - Node *target_node_reference = nullptr; - bool target_static = false; - Transform3D target_transform; - - Transform3D target_relative_to_skeleton_origin; - int32_t num_headings = 7; - // See IKEffectorTemplate to change the defaults. - real_t weight = 0.0; - real_t motion_propagation_factor = 0.0; - PackedVector3Array target_headings; - PackedVector3Array tip_headings; - Vector heading_weights; - Vector3 direction_priorities; - -protected: - static void _bind_methods(); - -public: - IKConstraintEffector3D() = default; - void set_weight(real_t p_weight); - real_t get_weight() const; - void set_direction_priorities(Vector3 p_direction_priorities); - Vector3 get_direction_priorities() const; - const float MAX_KUSUDAMA_OPEN_CONES = 30; - float get_motion_propagation_factor() const; - void set_motion_propagation_factor(float p_motion_propagation_factor); - Transform3D get_target_global_transform() const; - Ref get_ik_bone_3d() const; - bool is_following_translation_only() const; - int32_t update_effector_target_headings(PackedVector3Array *p_headings, int32_t p_index, Ref p_for_bone, const Vector *p_weights) const; - int32_t update_effector_tip_headings(PackedVector3Array *p_headings, int32_t p_index, Ref p_for_bone) const; - IKConstraintEffector3D(const Ref &p_current_bone); -}; - -#endif // IK_CONSTRAINT_EFFECTOR_3D_H diff --git a/modules/constraint_ik/src/ik_effector_template_3d.cpp b/modules/constraint_ik/src/ik_effector_template_3d.cpp deleted file mode 100644 index e113dfe03e0a..000000000000 --- a/modules/constraint_ik/src/ik_effector_template_3d.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************/ -/* ik_effector_template_3d.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "ik_effector_template_3d.h" - -#include "many_bone_ik_3d.h" - -void IKConstraintEffectorTemplate3D::_bind_methods() { - ClassDB::bind_method(D_METHOD("get_root_bone"), &IKConstraintEffectorTemplate3D::get_root_bone); - ClassDB::bind_method(D_METHOD("set_root_bone", "target_node"), &IKConstraintEffectorTemplate3D::set_root_bone); - - ClassDB::bind_method(D_METHOD("get_motion_propagation_factor"), &IKConstraintEffectorTemplate3D::get_motion_propagation_factor); - ClassDB::bind_method(D_METHOD("set_motion_propagation_factor", "motion_propagation_factor"), &IKConstraintEffectorTemplate3D::set_motion_propagation_factor); - - ClassDB::bind_method(D_METHOD("get_weight"), &IKConstraintEffectorTemplate3D::get_weight); - ClassDB::bind_method(D_METHOD("set_weight", "weight"), &IKConstraintEffectorTemplate3D::set_weight); - - ClassDB::bind_method(D_METHOD("get_direction_priorities"), &IKConstraintEffectorTemplate3D::get_direction_priorities); - ClassDB::bind_method(D_METHOD("set_direction_priorities", "direction_priorities"), &IKConstraintEffectorTemplate3D::set_direction_priorities); - - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "motion_propagation_factor"), "set_motion_propagation_factor", "get_motion_propagation_factor"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "weight"), "set_weight", "get_weight"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "direction_priorities"), "set_direction_priorities", "get_direction_priorities"); -} - -float IKConstraintEffectorTemplate3D::get_motion_propagation_factor() const { - return motion_propagation_factor; -} - -void IKConstraintEffectorTemplate3D::set_motion_propagation_factor(float p_motion_propagation_factor) { - motion_propagation_factor = p_motion_propagation_factor; -} - -IKConstraintEffectorTemplate3D::IKConstraintEffectorTemplate3D() { -} - -String IKConstraintEffectorTemplate3D::get_root_bone() const { - return root_bone; -} - -void IKConstraintEffectorTemplate3D::set_root_bone(String p_node_path) { - root_bone = p_node_path; -} diff --git a/modules/constraint_ik/src/ik_effector_template_3d.h b/modules/constraint_ik/src/ik_effector_template_3d.h deleted file mode 100644 index 009cf83d5179..000000000000 --- a/modules/constraint_ik/src/ik_effector_template_3d.h +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************/ -/* ik_effector_template_3d.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef IK_CONSTRAINT_EFFECTOR_TEMPLATE_3D_H -#define IK_CONSTRAINT_EFFECTOR_TEMPLATE_3D_H - -#include "core/io/resource.h" -#include "core/string/node_path.h" - -class IKConstraintEffectorTemplate3D : public Resource { - GDCLASS(IKConstraintEffectorTemplate3D, Resource); - - StringName root_bone; - NodePath target_node; - bool target_static = true; - real_t motion_propagation_factor = 1.0f; - real_t weight = 1.0f; - Vector3 priority_direction = Vector3(0.2f, 0.0f, 0.2f); // Purported ideal values are 1.0 / 3.0 for one direction, 1.0 / 5.0 for two directions and 1.0 / 7.0 for three directions. -protected: - static void _bind_methods(); - -public: - String get_root_bone() const; - void set_root_bone(String p_root_bone); - float get_motion_propagation_factor() const; - void set_motion_propagation_factor(float p_motion_propagation_factor); - real_t get_weight() const { return weight; } - void set_weight(real_t p_weight) { weight = p_weight; } - Vector3 get_direction_priorities() const { return priority_direction; } - void set_direction_priorities(Vector3 p_priority_direction) { priority_direction = p_priority_direction; } - - IKConstraintEffectorTemplate3D(); -}; - -#endif // IK_CONSTRAINT_EFFECTOR_TEMPLATE_3D_H diff --git a/modules/constraint_ik/src/many_bone_ik_3d.cpp b/modules/constraint_ik/src/many_bone_ik_3d.cpp deleted file mode 100644 index a146e8920974..000000000000 --- a/modules/constraint_ik/src/many_bone_ik_3d.cpp +++ /dev/null @@ -1,793 +0,0 @@ -/**************************************************************************/ -/* many_bone_ik_3d.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "many_bone_ik_3d.h" -#include "core/error/error_macros.h" -#include "core/math/math_defs.h" -#include "core/object/class_db.h" -#include "core/object/object.h" -#include "core/string/string_name.h" -#include "ik_bone_3d.h" -#include "ik_kusudama_3d.h" -#include "ik_open_cone_3d.h" -#include "scene/3d/skeleton_3d.h" -#include "scene/main/node.h" -#include "scene/main/scene_tree.h" - -void ConstraintIK3D::_update_ik_bones_transform() { - for (int32_t bone_i = bone_list.size(); bone_i-- > 0;) { - Ref bone = bone_list[bone_i]; - if (bone.is_null()) { - continue; - } - bone->set_initial_pose(get_skeleton()); - } -} - -void ConstraintIK3D::_update_skeleton_bones_transform() { - for (int32_t bone_i = bone_list.size(); bone_i-- > 0;) { - Ref bone = bone_list[bone_i]; - if (bone.is_null()) { - continue; - } - if (bone->get_bone_id() == -1) { - continue; - } - bone->set_skeleton_bone_pose(get_skeleton()); - } - update_gizmos(); -} - -void ConstraintIK3D::_get_property_list(List *p_list) const { - const Vector> ik_bones = get_bone_list(); - uint32_t constraint_usage = PROPERTY_USAGE_DEFAULT; - p_list->push_back( - PropertyInfo(Variant::INT, "constraint_count", - PROPERTY_HINT_RANGE, "0,256,or_greater", constraint_usage | PROPERTY_USAGE_ARRAY | PROPERTY_USAGE_READ_ONLY, - "Kusudama Constraints,constraints/")); - RBSet existing_constraints; - for (int constraint_i = 0; constraint_i < get_constraint_count(); constraint_i++) { - PropertyInfo bone_name; - bone_name.type = Variant::STRING_NAME; - bone_name.usage = constraint_usage; - bone_name.name = "constraints/" + itos(constraint_i) + "/bone_name"; - if (get_skeleton()) { - String names; - for (int bone_i = 0; bone_i < get_skeleton()->get_bone_count(); bone_i++) { - String name = get_skeleton()->get_bone_name(bone_i); - if (existing_constraints.has(name)) { - continue; - } - name += ","; - names += name; - existing_constraints.insert(name); - } - bone_name.hint = PROPERTY_HINT_ENUM_SUGGESTION; - bone_name.hint_string = names; - } else { - bone_name.hint = PROPERTY_HINT_NONE; - bone_name.hint_string = ""; - } - p_list->push_back(bone_name); - p_list->push_back( - PropertyInfo(Variant::FLOAT, "constraints/" + itos(constraint_i) + "/twist_start", PROPERTY_HINT_RANGE, "-359.9,359.9,0.1,radians,exp", constraint_usage)); - p_list->push_back( - PropertyInfo(Variant::FLOAT, "constraints/" + itos(constraint_i) + "/twist_end", PROPERTY_HINT_RANGE, "-359.9,359.9,0.1,radians,exp", constraint_usage)); - p_list->push_back( - PropertyInfo(Variant::INT, "constraints/" + itos(constraint_i) + "/kusudama_open_cone_count", PROPERTY_HINT_RANGE, "0,10,1", constraint_usage | PROPERTY_USAGE_ARRAY | PROPERTY_USAGE_READ_ONLY, - "Limit Cones,constraints/" + itos(constraint_i) + "/kusudama_open_cone/")); - for (int cone_i = 0; cone_i < get_kusudama_open_cone_count(constraint_i); cone_i++) { - p_list->push_back( - PropertyInfo(Variant::VECTOR3, "constraints/" + itos(constraint_i) + "/kusudama_open_cone/" + itos(cone_i) + "/center", PROPERTY_HINT_RANGE, "-1,1,0.1,exp", constraint_usage)); - - p_list->push_back( - PropertyInfo(Variant::FLOAT, "constraints/" + itos(constraint_i) + "/kusudama_open_cone/" + itos(cone_i) + "/radius", PROPERTY_HINT_RANGE, "0,180,0.1,radians,exp", constraint_usage)); - } - p_list->push_back( - PropertyInfo(Variant::TRANSFORM3D, "constraints/" + itos(constraint_i) + "/kusudama_twist", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); - p_list->push_back( - PropertyInfo(Variant::TRANSFORM3D, "constraints/" + itos(constraint_i) + "/kusudama_orientation", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); - p_list->push_back( - PropertyInfo(Variant::TRANSFORM3D, "constraints/" + itos(constraint_i) + "/bone_direction", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); - } -} - -bool ConstraintIK3D::_get(const StringName &p_name, Variant &r_ret) const { - String name = p_name; - if (name == "constraint_count") { - r_ret = get_constraint_count(); - return true; - } else if (name == "bone_count") { - r_ret = get_bone_count(); - return true; - } else if (name.begins_with("constraints/")) { - int index = name.get_slicec('/', 1).to_int(); - String what = name.get_slicec('/', 2); - ERR_FAIL_INDEX_V(index, constraint_count, false); - String begins = "constraints/" + itos(index) + "/kusudama_open_cone"; - if (what == "bone_name") { - ERR_FAIL_INDEX_V(index, constraint_names.size(), false); - r_ret = constraint_names[index]; - return true; - } else if (what == "twist_start") { - r_ret = get_joint_twist(index).x; - return true; - } else if (what == "twist_end") { - r_ret = get_joint_twist(index).y; - return true; - } else if (what == "kusudama_open_cone_count") { - r_ret = get_kusudama_open_cone_count(index); - return true; - } else if (name.begins_with(begins)) { - int32_t cone_index = name.get_slicec('/', 3).to_int(); - String cone_what = name.get_slicec('/', 4); - if (cone_what == "center") { - Vector3 center = get_kusudama_open_cone_center(index, cone_index); - r_ret = center; - return true; - } else if (cone_what == "radius") { - r_ret = get_kusudama_open_cone_radius(index, cone_index); - return true; - } - } else if (what == "bone_direction") { - r_ret = get_direction_transform_of_bone(index); - return true; - } else if (what == "kusudama_orientation") { - r_ret = get_orientation_transform_of_constraint(index); - return true; - } else if (what == "kusudama_twist") { - r_ret = get_twist_transform_of_constraint(index); - return true; - } - } - return false; -} - -bool ConstraintIK3D::_set(const StringName &p_name, const Variant &p_value) { - String name = p_name; - if (name == "constraint_count") { - _set_constraint_count(p_value); - return true; - } else if (name.begins_with("constraints/")) { - int index = name.get_slicec('/', 1).to_int(); - String what = name.get_slicec('/', 2); - String begins = "constraints/" + itos(index) + "/kusudama_open_cone/"; - if (index >= constraint_names.size()) { - _set_constraint_count(constraint_count); - } - if (what == "bone_name") { - set_constraint_name_at_index(index, p_value); - return true; - } else if (what == "twist_from") { - Vector2 twist_from = get_joint_twist(index); - set_joint_twist(index, Vector2(p_value, twist_from.y)); - return true; - } else if (what == "twist_range") { - Vector2 twist_range = get_joint_twist(index); - set_joint_twist(index, Vector2(twist_range.x, p_value)); - return true; - } else if (what == "kusudama_open_cone_count") { - set_kusudama_open_cone_count(index, p_value); - return true; - } else if (name.begins_with(begins)) { - int cone_index = name.get_slicec('/', 3).to_int(); - String cone_what = name.get_slicec('/', 4); - if (cone_what == "center") { - set_kusudama_open_cone_center(index, cone_index, p_value); - return true; - } else if (cone_what == "radius") { - set_kusudama_open_cone_radius(index, cone_index, p_value); - return true; - } - } else if (what == "bone_direction") { - set_direction_transform_of_bone(index, p_value); - return true; - } else if (what == "kusudama_orientation") { - set_orientation_transform_of_constraint(index, p_value); - return true; - } else if (what == "kusudama_twist") { - set_twist_transform_of_constraint(index, p_value); - return true; - } - } - - return false; -} - -void ConstraintIK3D::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_constraint_name_at_index", "index", "name"), &ConstraintIK3D::set_constraint_name_at_index); - ClassDB::bind_method(D_METHOD("get_twist_transform_of_constraint", "index"), &ConstraintIK3D::get_twist_transform_of_constraint); - ClassDB::bind_method(D_METHOD("set_twist_transform_of_constraint", "index", "transform"), &ConstraintIK3D::set_twist_transform_of_constraint); - ClassDB::bind_method(D_METHOD("get_orientation_transform_of_constraint", "index"), &ConstraintIK3D::get_orientation_transform_of_constraint); - ClassDB::bind_method(D_METHOD("set_orientation_transform_of_constraint", "index", "transform"), &ConstraintIK3D::set_orientation_transform_of_constraint); - ClassDB::bind_method(D_METHOD("get_direction_transform_of_bone", "index"), &ConstraintIK3D::get_direction_transform_of_bone); - ClassDB::bind_method(D_METHOD("set_direction_transform_of_bone", "index", "transform"), &ConstraintIK3D::set_direction_transform_of_bone); - ClassDB::bind_method(D_METHOD("register_skeleton"), &ConstraintIK3D::register_skeleton); - ClassDB::bind_method(D_METHOD("reset_constraints"), &ConstraintIK3D::reset_constraints); - ClassDB::bind_method(D_METHOD("set_dirty"), &ConstraintIK3D::set_dirty); - ClassDB::bind_method(D_METHOD("set_kusudama_open_cone_radius", "index", "cone_index", "radius"), &ConstraintIK3D::set_kusudama_open_cone_radius); - ClassDB::bind_method(D_METHOD("get_kusudama_open_cone_radius", "index", "cone_index"), &ConstraintIK3D::get_kusudama_open_cone_radius); - ClassDB::bind_method(D_METHOD("set_kusudama_open_cone_center", "index", "cone_index", "center"), &ConstraintIK3D::set_kusudama_open_cone_center); - ClassDB::bind_method(D_METHOD("get_kusudama_open_cone_center", "index", "cone_index"), &ConstraintIK3D::get_kusudama_open_cone_center); - ClassDB::bind_method(D_METHOD("set_kusudama_open_cone_count", "index", "count"), &ConstraintIK3D::set_kusudama_open_cone_count); - ClassDB::bind_method(D_METHOD("get_kusudama_open_cone_count", "index"), &ConstraintIK3D::get_kusudama_open_cone_count); - ClassDB::bind_method(D_METHOD("set_joint_twist", "index", "limit"), &ConstraintIK3D::set_joint_twist); - ClassDB::bind_method(D_METHOD("get_joint_twist", "index"), &ConstraintIK3D::get_joint_twist); - - ClassDB::bind_method(D_METHOD("get_constraint_name", "index"), &ConstraintIK3D::get_constraint_name); - ClassDB::bind_method(D_METHOD("get_iterations_per_frame"), &ConstraintIK3D::get_iterations_per_frame); - ClassDB::bind_method(D_METHOD("set_iterations_per_frame", "count"), &ConstraintIK3D::set_iterations_per_frame); - ClassDB::bind_method(D_METHOD("find_constraint", "name"), &ConstraintIK3D::find_constraint); - ClassDB::bind_method(D_METHOD("get_constraint_count"), &ConstraintIK3D::get_constraint_count); - ClassDB::bind_method(D_METHOD("set_constraint_count", "count"), &ConstraintIK3D::_set_constraint_count); - ClassDB::bind_method(D_METHOD("get_default_damp"), &ConstraintIK3D::get_default_damp); - ClassDB::bind_method(D_METHOD("set_default_damp", "damp"), &ConstraintIK3D::set_default_damp); - ClassDB::bind_method(D_METHOD("get_bone_count"), &ConstraintIK3D::get_bone_count); - ClassDB::bind_method(D_METHOD("set_constraint_mode", "enabled"), &ConstraintIK3D::set_constraint_mode); - ClassDB::bind_method(D_METHOD("get_constraint_mode"), &ConstraintIK3D::get_constraint_mode); - ClassDB::bind_method(D_METHOD("set_ui_selected_bone", "bone"), &ConstraintIK3D::set_ui_selected_bone); - ClassDB::bind_method(D_METHOD("get_ui_selected_bone"), &ConstraintIK3D::get_ui_selected_bone); - ClassDB::bind_method(D_METHOD("set_stabilization_passes", "passes"), &ConstraintIK3D::set_stabilization_passes); - ClassDB::bind_method(D_METHOD("get_stabilization_passes"), &ConstraintIK3D::get_stabilization_passes); - - ADD_PROPERTY(PropertyInfo(Variant::INT, "iterations_per_frame", PROPERTY_HINT_RANGE, "1,150,1,or_greater"), "set_iterations_per_frame", "get_iterations_per_frame"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "default_damp", PROPERTY_HINT_RANGE, "0.01,180.0,0.1,radians,exp", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_default_damp", "get_default_damp"); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "constraint_mode"), "set_constraint_mode", "get_constraint_mode"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "ui_selected_bone", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), "set_ui_selected_bone", "get_ui_selected_bone"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "stabilization_passes"), "set_stabilization_passes", "get_stabilization_passes"); -} - -ConstraintIK3D::ConstraintIK3D() { -} - -ConstraintIK3D::~ConstraintIK3D() { -} - -void ConstraintIK3D::_set_constraint_count(int32_t p_count) { - int32_t old_count = constraint_names.size(); - constraint_count = p_count; - constraint_names.resize(p_count); - joint_twist.resize(p_count); - kusudama_open_cone_count.resize(p_count); - kusudama_open_cones.resize(p_count); - for (int32_t constraint_i = p_count; constraint_i-- > old_count;) { - constraint_names.write[constraint_i] = String(); - kusudama_open_cone_count.write[constraint_i] = 0; - kusudama_open_cones.write[constraint_i].resize(1); - kusudama_open_cones.write[constraint_i].write[0] = Vector4(0, 1, 0, 0.01745f); - joint_twist.write[constraint_i] = Vector2(0, 0.01745f); - } - set_dirty(); - notify_property_list_changed(); -} - -int32_t ConstraintIK3D::get_constraint_count() const { - return constraint_count; -} - -inline StringName ConstraintIK3D::get_constraint_name(int32_t p_index) const { - ERR_FAIL_INDEX_V(p_index, constraint_names.size(), StringName()); - return constraint_names[p_index]; -} - -Vector2 ConstraintIK3D::get_joint_twist(int32_t p_index) const { - ERR_FAIL_INDEX_V(p_index, joint_twist.size(), Vector2()); - return joint_twist[p_index]; -} - -void ConstraintIK3D::set_joint_twist(int32_t p_index, Vector2 p_to) { - ERR_FAIL_INDEX(p_index, constraint_count); - joint_twist.write[p_index] = p_to; - set_dirty(); -} - -void ConstraintIK3D::set_kusudama_open_cone(int32_t p_constraint_index, int32_t p_index, - Vector3 p_center, float p_radius) { - ERR_FAIL_INDEX(p_constraint_index, kusudama_open_cones.size()); - Vector cones = kusudama_open_cones.write[p_constraint_index]; - if (Math::is_zero_approx(p_center.length_squared())) { - p_center = Vector3(0.0f, 1.0f, 0.0f); - } - Vector3 center = p_center.normalized(); - Vector4 cone; - cone.x = center.x; - cone.y = center.y; - cone.z = center.z; - cone.w = p_radius; - cones.write[p_index] = cone; - kusudama_open_cones.write[p_constraint_index] = cones; - set_dirty(); -} - -float ConstraintIK3D::get_kusudama_open_cone_radius(int32_t p_constraint_index, int32_t p_index) const { - ERR_FAIL_INDEX_V(p_constraint_index, kusudama_open_cones.size(), Math_TAU); - ERR_FAIL_INDEX_V(p_index, kusudama_open_cones[p_constraint_index].size(), Math_TAU); - return kusudama_open_cones[p_constraint_index][p_index].w; -} - -int32_t ConstraintIK3D::get_kusudama_open_cone_count(int32_t p_constraint_index) const { - ERR_FAIL_INDEX_V(p_constraint_index, kusudama_open_cone_count.size(), 0); - return kusudama_open_cone_count[p_constraint_index]; -} - -void ConstraintIK3D::set_kusudama_open_cone_count(int32_t p_constraint_index, int32_t p_count) { - ERR_FAIL_INDEX(p_constraint_index, kusudama_open_cone_count.size()); - ERR_FAIL_INDEX(p_constraint_index, kusudama_open_cones.size()); - int32_t old_cone_count = kusudama_open_cones[p_constraint_index].size(); - kusudama_open_cone_count.write[p_constraint_index] = p_count; - Vector &cones = kusudama_open_cones.write[p_constraint_index]; - cones.resize(p_count); - String bone_name = get_constraint_name(p_constraint_index); - Transform3D bone_transform = get_direction_transform_of_bone(p_constraint_index); - Vector3 forward_axis = -bone_transform.basis.get_column(Vector3::AXIS_Y).normalized(); - for (int32_t cone_i = p_count; cone_i-- > old_cone_count;) { - Vector4 &cone = cones.write[cone_i]; - cone.x = forward_axis.x; - cone.y = forward_axis.y; - cone.z = forward_axis.z; - cone.w = Math::deg_to_rad(0.0f); - } - set_dirty(); - notify_property_list_changed(); -} - -real_t ConstraintIK3D::get_default_damp() const { - return default_damp; -} - -void ConstraintIK3D::set_default_damp(float p_default_damp) { - default_damp = p_default_damp; - set_dirty(); -} - -void ConstraintIK3D::set_kusudama_open_cone_radius(int32_t p_effector_index, int32_t p_index, float p_radius) { - ERR_FAIL_INDEX(p_effector_index, kusudama_open_cone_count.size()); - ERR_FAIL_INDEX(p_effector_index, kusudama_open_cones.size()); - ERR_FAIL_INDEX(p_index, kusudama_open_cone_count[p_effector_index]); - ERR_FAIL_INDEX(p_index, kusudama_open_cones[p_effector_index].size()); - Vector4 &cone = kusudama_open_cones.write[p_effector_index].write[p_index]; - cone.w = p_radius; - set_dirty(); -} - -void ConstraintIK3D::set_kusudama_open_cone_center(int32_t p_effector_index, int32_t p_index, Vector3 p_center) { - ERR_FAIL_INDEX(p_effector_index, kusudama_open_cones.size()); - ERR_FAIL_INDEX(p_index, kusudama_open_cones[p_effector_index].size()); - Vector4 &cone = kusudama_open_cones.write[p_effector_index].write[p_index]; - if (Math::is_zero_approx(p_center.length_squared())) { - cone.x = 0; - cone.y = 1; - cone.z = 0; - } else { - cone.x = p_center.x; - cone.y = p_center.y; - cone.z = p_center.z; - } - set_dirty(); -} - -Vector3 ConstraintIK3D::get_kusudama_open_cone_center(int32_t p_constraint_index, int32_t p_index) const { - if (unlikely((p_constraint_index) < 0 || (p_constraint_index) >= (kusudama_open_cones.size()))) { - ERR_PRINT_ONCE("Can't get limit cone center."); - return Vector3(0.0, 0.0, 1.0); - } - if (unlikely((p_index) < 0 || (p_index) >= (kusudama_open_cones[p_constraint_index].size()))) { - ERR_PRINT_ONCE("Can't get limit cone center."); - return Vector3(0.0, 0.0, 1.0); - } - const Vector4 &cone = kusudama_open_cones[p_constraint_index][p_index]; - Vector3 ret; - ret.x = cone.x; - ret.y = cone.y; - ret.z = cone.z; - return ret; -} - -void ConstraintIK3D::set_constraint_name_at_index(int32_t p_index, String p_name) { - ERR_FAIL_INDEX(p_index, constraint_names.size()); - constraint_names.write[p_index] = p_name; - set_dirty(); -} - -Vector> ConstraintIK3D::get_segmented_skeletons() { - return segmented_skeletons; -} - -float ConstraintIK3D::get_iterations_per_frame() const { - return iterations_per_frame; -} - -void ConstraintIK3D::set_iterations_per_frame(const float &p_iterations_per_frame) { - iterations_per_frame = p_iterations_per_frame; -} - -void ConstraintIK3D::_process_modification() { - if (!get_skeleton()) { - return; - } - if (!segmented_skeletons.size()) { - set_dirty(); - } - if (is_dirty) { - is_dirty = false; - _bone_list_changed(); - } - if (bone_list.size()) { - Ref root_ik_bone = bone_list.write[0]->get_ik_transform(); - if (root_ik_bone.is_null()) { - return; - } - Skeleton3D *skeleton = get_skeleton(); - godot_skeleton_transform.instantiate(); - godot_skeleton_transform->set_transform(skeleton->get_transform()); - godot_skeleton_transform_inverse = skeleton->get_transform().affine_inverse(); - } - if (!is_enabled()) { - return; - } - if (!is_visible()) { - return; - } - for (int32_t i = 0; i < get_iterations_per_frame(); i++) { - for (Ref segmented_skeleton : segmented_skeletons) { - if (segmented_skeleton.is_null()) { - continue; - } - segmented_skeleton->segment_solver(bone_damp, get_default_damp(), get_constraint_mode(), i, get_iterations_per_frame()); - } - } - _update_skeleton_bones_transform(); -} - -void ConstraintIK3D::set_dirty() { - is_dirty = true; -} - -int32_t ConstraintIK3D::find_constraint(String p_string) const { - for (int32_t constraint_i = 0; constraint_i < constraint_count; constraint_i++) { - if (get_constraint_name(constraint_i) == p_string) { - return constraint_i; - } - } - return -1; -} - -void ConstraintIK3D::_set_bone_count(int32_t p_count) { - bone_damp.resize(p_count); - for (int32_t bone_i = p_count; bone_i-- > bone_count;) { - bone_damp.write[bone_i] = get_default_damp(); - } - bone_count = p_count; - set_dirty(); - notify_property_list_changed(); -} - -int32_t ConstraintIK3D::get_bone_count() const { - return bone_count; -} - -Vector> ConstraintIK3D::get_bone_list() const { - return bone_list; -} - -void ConstraintIK3D::set_direction_transform_of_bone(int32_t p_index, Transform3D p_transform) { - ERR_FAIL_INDEX(p_index, constraint_names.size()); - if (!get_skeleton()) { - return; - } - String bone_name = constraint_names[p_index]; - int32_t bone_index = get_skeleton()->find_bone(bone_name); - for (Ref segmented_skeleton : segmented_skeletons) { - if (segmented_skeleton.is_null()) { - continue; - } - Ref ik_bone = segmented_skeleton->get_ik_bone(bone_index); - if (ik_bone.is_null() || ik_bone->get_constraint().is_null()) { - continue; - } - if (ik_bone->get_bone_direction_transform().is_null()) { - continue; - } - ik_bone->get_bone_direction_transform()->set_transform(p_transform); - break; - } -} - -Transform3D ConstraintIK3D::get_direction_transform_of_bone(int32_t p_index) const { - if (p_index < 0 || p_index >= constraint_names.size() || get_skeleton() == nullptr) { - return Transform3D(); - } - - String bone_name = constraint_names[p_index]; - int32_t bone_index = get_skeleton()->find_bone(bone_name); - for (const Ref &segmented_skeleton : segmented_skeletons) { - if (segmented_skeleton.is_null()) { - continue; - } - Ref ik_bone = segmented_skeleton->get_ik_bone(bone_index); - if (ik_bone.is_null() || ik_bone->get_constraint().is_null()) { - continue; - } - return ik_bone->get_bone_direction_transform()->get_transform(); - } - return Transform3D(); -} - -Transform3D ConstraintIK3D::get_orientation_transform_of_constraint(int32_t p_index) const { - ERR_FAIL_INDEX_V(p_index, constraint_names.size(), Transform3D()); - String bone_name = constraint_names[p_index]; - if (!segmented_skeletons.size()) { - return Transform3D(); - } - if (!get_skeleton()) { - return Transform3D(); - } - for (Ref segmented_skeleton : segmented_skeletons) { - if (segmented_skeleton.is_null()) { - continue; - } - Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); - if (ik_bone.is_null()) { - continue; - } - if (ik_bone->get_constraint().is_null()) { - continue; - } - return ik_bone->get_constraint_orientation_transform()->get_transform(); - } - return Transform3D(); -} - -void ConstraintIK3D::set_orientation_transform_of_constraint(int32_t p_index, Transform3D p_transform) { - ERR_FAIL_INDEX(p_index, constraint_names.size()); - String bone_name = constraint_names[p_index]; - if (!get_skeleton()) { - return; - } - for (Ref segmented_skeleton : segmented_skeletons) { - if (segmented_skeleton.is_null()) { - continue; - } - Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); - if (ik_bone.is_null()) { - continue; - } - if (ik_bone->get_constraint().is_null()) { - continue; - } - ik_bone->get_constraint_orientation_transform()->set_transform(p_transform); - break; - } -} - -Transform3D ConstraintIK3D::get_twist_transform_of_constraint(int32_t p_index) const { - ERR_FAIL_INDEX_V(p_index, constraint_names.size(), Transform3D()); - String bone_name = constraint_names[p_index]; - if (!segmented_skeletons.size()) { - return Transform3D(); - } - if (!get_skeleton()) { - return Transform3D(); - } - for (Ref segmented_skeleton : segmented_skeletons) { - if (segmented_skeleton.is_null()) { - continue; - } - Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); - if (ik_bone.is_null()) { - continue; - } - if (ik_bone->get_constraint().is_null()) { - continue; - } - return ik_bone->get_constraint_twist_transform()->get_transform(); - } - return Transform3D(); -} - -void ConstraintIK3D::set_twist_transform_of_constraint(int32_t p_index, Transform3D p_transform) { - ERR_FAIL_INDEX(p_index, constraint_names.size()); - String bone_name = constraint_names[p_index]; - if (!get_skeleton()) { - return; - } - for (Ref segmented_skeleton : segmented_skeletons) { - if (segmented_skeleton.is_null()) { - continue; - } - Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); - if (ik_bone.is_null()) { - continue; - } - if (ik_bone->get_constraint().is_null()) { - continue; - } - ik_bone->get_constraint_twist_transform()->set_transform(p_transform); - break; - } -} - -void ConstraintIK3D::register_skeleton() { - if (!get_constraint_count()) { - reset_constraints(); - } - set_dirty(); -} - -void ConstraintIK3D::reset_constraints() { - Skeleton3D *skeleton = get_skeleton(); - if (skeleton) { - int32_t saved_constraint_count = constraint_names.size(); - _set_constraint_count(0); - _set_constraint_count(saved_constraint_count); - _set_bone_count(0); - _set_bone_count(saved_constraint_count); - } - set_dirty(); -} - -bool ConstraintIK3D::get_constraint_mode() const { - return is_constraint_mode; -} - -void ConstraintIK3D::set_constraint_mode(bool p_enabled) { - is_constraint_mode = p_enabled; -} - -int32_t ConstraintIK3D::get_ui_selected_bone() const { - return ui_selected_bone; -} - -void ConstraintIK3D::set_ui_selected_bone(int32_t p_ui_selected_bone) { - ui_selected_bone = p_ui_selected_bone; -} - -void ConstraintIK3D::set_stabilization_passes(int32_t p_passes) { - stabilize_passes = p_passes; - set_dirty(); -} - -int32_t ConstraintIK3D::get_stabilization_passes() { - return stabilize_passes; -} - -Transform3D ConstraintIK3D::get_godot_skeleton_transform_inverse() { - return godot_skeleton_transform_inverse; -} - -Ref ConstraintIK3D::get_godot_skeleton_transform() { - return godot_skeleton_transform; -} - -void ConstraintIK3D::add_constraint() { - int32_t old_count = constraint_count; - _set_constraint_count(constraint_count + 1); - constraint_names.write[old_count] = String(); - kusudama_open_cone_count.write[old_count] = 0; - kusudama_open_cones.write[old_count].resize(1); - kusudama_open_cones.write[old_count].write[0] = Vector4(0, 1, 0, Math_PI); - joint_twist.write[old_count] = Vector2(0, Math_PI); - set_dirty(); -} - -void ConstraintIK3D::_bone_list_changed() { - Skeleton3D *skeleton = get_skeleton(); - Vector roots = skeleton->get_parentless_bones(); - if (roots.is_empty()) { - return; - } - bone_list.clear(); - segmented_skeletons.clear(); - for (BoneId root_bone_index : roots) { - String parentless_bone = skeleton->get_bone_name(root_bone_index); - Vector> pins; - Array bone_queue; - bone_queue.push_back(root_bone_index); - - while (!bone_queue.is_empty()) { - BoneId current_bone = bone_queue.front(); - bone_queue.pop_front(); - Vector children = skeleton->get_bone_children(current_bone); - for (BoneId child_bone : children) { - bone_queue.push_back(child_bone); - } - Ref effector = memnew(IKConstraintEffectorTemplate3D); - effector->set_root_bone(skeleton->get_bone_name(root_bone_index)); - effector->set_motion_propagation_factor(1.0f); - effector->set_weight(1.0f); - effector->set_direction_priorities(Vector3(0.2f, 0.0f, 0.2f)); - pins.push_back(effector); - } - Ref segmented_skeleton = Ref(memnew(IKConstraintBoneSegment3D(skeleton, parentless_bone, pins, this, nullptr, root_bone_index, -1, stabilize_passes))); - ik_origin.instantiate(); - segmented_skeleton->get_root()->get_ik_transform()->set_parent(ik_origin); - segmented_skeleton->generate_default_segments(pins, root_bone_index, -1, this); - Vector> new_bone_list; - segmented_skeleton->create_bone_list(new_bone_list, true); - bone_list.append_array(new_bone_list); - Vector> weight_array; - segmented_skeleton->update_pinned_list(weight_array); - segmented_skeleton->recursive_create_headings_arrays_for(segmented_skeleton); - segmented_skeletons.push_back(segmented_skeleton); - } - _update_ik_bones_transform(); - for (Ref &ik_bone_3d : bone_list) { - ik_bone_3d->update_default_bone_direction_transform(skeleton); - } - for (int constraint_i = 0; constraint_i < constraint_count; ++constraint_i) { - String bone = constraint_names[constraint_i]; - BoneId bone_id = skeleton->find_bone(bone); - for (Ref &ik_bone_3d : bone_list) { - if (ik_bone_3d->get_bone_id() != bone_id) { - continue; - } - Ref constraint; - constraint.instantiate(); - constraint->enable_orientational_limits(); - - int32_t cone_count = kusudama_open_cone_count[constraint_i]; - const Vector &cones = kusudama_open_cones[constraint_i]; - for (int32_t cone_i = 0; cone_i < cone_count; ++cone_i) { - const Vector4 &cone = cones[cone_i]; - Ref new_cone; - new_cone.instantiate(); - new_cone->set_attached_to(constraint); - new_cone->set_radius(MAX(1.0e-38, cone.w)); - new_cone->set_control_point(Vector3(cone.x, cone.y, cone.z).normalized()); - constraint->add_open_cone(new_cone); - } - - const Vector2 axial_limit = get_joint_twist(constraint_i); - constraint->enable_axial_limits(); - constraint->set_axial_limits(axial_limit.x, axial_limit.y); - ik_bone_3d->add_constraint(constraint); - constraint->_update_constraint(ik_bone_3d->get_constraint_twist_transform()); - break; - } - } -} - -void ConstraintIK3D::_skeleton_changed(Skeleton3D *p_old, Skeleton3D *p_new) { - if (p_old) { - if (p_old->is_connected(SNAME("bone_list_changed"), callable_mp(this, &ConstraintIK3D::_bone_list_changed))) { - p_old->disconnect(SNAME("bone_list_changed"), callable_mp(this, &ConstraintIK3D::_bone_list_changed)); - } - } - if (p_new) { - if (!p_new->is_connected(SNAME("bone_list_changed"), callable_mp(this, &ConstraintIK3D::_bone_list_changed))) { - p_new->connect(SNAME("bone_list_changed"), callable_mp(this, &ConstraintIK3D::_bone_list_changed)); - } - } - if (is_connected(SNAME("modification_processed"), callable_mp(this, &ConstraintIK3D::_update_ik_bones_transform))) { - disconnect(SNAME("modification_processed"), callable_mp(this, &ConstraintIK3D::_update_ik_bones_transform)); - } - connect(SNAME("modification_processed"), callable_mp(this, &ConstraintIK3D::_update_ik_bones_transform)); - _bone_list_changed(); -} diff --git a/modules/constraint_ik/src/many_bone_ik_3d.h b/modules/constraint_ik/src/many_bone_ik_3d.h deleted file mode 100644 index 00514542310e..000000000000 --- a/modules/constraint_ik/src/many_bone_ik_3d.h +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************/ -/* many_bone_ik_3d.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef MANY_BONE_IK_3D_H -#define MANY_BONE_IK_3D_H - -#include "core/math/math_defs.h" -#include "core/math/transform_3d.h" -#include "core/math/vector3.h" -#include "core/object/ref_counted.h" -#include "ik_bone_3d.h" -#include "ik_effector_template_3d.h" -#include "math/ik_node_3d.h" -#include "scene/3d/skeleton_3d.h" -#include "scene/3d/skeleton_modifier_3d.h" - -class ConstraintIK3DState; -class ConstraintIK3D : public SkeletonModifier3D { - GDCLASS(ConstraintIK3D, SkeletonModifier3D); - bool is_constraint_mode = false; - NodePath skeleton_path; - Vector> segmented_skeletons; - int32_t constraint_count = 0, pin_count = 0, bone_count = 0; - Vector constraint_names; - Vector> bone_list; - Vector joint_twist; - Vector bone_damp; - Vector> kusudama_open_cones; - Vector kusudama_open_cone_count; - float MAX_KUSUDAMA_OPEN_CONES = 10; - int32_t iterations_per_frame = 15; - float default_damp = Math::deg_to_rad(5.0f); - Ref godot_skeleton_transform; - Transform3D godot_skeleton_transform_inverse; - Ref ik_origin; - bool is_dirty = true; - NodePath skeleton_node_path = NodePath(".."); - int32_t ui_selected_bone = -1, stabilize_passes = 0; - - void _on_timer_timeout(); - void _update_ik_bones_transform(); - void _update_skeleton_bones_transform(); - void set_constraint_name_at_index(int32_t p_index, String p_name); - void _set_constraint_count(int32_t p_count); - void _set_bone_count(int32_t p_count); - void _set_pin_root_bone(int32_t p_pin_index, const String &p_root_bone); - String _get_pin_root_bone(int32_t p_pin_index) const; - void _bone_list_changed(); - void _pose_updated(); - void _update_ik_bone_pose(int32_t p_bone_idx); - -protected: - bool _set(const StringName &p_name, const Variant &p_value); - bool _get(const StringName &p_name, Variant &r_ret) const; - void _get_property_list(List *p_list) const; - static void _bind_methods(); - virtual void _process_modification() override; - void _skeleton_changed(Skeleton3D *p_old, Skeleton3D *p_new) override; - -public: - void set_state(Ref p_state); - Ref get_state() const; - void add_constraint(); - void set_stabilization_passes(int32_t p_passes); - int32_t get_stabilization_passes(); - Transform3D get_godot_skeleton_transform_inverse(); - Ref get_godot_skeleton_transform(); - void set_ui_selected_bone(int32_t p_ui_selected_bone); - int32_t get_ui_selected_bone() const; - void set_constraint_mode(bool p_enabled); - bool get_constraint_mode() const; - void register_skeleton(); - void reset_constraints(); - Vector> get_bone_list() const; - Vector> get_segmented_skeletons(); - float get_iterations_per_frame() const; - void set_iterations_per_frame(const float &p_iterations_per_frame); - void queue_print_skeleton(); - real_t get_default_damp() const; - void set_default_damp(float p_default_damp); - int32_t find_constraint(String p_string) const; - int32_t get_constraint_count() const; - StringName get_constraint_name(int32_t p_index) const; - void set_twist_transform_of_constraint(int32_t p_index, Transform3D p_transform); - Transform3D get_twist_transform_of_constraint(int32_t p_index) const; - void set_orientation_transform_of_constraint(int32_t p_index, Transform3D p_transform); - Transform3D get_orientation_transform_of_constraint(int32_t p_index) const; - void set_direction_transform_of_bone(int32_t p_index, Transform3D p_transform); - Transform3D get_direction_transform_of_bone(int32_t p_index) const; - Vector2 get_joint_twist(int32_t p_index) const; - void set_joint_twist(int32_t p_index, Vector2 p_twist); - void set_kusudama_open_cone(int32_t p_bone, int32_t p_index, - Vector3 p_center, float p_radius); - Vector3 get_kusudama_open_cone_center(int32_t p_constraint_index, int32_t p_index) const; - float get_kusudama_open_cone_radius(int32_t p_constraint_index, int32_t p_index) const; - int32_t get_kusudama_open_cone_count(int32_t p_constraint_index) const; - int32_t get_bone_count() const; - void set_kusudama_twist_from_to(int32_t p_index, float from, float to); - void set_kusudama_open_cone_count(int32_t p_constraint_index, int32_t p_count); - void set_kusudama_open_cone_center(int32_t p_constraint_index, int32_t p_index, Vector3 p_center); - void set_kusudama_open_cone_radius(int32_t p_constraint_index, int32_t p_index, float p_radius); - ConstraintIK3D(); - ~ConstraintIK3D(); - void set_dirty(); -}; - -#endif // MANY_BONE_IK_3D_H diff --git a/modules/constraint_ik/src/math/ik_node_3d.cpp b/modules/constraint_ik/src/math/ik_node_3d.cpp deleted file mode 100644 index 66fa7606f224..000000000000 --- a/modules/constraint_ik/src/math/ik_node_3d.cpp +++ /dev/null @@ -1,159 +0,0 @@ -/**************************************************************************/ -/* ik_node_3d.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "ik_node_3d.h" - -void IKConstraintNode3D::_propagate_transform_changed() { - Vector> to_remove; - - for (Ref transform : children) { - if (transform.is_null()) { - to_remove.push_back(transform); - } else { - transform->_propagate_transform_changed(); - } - } - - for (Ref transform : to_remove) { - children.erase(transform); - } - - dirty |= DIRTY_GLOBAL; -} - -void IKConstraintNode3D::_update_local_transform() const { - local_transform.basis = rotation.scaled(scale); - dirty &= ~DIRTY_LOCAL; -} - -void IKConstraintNode3D::rotate_local_with_global(const Basis &p_basis, bool p_propagate) { - if (parent.get_ref().is_null()) { - return; - } - Ref parent_ik_node = parent.get_ref(); - const Basis &new_rot = parent_ik_node->get_global_transform().basis; - local_transform.basis = new_rot.inverse() * p_basis * new_rot * local_transform.basis; - dirty |= DIRTY_GLOBAL; - if (p_propagate) { - _propagate_transform_changed(); - } -} - -void IKConstraintNode3D::set_transform(const Transform3D &p_transform) { - if (local_transform != p_transform) { - local_transform = p_transform; - dirty |= DIRTY_VECTORS; - _propagate_transform_changed(); - } -} - -void IKConstraintNode3D::set_global_transform(const Transform3D &p_transform) { - Ref ik_node = parent.get_ref(); - Transform3D xform = ik_node.is_valid() ? ik_node->get_global_transform().affine_inverse() * p_transform : p_transform; - local_transform = xform; - dirty |= DIRTY_VECTORS; - _propagate_transform_changed(); -} - -Transform3D IKConstraintNode3D::get_transform() const { - if (dirty & DIRTY_LOCAL) { - _update_local_transform(); - } - - return local_transform; -} - -Transform3D IKConstraintNode3D::get_global_transform() const { - if (dirty & DIRTY_GLOBAL) { - if (dirty & DIRTY_LOCAL) { - _update_local_transform(); - } - Ref ik_node = parent.get_ref(); - if (ik_node.is_valid()) { - global_transform = ik_node->get_global_transform() * local_transform; - } else { - global_transform = local_transform; - } - - if (disable_scale) { - global_transform.basis.orthogonalize(); - } - - dirty &= ~DIRTY_GLOBAL; - } - - return global_transform; -} - -void IKConstraintNode3D::set_disable_scale(bool p_enabled) { - disable_scale = p_enabled; -} - -bool IKConstraintNode3D::is_scale_disabled() const { - return disable_scale; -} - -void IKConstraintNode3D::set_parent(Ref p_parent) { - if (p_parent.is_valid()) { - p_parent->children.erase(this); - } - parent.set_ref(p_parent); - if (p_parent.is_valid()) { - p_parent->children.push_back(this); - } - _propagate_transform_changed(); -} - -Ref IKConstraintNode3D::get_parent() const { - return parent.get_ref(); -} - -Vector3 IKConstraintNode3D::to_local(const Vector3 &p_global) const { - return get_global_transform().affine_inverse().xform(p_global); -} - -Vector3 IKConstraintNode3D::to_global(const Vector3 &p_local) const { - return get_global_transform().xform(p_local); -} - -IKConstraintNode3D::~IKConstraintNode3D() { - cleanup(); -} - -void IKConstraintNode3D::_notification(int p_what) { - if (p_what == NOTIFICATION_PREDELETE) { - cleanup(); - } -} -void IKConstraintNode3D::cleanup() { - for (Ref &child : children) { - child->set_parent(Ref()); - } -} diff --git a/modules/constraint_ik/src/math/ik_node_3d.h b/modules/constraint_ik/src/math/ik_node_3d.h deleted file mode 100644 index b0b26e39b4ca..000000000000 --- a/modules/constraint_ik/src/math/ik_node_3d.h +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************/ -/* ik_node_3d.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef IK_CONSTRAINT_NODE_3D_H -#define IK_CONSTRAINT_NODE_3D_H - -#include "core/object/ref_counted.h" -#include "core/templates/list.h" - -#include "core/io/resource.h" -#include "core/math/transform_3d.h" - -class IKConstraintNode3D : public RefCounted { - GDCLASS(IKConstraintNode3D, RefCounted); - - enum TransformDirty { - DIRTY_NONE = 0, - DIRTY_VECTORS = 1, - DIRTY_LOCAL = 2, - DIRTY_GLOBAL = 4 - }; - - mutable Transform3D global_transform; - mutable Transform3D local_transform; - mutable Basis rotation; - mutable Vector3 scale = Vector3(1, 1, 1); - - mutable int dirty = DIRTY_NONE; - - WeakRef parent; - List> children; - - bool disable_scale = false; - - void _update_local_transform() const; - -protected: - void _notification(int p_what); - static void _bind_methods() { - ClassDB::bind_method(D_METHOD("_propagate_transform_changed"), &IKConstraintNode3D::_propagate_transform_changed); - ClassDB::bind_method(D_METHOD("_update_local_transform"), &IKConstraintNode3D::_update_local_transform); - ClassDB::bind_method(D_METHOD("rotate_local_with_global", "p_basis", "p_propagate"), &IKConstraintNode3D::rotate_local_with_global, DEFVAL(false)); - ClassDB::bind_method(D_METHOD("set_transform", "p_transform"), &IKConstraintNode3D::set_transform); - ClassDB::bind_method(D_METHOD("set_global_transform", "p_transform"), &IKConstraintNode3D::set_global_transform); - ClassDB::bind_method(D_METHOD("get_transform"), &IKConstraintNode3D::get_transform); - ClassDB::bind_method(D_METHOD("get_global_transform"), &IKConstraintNode3D::get_global_transform); - ClassDB::bind_method(D_METHOD("set_disable_scale", "p_enabled"), &IKConstraintNode3D::set_disable_scale); - ClassDB::bind_method(D_METHOD("is_scale_disabled"), &IKConstraintNode3D::is_scale_disabled); - ClassDB::bind_method(D_METHOD("set_parent", "p_parent"), &IKConstraintNode3D::set_parent); - ClassDB::bind_method(D_METHOD("get_parent"), &IKConstraintNode3D::get_parent); - ClassDB::bind_method(D_METHOD("to_local", "p_global"), &IKConstraintNode3D::to_local); - ClassDB::bind_method(D_METHOD("to_global", "p_local"), &IKConstraintNode3D::to_global); - } - -public: - void _propagate_transform_changed(); - void set_transform(const Transform3D &p_transform); - void set_global_transform(const Transform3D &p_transform); - Transform3D get_transform() const; - Transform3D get_global_transform() const; - - void set_disable_scale(bool p_enabled); - bool is_scale_disabled() const; - - void set_parent(Ref p_parent); - Ref get_parent() const; - - Vector3 to_local(const Vector3 &p_global) const; - Vector3 to_global(const Vector3 &p_local) const; - void rotate_local_with_global(const Basis &p_basis, bool p_propagate = false); - void cleanup(); - ~IKConstraintNode3D(); -}; - -#endif // IK_NODE_3D_H diff --git a/modules/constraint_ik/src/math/qcp.cpp b/modules/constraint_ik/src/math/qcp.cpp deleted file mode 100644 index 1e16b7151de5..000000000000 --- a/modules/constraint_ik/src/math/qcp.cpp +++ /dev/null @@ -1,269 +0,0 @@ -/**************************************************************************/ -/* qcp.cpp */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#include "qcp.h" - -QuaternionCharacteristicPolynomial::QuaternionCharacteristicPolynomial(double p_evec_prec) { - eigenvector_precision = p_evec_prec; -} - -void QuaternionCharacteristicPolynomial::set(PackedVector3Array &r_target, PackedVector3Array &r_moved) { - target = r_target; - moved = r_moved; - transformation_calculated = false; - inner_product_calculated = false; -} - -Quaternion QuaternionCharacteristicPolynomial::_get_rotation() { - Quaternion result; - if (!transformation_calculated) { - if (!inner_product_calculated) { - inner_product(target, moved); - } - result = calculate_rotation(); - transformation_calculated = true; - } - return result; -} - -Quaternion QuaternionCharacteristicPolynomial::calculate_rotation() { - Quaternion result; - - if (moved.size() == 1) { - Vector3 u = moved[0]; - Vector3 v = target[0]; - double norm_product = u.length() * v.length(); - - if (norm_product == 0.0) { - return Quaternion(); - } - - double dot = u.dot(v); - - if (dot < ((2.0e-15 - 1.0) * norm_product)) { - Vector3 w = u.normalized(); - result = Quaternion(w.x, w.y, w.z, 0.0f).normalized(); - } else { - double q0 = Math::sqrt(0.5 * (1.0 + dot / norm_product)); - double coeff = 1.0 / (2.0 * q0 * norm_product); - Vector3 q = v.cross(u).normalized(); - result = Quaternion(coeff * q.x, coeff * q.y, coeff * q.z, q0).normalized(); - } - } else { - double a13 = -sum_xz_minus_zx; - double a14 = sum_xy_minus_yx; - double a21 = sum_yz_minus_zy; - double a22 = sum_xx_minus_yy - sum_zz - max_eigenvalue; - double a23 = sum_xy_plus_yx; - double a24 = sum_xz_plus_zx; - double a31 = a13; - double a32 = a23; - double a33 = sum_yy - sum_xx - sum_zz - max_eigenvalue; - double a34 = sum_yz_plus_zy; - double a41 = a14; - double a42 = a24; - double a43 = a34; - double a44 = sum_zz - sum_xx_plus_yy - max_eigenvalue; - - double a3344_4334 = a33 * a44 - a43 * a34; - double a3244_4234 = a32 * a44 - a42 * a34; - double a3243_4233 = a32 * a43 - a42 * a33; - double a3143_4133 = a31 * a43 - a41 * a33; - double a3144_4134 = a31 * a44 - a41 * a34; - double a3142_4132 = a31 * a42 - a41 * a32; - - double quaternion_w = a22 * a3344_4334 - a23 * a3244_4234 + a24 * a3243_4233; - double quaternion_x = -a21 * a3344_4334 + a23 * a3144_4134 - a24 * a3143_4133; - double quaternion_y = a21 * a3244_4234 - a22 * a3144_4134 + a24 * a3142_4132; - double quaternion_z = -a21 * a3243_4233 + a22 * a3143_4133 - a23 * a3142_4132; - double qsqr = quaternion_w * quaternion_w + quaternion_x * quaternion_x + quaternion_y * quaternion_y + quaternion_z * quaternion_z; - - if (qsqr < eigenvector_precision) { - result = Quaternion(); - } else { - quaternion_x *= -1; - quaternion_y *= -1; - quaternion_z *= -1; - double min = quaternion_w; - min = quaternion_x < min ? quaternion_x : min; - min = quaternion_y < min ? quaternion_y : min; - min = quaternion_z < min ? quaternion_z : min; - quaternion_w /= min; - quaternion_x /= min; - quaternion_y /= min; - quaternion_z /= min; - result = Quaternion(quaternion_x, quaternion_y, quaternion_z, quaternion_w).normalized(); - } - } - - return result; -} - -void QuaternionCharacteristicPolynomial::translate(Vector3 r_translate, PackedVector3Array &r_x) { - for (Vector3 &p : r_x) { - p += r_translate; - } -} - -Vector3 QuaternionCharacteristicPolynomial::_get_translation() { - return target_center - moved_center; -} - -Vector3 QuaternionCharacteristicPolynomial::move_to_weighted_center(PackedVector3Array &r_to_center, Vector &r_weight) { - Vector3 center; - double total_weight = 0; - bool weight_is_empty = r_weight.is_empty(); - int size = r_to_center.size(); - - for (int i = 0; i < size; i++) { - if (!weight_is_empty) { - total_weight += r_weight[i]; - center += r_to_center[i] * r_weight[i]; - } else { - center += r_to_center[i]; - total_weight++; - } - } - - if (total_weight > 0) { - center /= total_weight; - } - - return center; -} - -void QuaternionCharacteristicPolynomial::inner_product(PackedVector3Array &coords1, PackedVector3Array &coords2) { - Vector3 weighted_coord1, weighted_coord2; - double sum_of_squares1 = 0, sum_of_squares2 = 0; - - sum_xx = 0; - sum_xy = 0; - sum_xz = 0; - sum_yx = 0; - sum_yy = 0; - sum_yz = 0; - sum_zx = 0; - sum_zy = 0; - sum_zz = 0; - - bool weight_is_empty = weight.is_empty(); - int size = coords1.size(); - - for (int i = 0; i < size; i++) { - if (!weight_is_empty) { - weighted_coord1 = weight[i] * coords1[i]; - sum_of_squares1 += weighted_coord1.dot(coords1[i]); - } else { - weighted_coord1 = coords1[i]; - sum_of_squares1 += weighted_coord1.dot(weighted_coord1); - } - - weighted_coord2 = coords2[i]; - - sum_of_squares2 += weight_is_empty ? weighted_coord2.dot(weighted_coord2) : (weight[i] * weighted_coord2.dot(weighted_coord2)); - - sum_xx += (weighted_coord1.x * weighted_coord2.x); - sum_xy += (weighted_coord1.x * weighted_coord2.y); - sum_xz += (weighted_coord1.x * weighted_coord2.z); - - sum_yx += (weighted_coord1.y * weighted_coord2.x); - sum_yy += (weighted_coord1.y * weighted_coord2.y); - sum_yz += (weighted_coord1.y * weighted_coord2.z); - - sum_zx += (weighted_coord1.z * weighted_coord2.x); - sum_zy += (weighted_coord1.z * weighted_coord2.y); - sum_zz += (weighted_coord1.z * weighted_coord2.z); - } - - double initial_eigenvalue = (sum_of_squares1 + sum_of_squares2) * 0.5; - - sum_xz_plus_zx = sum_xz + sum_zx; - sum_yz_plus_zy = sum_yz + sum_zy; - sum_xy_plus_yx = sum_xy + sum_yx; - sum_yz_minus_zy = sum_yz - sum_zy; - sum_xz_minus_zx = sum_xz - sum_zx; - sum_xy_minus_yx = sum_xy - sum_yx; - sum_xx_plus_yy = sum_xx + sum_yy; - sum_xx_minus_yy = sum_xx - sum_yy; - max_eigenvalue = initial_eigenvalue; - - inner_product_calculated = true; -} - -Quaternion QuaternionCharacteristicPolynomial::_weighted_superpose(PackedVector3Array &p_moved, PackedVector3Array &p_target, Vector &p_weight, bool translate) { - set(p_moved, p_target, p_weight, translate); - return _get_rotation(); -} - -void QuaternionCharacteristicPolynomial::set(PackedVector3Array &p_moved, PackedVector3Array &p_target, Vector &p_weight, bool p_translate) { - transformation_calculated = false; - inner_product_calculated = false; - - moved = p_moved; - target = p_target; - weight = p_weight; - - if (p_translate) { - moved_center = move_to_weighted_center(moved, weight); - w_sum = 0; // set wsum to 0 so we don't double up. - target_center = move_to_weighted_center(target, weight); - translate(moved_center * -1, moved); - translate(target_center * -1, target); - } else { - if (!p_weight.is_empty()) { - for (int i = 0; i < p_weight.size(); i++) { - w_sum += p_weight[i]; - } - } else { - w_sum = p_moved.size(); - } - } -} - -void QuaternionCharacteristicPolynomial::_bind_methods() { - ClassDB::bind_static_method("QuaternionCharacteristicPolynomial", - D_METHOD("weighted_superpose", "moved", "target", - "weight", "translate", "precision"), - &QuaternionCharacteristicPolynomial::weighted_superpose); -} - -Array QuaternionCharacteristicPolynomial::weighted_superpose(PackedVector3Array p_moved, - PackedVector3Array p_target, - Vector p_weight, bool p_translate, - double p_precision) { - QuaternionCharacteristicPolynomial qcp(p_precision); - Quaternion rotation = - qcp._weighted_superpose(p_moved, p_target, p_weight, p_translate); - Vector3 translation = qcp._get_translation(); - Array result; - result.push_back(rotation); - result.push_back(translation); - return result; -} diff --git a/modules/constraint_ik/src/math/qcp.h b/modules/constraint_ik/src/math/qcp.h deleted file mode 100644 index 274b74fb02ff..000000000000 --- a/modules/constraint_ik/src/math/qcp.h +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************/ -/* qcp.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef QCP_H -#define QCP_H - -#include "core/math/vector3.h" -#include "core/object/class_db.h" -#include "core/object/object.h" -#include "core/variant/variant.h" - -/** - * Implementation of the Quaternion-Based Characteristic Polynomial algorithm - * for RMSD and Superposition calculations. - * - * Usage: - * 1. Create a QCP object with two Vector3 arrays of equal length as input. - * The input coordinates are not changed. - * 2. Optionally, provide weighting factors [0 - 1] for each point. - * 3. For maximum efficiency, create a QCP object once and reuse it. - * - * A. Calculate rmsd only: double rmsd = qcp.getRmsd(); - * B. Calculate a 4x4 transformation (Quaternion and translation) matrix: Matrix4f trans = qcp.getTransformationMatrix(); - * C. Get transformed points (y superposed onto the reference x): Vector3[] ySuperposed = qcp.getTransformedCoordinates(); - * - * Citations: - * - Liu P, Agrafiotis DK, & Theobald DL (2011) Reply to comment on: "Fast determination of the optimal Quaternionation matrix for macromolecular superpositions." Journal of Computational Chemistry 32(1):185-186. [http://dx.doi.org/10.1002/jcc.21606] - * - Liu P, Agrafiotis DK, & Theobald DL (2010) "Fast determination of the optimal Quaternionation matrix for macromolecular superpositions." Journal of Computational Chemistry 31(7):1561-1563. [http://dx.doi.org/10.1002/jcc.21439] - * - Douglas L Theobald (2005) "Rapid calculation of RMSDs using a quaternion-based characteristic polynomial." Acta Crystallogr A 61(4):478-480. [http://dx.doi.org/10.1107/S0108767305015266] - * - * This is an adaptation of the original C code QCPQuaternion 1.4 (2012, October 10) to C++. - * The original C source code is available from http://theobald.brandeis.edu/qcp/ and was developed by: - * - Douglas L. Theobald, Department of Biochemistry, Brandeis University - * - Pu Liu, Johnson & Johnson Pharmaceutical Research and Development, L.L.C. - * - * @author Douglas L. Theobald (original C code) - * @author Pu Liu (original C code) - * @author Peter Rose (adapted to Java) - * @author Aleix Lafita (adapted to Java) - * @author Eron Gjoni (adapted to EWB IK) - * @author K. S. Ernest (iFire) Lee (adapted to ManyBoneIK) - */ - -class QuaternionCharacteristicPolynomial : Object { - GDCLASS(QuaternionCharacteristicPolynomial, Object); - double eigenvector_precision = 1E-6; - - PackedVector3Array target, moved; - Vector weight; - double w_sum = 0; - - Vector3 target_center, moved_center; - - double sum_xy = 0, sum_xz = 0, sum_yx = 0, sum_yz = 0, sum_zx = 0, sum_zy = 0; - double sum_xx_plus_yy = 0, sum_zz = 0, max_eigenvalue = 0, sum_yz_minus_zy = 0, sum_xz_minus_zx = 0, sum_xy_minus_yx = 0; - double sum_xx_minus_yy = 0, sum_xy_plus_yx = 0, sum_xz_plus_zx = 0; - double sum_yy = 0, sum_xx = 0, sum_yz_plus_zy = 0; - bool transformation_calculated = false, inner_product_calculated = false; - - void inner_product(PackedVector3Array &coords1, PackedVector3Array &coords2); - void set(PackedVector3Array &r_target, PackedVector3Array &r_moved); - Quaternion calculate_rotation(); - void set(PackedVector3Array &p_moved, PackedVector3Array &p_target, Vector &p_weight, bool p_translate); - static void translate(Vector3 r_translate, PackedVector3Array &r_x); - Vector3 move_to_weighted_center(PackedVector3Array &r_to_center, Vector &r_weight); - QuaternionCharacteristicPolynomial(double p_evec_prec); - Quaternion _weighted_superpose(PackedVector3Array &p_moved, PackedVector3Array &p_target, Vector &p_weight, bool translate); - Quaternion _get_rotation(); - Vector3 _get_translation(); - -protected: - static void _bind_methods(); - -public: - static Array weighted_superpose(PackedVector3Array p_moved, - PackedVector3Array p_target, - Vector p_weight, bool p_translate, - double p_precision = 1E-6); -}; - -#endif // QCP_H diff --git a/modules/constraint_ik/tests/test_ik_node_3d.h b/modules/constraint_ik/tests/test_ik_node_3d.h deleted file mode 100644 index 9eee9d0cacf7..000000000000 --- a/modules/constraint_ik/tests/test_ik_node_3d.h +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************/ -/* test_ik_node_3d.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef TEST_IK_NODE_3D_H -#define TEST_IK_NODE_3D_H - -#include "tests/test_macros.h" - -namespace TestIKConstraintNode3D { - -TEST_CASE("[Modules][IKConstraintNode3D] Transform operations") { - Ref node; - node.instantiate(); - - // Test set_transform and get_transform - Transform3D t; - t.origin = Vector3(1, 2, 3); - node->set_transform(t); - CHECK(node->get_transform() == t); - - // Test set_global_transform and get_global_transform - Transform3D gt; - gt.origin = Vector3(4, 5, 6); - node->set_global_transform(gt); - CHECK(node->get_global_transform() == gt); -} - -TEST_CASE("[Modules][IKConstraintNode3D] Scale operations") { - Ref node; - node.instantiate(); - - // Test set_disable_scale and is_scale_disabled - node->set_disable_scale(true); - CHECK(node->is_scale_disabled()); -} - -TEST_CASE("[Modules][IKConstraintNode3D] Parent operations") { - Ref node; - node.instantiate(); - Ref parent; - parent.instantiate(); - - // Test set_parent and get_parent - node->set_parent(parent); - CHECK(node->get_parent() == parent); -} - -TEST_CASE("[Modules][IKConstraintNode3D] Coordinate transformations") { - Ref node; - node.instantiate(); - - // Test to_local and to_global - Vector3 global(1, 2, 3); - Vector3 local = node->to_local(global); - CHECK(node->to_global(local) == global); -} - -TEST_CASE("[Modules][IKConstraintNode3D] Test local transform calculation") { - Ref node; - node.instantiate(); - - Transform3D node_transform; - node_transform.origin = Vector3(1.0, 2.0, 3.0); // Translation by (1, 2, 3) - node->set_global_transform(node_transform); - - Ref parent_node; - parent_node.instantiate(); - - Transform3D parent_transform; - parent_transform.origin = Vector3(4.0, 5.0, 6.0); // Translation by (4, 5, 6) - parent_node->set_global_transform(parent_transform); - - node->set_parent(parent_node); - - Transform3D expected_local_transform = parent_node->get_global_transform().affine_inverse() * node->get_global_transform(); - - CHECK(node->get_transform() == expected_local_transform); -} -} // namespace TestIKConstraintNode3D - -#endif // TEST_IK_NODE_3D_H diff --git a/modules/constraint_ik/tests/test_qcp.h b/modules/constraint_ik/tests/test_qcp.h deleted file mode 100644 index 5a1f21ca9fa5..000000000000 --- a/modules/constraint_ik/tests/test_qcp.h +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************/ -/* test_qcp.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#ifndef TEST_QCP_H -#define TEST_QCP_H - -#include "core/math/quaternion.h" -#include "modules/constraint_ik/src/math/qcp.h" -#include "tests/test_macros.h" - -namespace TestQCP { - -TEST_CASE("[Modules][QCP] No Translation") { - Quaternion expected = Quaternion(0, 0, sqrt(2) / 2, sqrt(2) / 2); - PackedVector3Array moved = { Vector3(4, 5, 6), Vector3(7, 8, 9), Vector3(1, 2, 3) }; - PackedVector3Array target = moved; - for (Vector3 &element : target) { - element = expected.xform(element); - } - Vector weight = { 1.0, 1.0, 1.0 }; // Equal weights - bool translate = false; - double epsilon = 1e-6; - Array result = QuaternionCharacteristicPolynomial::weighted_superpose(moved, target, weight, translate, epsilon); - Quaternion rotation = result[0]; - CHECK(abs(rotation.x - expected.x) < epsilon); - CHECK(abs(rotation.y - expected.y) < epsilon); - CHECK(abs(rotation.z - expected.z) < epsilon); - CHECK(abs(rotation.w - expected.w) < epsilon); - Vector3 result_translation = result[1]; - CHECK(result_translation.is_zero_approx()); -} - -TEST_CASE("[Modules][QCP] Different Weights") { - Quaternion expected = Quaternion(0, 0, sqrt(2) / 2, sqrt(2) / 2); - PackedVector3Array moved = { Vector3(4, 5, 6), Vector3(7, 8, 9), Vector3(1, 2, 3) }; - PackedVector3Array target = moved; - for (Vector3 &element : target) { - element = expected.xform(element); - } - Vector weight = { 0.5, 1.0, 1.5 }; // Different weights - bool translate = false; - double epsilon = 1e-6; - - Array result = QuaternionCharacteristicPolynomial::weighted_superpose(moved, target, weight, translate, epsilon); - Quaternion rotation = result[0]; - CHECK(abs(rotation.x - expected.x) < epsilon); - CHECK(abs(rotation.y - expected.y) < epsilon); - CHECK(abs(rotation.z - expected.z) < epsilon); - CHECK(abs(rotation.w - expected.w) < epsilon); -} - -TEST_CASE("[Modules][QCP] Zero Weights") { - Quaternion expected = Quaternion(0, 0, sqrt(2) / 2, sqrt(2) / 2); - PackedVector3Array moved = { Vector3(4, 5, 6), Vector3(7, 8, 9), Vector3(1, 2, 3) }; - PackedVector3Array target = moved; - for (Vector3 &element : target) { - element = expected.xform(element); - } - Vector weight = { 0.0, 0.0, 0.0 }; // Zero weights - bool translate = false; - double epsilon = 1e-6; - - Array result = QuaternionCharacteristicPolynomial::weighted_superpose(moved, target, weight, translate, epsilon); - Quaternion rotation = result[0]; - CHECK(abs(rotation.x - expected.x) < epsilon); - CHECK(abs(rotation.y - expected.y) < epsilon); - CHECK(abs(rotation.z - expected.z) < epsilon); - CHECK(abs(rotation.w - expected.w) < epsilon); -} - -TEST_CASE("[Modules][QCP] Identity Rotation") { - Quaternion expected = Quaternion(); - PackedVector3Array moved = { Vector3(4, 5, 6), Vector3(7, 8, 9), Vector3(1, 2, 3) }; - PackedVector3Array target = moved; - Vector weight = { 1.0, 1.0, 1.0 }; // Equal weights - bool translate = false; - double epsilon = 1e-6; - - Array result = QuaternionCharacteristicPolynomial::weighted_superpose(moved, target, weight, translate, epsilon); - Quaternion rotation = result[0]; - CHECK(abs(rotation.x - expected.x) < epsilon); - CHECK(abs(rotation.y - expected.y) < epsilon); - CHECK(abs(rotation.z - expected.z) < epsilon); - CHECK(abs(rotation.w - expected.w) < epsilon); -} - -TEST_CASE("[Modules][QCP] Random Rotation and Translation") { - Quaternion expected_rotation = Quaternion(0.1, 0.2, 0.3, 0.4).normalized(); - Vector3 expected_translation = Vector3(1, 2, 3); - PackedVector3Array moved = { Vector3(4, 5, 6), Vector3(7, 8, 9), Vector3(1, 2, 3) }; - PackedVector3Array target = moved; - for (Vector3 &element : target) { - element = expected_rotation.xform(element + expected_translation); - } - Vector weight = { 1.0, 1.0, 1.0 }; // Equal weights - bool translate = true; - double epsilon = 1e-6; - - Array result = QuaternionCharacteristicPolynomial::weighted_superpose(moved, target, weight, translate, epsilon); - Quaternion rotation = result[0]; - Vector3 translation = result[1]; - CHECK(abs(rotation.x - expected_rotation.x) < epsilon); - CHECK(abs(rotation.y - expected_rotation.y) < epsilon); - CHECK(abs(rotation.z - expected_rotation.z) < epsilon); - CHECK(abs(rotation.w - expected_rotation.w) < epsilon); - - CHECK(translate); - Vector3 translation_result = expected_rotation.xform_inv(translation); - CHECK(abs(translation_result.x - expected_translation.x) < epsilon); - CHECK(abs(translation_result.y - expected_translation.y) < epsilon); - CHECK(abs(translation_result.z - expected_translation.z) < epsilon); -} - -} // namespace TestQCP - -#endif // TEST_QCP_H diff --git a/modules/many_bone_ik/.gitrepo b/modules/many_bone_ik/.gitrepo new file mode 100644 index 000000000000..6b763294c5cd --- /dev/null +++ b/modules/many_bone_ik/.gitrepo @@ -0,0 +1,12 @@ +; DO NOT EDIT (unless you know what you are doing) +; +; This subdirectory is a git "subrepo", and this file is maintained by the +; git-subrepo command. See https://github.com/ingydotnet/git-subrepo#readme +; +[subrepo] + remote = https://github.com/V-Sekai/many_bone_ik.git + branch = main + commit = b6646697056c93d3296aca79fbf0093a307f0cb2 + parent = 251a9ddb2b40ab42487b86928ed97940af6b602c + method = merge + cmdver = 0.4.9 diff --git a/modules/many_bone_ik/SCsub b/modules/many_bone_ik/SCsub index 6ac6849a687a..715fb0101706 100644 --- a/modules/many_bone_ik/SCsub +++ b/modules/many_bone_ik/SCsub @@ -10,3 +10,6 @@ env_many_bone_ik.add_source_files(env.modules_sources, "constraints/*.cpp") env_many_bone_ik.add_source_files(env.modules_sources, "src/math/*.cpp") env_many_bone_ik.add_source_files(env.modules_sources, "src/*.cpp") env_many_bone_ik.add_source_files(env.modules_sources, "*.cpp") + +if env.editor_build: + env_many_bone_ik.add_source_files(env.modules_sources, "editor/*.cpp") diff --git a/modules/many_bone_ik/config.py b/modules/many_bone_ik/config.py index 0c100cebff4d..b27d55d5d10c 100644 --- a/modules/many_bone_ik/config.py +++ b/modules/many_bone_ik/config.py @@ -13,7 +13,10 @@ def get_doc_classes(): "IKEffector3D", "IKBoneSegment3D", "IKEffectorTemplate3D", + "IKKusudama3D", + "IKRay3D", "IKNode3D", + "IKLimitCone3D", ] diff --git a/modules/many_bone_ik/doc_classes/IKBone3D.xml b/modules/many_bone_ik/doc_classes/IKBone3D.xml index f2b8bbea0e78..d7eb00fa46f1 100644 --- a/modules/many_bone_ik/doc_classes/IKBone3D.xml +++ b/modules/many_bone_ik/doc_classes/IKBone3D.xml @@ -9,6 +9,24 @@ + + + + Returns the IKKusudama3D object representing the constraint of the bone. + + + + + + Returns the IKNode3D object representing the orientation transform of the constraint. + + + + + + Returns the IKNode3D object representing the twist transform of the constraint. + + diff --git a/modules/constraint_ik/doc_classes/IKKusudama3D.xml b/modules/many_bone_ik/doc_classes/IKKusudama3D.xml similarity index 100% rename from modules/constraint_ik/doc_classes/IKKusudama3D.xml rename to modules/many_bone_ik/doc_classes/IKKusudama3D.xml diff --git a/modules/constraint_ik/doc_classes/IKLimitCone3D.xml b/modules/many_bone_ik/doc_classes/IKLimitCone3D.xml similarity index 100% rename from modules/constraint_ik/doc_classes/IKLimitCone3D.xml rename to modules/many_bone_ik/doc_classes/IKLimitCone3D.xml diff --git a/modules/constraint_ik/doc_classes/IKRay3D.xml b/modules/many_bone_ik/doc_classes/IKRay3D.xml similarity index 100% rename from modules/constraint_ik/doc_classes/IKRay3D.xml rename to modules/many_bone_ik/doc_classes/IKRay3D.xml diff --git a/modules/many_bone_ik/doc_classes/ManyBoneIK3D.xml b/modules/many_bone_ik/doc_classes/ManyBoneIK3D.xml index 1f4712890f5f..dab81b413d29 100644 --- a/modules/many_bone_ik/doc_classes/ManyBoneIK3D.xml +++ b/modules/many_bone_ik/doc_classes/ManyBoneIK3D.xml @@ -9,6 +9,13 @@ + + + + + Returns the index of the constraint with the given name. If no such constraint exists, returns -1. + + @@ -21,6 +28,25 @@ Returns the total number of bones in the IK system. + + + + Returns the total number of constraints in the IK system. + + + + + + + Returns the name of the constraint at the specified index. + + + + + + + + @@ -33,6 +59,41 @@ + + + + + + + + + + + + Returns the center of the limit cone for the kusudama at the specified index. + + + + + + + Returns the count of limit cones for the kusudama at the specified index. + + + + + + + + Returns the radius of the limit cone for the kusudama at the specified index. + + + + + + + + @@ -67,12 +128,37 @@ Returns the weight of the pin at the specified index. + + + + + + + + + + Registers the skeleton to the IK system. This should be called after all bones and constraints have been added to the system. + + + + + + Resets all constraints in the IK system to their default state. + + + + + + + Sets the total number of constraints. + + @@ -80,6 +166,13 @@ + + + + + + + @@ -101,6 +194,46 @@ + + + + + + + + + + + + + + Sets the center of the limit cone for the kusudama at the specified index. + + + + + + + + Sets the count of limit cones for the kusudama at the specified index. + + + + + + + + + Sets the radius of the limit cone for the kusudama at the specified index. + + + + + + + + + @@ -137,8 +270,18 @@ + + + + + + + + + A boolean value indicating whether the IK system is in constraint mode or not. + The default maximum number of radians a bone is allowed to rotate per solver iteration. The lower this value, the more natural the pose results. However, this will increase the number of iterations_per_frame the solver requires to converge. @@ -148,5 +291,8 @@ The number of stabilization passes performed by the solver. This can help to improve the stability of the IK solution. + + The index of the bone currently selected in the user interface. + diff --git a/modules/constraint_ik/editor/many_bone_ik_3d_gizmo_plugin.cpp b/modules/many_bone_ik/editor/many_bone_ik_3d_gizmo_plugin.cpp similarity index 88% rename from modules/constraint_ik/editor/many_bone_ik_3d_gizmo_plugin.cpp rename to modules/many_bone_ik/editor/many_bone_ik_3d_gizmo_plugin.cpp index 6e7478cc0b76..5481406c28e2 100644 --- a/modules/constraint_ik/editor/many_bone_ik_3d_gizmo_plugin.cpp +++ b/modules/many_bone_ik/editor/many_bone_ik_3d_gizmo_plugin.cpp @@ -32,6 +32,7 @@ #include "core/templates/local_vector.h" #include "editor/editor_interface.h" #include "editor/editor_node.h" +#include "editor/many_bone_ik_shader.h" #include "editor/plugins/node_3d_editor_gizmos.h" #include "editor/plugins/node_3d_editor_plugin.h" #include "scene/3d/mesh_instance_3d.h" @@ -42,28 +43,27 @@ #include "../src/ik_kusudama_3d.h" #include "../src/many_bone_ik_3d.h" #include "many_bone_ik_3d_gizmo_plugin.h" -#include "many_bone_ik_shader.h" #ifdef TOOLS_ENABLED #include "editor/editor_node.h" #include "editor/editor_undo_redo_manager.h" #endif -void ConstraintIK3DGizmoPlugin::_bind_methods() { - ClassDB::bind_method(D_METHOD("_get_gizmo_name"), &ConstraintIK3DGizmoPlugin::get_gizmo_name); +void ManyBoneIK3DGizmoPlugin::_bind_methods() { + ClassDB::bind_method(D_METHOD("_get_gizmo_name"), &ManyBoneIK3DGizmoPlugin::get_gizmo_name); } -bool ConstraintIK3DGizmoPlugin::has_gizmo(Node3D *p_spatial) { - return cast_to(p_spatial); +bool ManyBoneIK3DGizmoPlugin::has_gizmo(Node3D *p_spatial) { + return cast_to(p_spatial); } -String ConstraintIK3DGizmoPlugin::get_gizmo_name() const { - return "ConstraintIK3D"; +String ManyBoneIK3DGizmoPlugin::get_gizmo_name() const { + return "ManyBoneIK3D"; } -void ConstraintIK3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { - many_bone_ik = Object::cast_to(p_gizmo->get_node_3d()); - Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); +void ManyBoneIK3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { + many_bone_ik = Object::cast_to(p_gizmo->get_node_3d()); + Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); p_gizmo->clear(); if (!skeleton || !skeleton->get_bone_count()) { return; @@ -87,11 +87,11 @@ void ConstraintIK3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { Color current_bone_color = (current_bone_idx == selected) ? selected_bone_color : bone_color; - for (const Ref &segmented_skeleton : many_bone_ik->get_segmented_skeletons()) { + for (const Ref &segmented_skeleton : many_bone_ik->get_segmented_skeletons()) { if (segmented_skeleton.is_null()) { continue; } - Ref ik_bone = segmented_skeleton->get_ik_bone(current_bone_idx); + Ref ik_bone = segmented_skeleton->get_ik_bone(current_bone_idx); if (ik_bone.is_null() || ik_bone->get_constraint().is_null()) { continue; } @@ -114,7 +114,7 @@ void ConstraintIK3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { } } -void ConstraintIK3DGizmoPlugin::create_gizmo_mesh(BoneId current_bone_idx, Ref ik_bone, EditorNode3DGizmo *p_gizmo, Color current_bone_color, Skeleton3D *many_bone_ik_skeleton, ConstraintIK3D *p_many_bone_ik) { +void ManyBoneIK3DGizmoPlugin::create_gizmo_mesh(BoneId current_bone_idx, Ref ik_bone, EditorNode3DGizmo *p_gizmo, Color current_bone_color, Skeleton3D *many_bone_ik_skeleton, ManyBoneIK3D *p_many_bone_ik) { Ref ik_kusudama = ik_bone->get_constraint(); if (ik_kusudama.is_null()) { return; @@ -261,18 +261,18 @@ void ConstraintIK3DGizmoPlugin::create_gizmo_mesh(BoneId current_bone_idx, Ref many_bone_ik_gizmo_plugin; + Ref many_bone_ik_gizmo_plugin; many_bone_ik_gizmo_plugin.instantiate(); Node3DEditor::get_singleton()->add_gizmo_plugin(many_bone_ik_gizmo_plugin); } -int ConstraintIK3DGizmoPlugin::subgizmos_intersect_ray(const EditorNode3DGizmo *p_gizmo, Camera3D *p_camera, const Vector2 &p_point) const { - Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); +int ManyBoneIK3DGizmoPlugin::subgizmos_intersect_ray(const EditorNode3DGizmo *p_gizmo, Camera3D *p_camera, const Vector2 &p_point) const { + Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); ERR_FAIL_COND_V(!skeleton, -1); if (!edit_mode) { @@ -311,8 +311,8 @@ int ConstraintIK3DGizmoPlugin::subgizmos_intersect_ray(const EditorNode3DGizmo * return -1; } -Transform3D ConstraintIK3DGizmoPlugin::get_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id) const { - Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); +Transform3D ManyBoneIK3DGizmoPlugin::get_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id) const { + Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); ERR_FAIL_COND_V(!skeleton, Transform3D()); Transform3D constraint_relative_to_the_skeleton = many_bone_ik->get_relative_transform(many_bone_ik->get_owner()).affine_inverse() * @@ -320,8 +320,8 @@ Transform3D ConstraintIK3DGizmoPlugin::get_subgizmo_transform(const EditorNode3D return constraint_relative_to_the_skeleton * skeleton->get_bone_global_pose(p_id); } -void ConstraintIK3DGizmoPlugin::set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform) { - Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); +void ManyBoneIK3DGizmoPlugin::set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform) { + Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); ERR_FAIL_COND(!skeleton); // Prepare for global to local. Transform3D original_to_local; @@ -352,8 +352,8 @@ void ConstraintIK3DGizmoPlugin::set_subgizmo_transform(const EditorNode3DGizmo * many_bone_ik->update_gizmos(); } -void ConstraintIK3DGizmoPlugin::commit_subgizmos(const EditorNode3DGizmo *p_gizmo, const Vector &p_ids, const Vector &p_restore, bool p_cancel) { - Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); +void ManyBoneIK3DGizmoPlugin::commit_subgizmos(const EditorNode3DGizmo *p_gizmo, const Vector &p_ids, const Vector &p_restore, bool p_cancel) { + Skeleton3D *skeleton = Object::cast_to(p_gizmo->get_node_3d())->get_skeleton(); ERR_FAIL_COND(!skeleton); Node3DEditor *ne = Node3DEditor::get_singleton(); @@ -375,7 +375,7 @@ void ConstraintIK3DGizmoPlugin::commit_subgizmos(const EditorNode3DGizmo *p_gizm ur->commit_action(); } -void ConstraintIK3DGizmoPlugin::_draw_handles() { +void ManyBoneIK3DGizmoPlugin::_draw_handles() { if (!many_bone_ik) { return; } @@ -408,7 +408,7 @@ void ConstraintIK3DGizmoPlugin::_draw_handles() { } } -void ConstraintIK3DGizmoPlugin::_draw_gizmo() { +void ManyBoneIK3DGizmoPlugin::_draw_gizmo() { if (!many_bone_ik) { return; } @@ -430,7 +430,7 @@ void ConstraintIK3DGizmoPlugin::_draw_gizmo() { } } -void ConstraintIK3DGizmoPlugin::_update_gizmo_visible() { +void ManyBoneIK3DGizmoPlugin::_update_gizmo_visible() { if (!many_bone_ik) { return; } @@ -462,7 +462,7 @@ void ConstraintIK3DGizmoPlugin::_update_gizmo_visible() { _draw_gizmo(); } -void ConstraintIK3DGizmoPlugin::_subgizmo_selection_change() { +void ManyBoneIK3DGizmoPlugin::_subgizmo_selection_change() { if (!many_bone_ik) { return; } @@ -499,16 +499,16 @@ void ConstraintIK3DGizmoPlugin::_subgizmo_selection_change() { } } -void ConstraintIK3DGizmoPlugin::edit_mode_toggled(const bool pressed) { +void ManyBoneIK3DGizmoPlugin::edit_mode_toggled(const bool pressed) { edit_mode = pressed; _update_gizmo_visible(); } -void ConstraintIK3DGizmoPlugin::_hide_handles() { +void ManyBoneIK3DGizmoPlugin::_hide_handles() { handles_mesh_instance->hide(); } -void ConstraintIK3DGizmoPlugin::_notifications(int32_t p_what) { +void ManyBoneIK3DGizmoPlugin::_notifications(int32_t p_what) { switch (p_what) { case EditorNode3DGizmoPlugin::NOTIFICATION_POSTINITIALIZE: { kusudama_shader->set_code(MANY_BONE_IKKUSUDAMA_SHADER); @@ -553,7 +553,7 @@ void fragment() { edit_mode_button->set_toggle_mode(true); edit_mode_button->set_focus_mode(Control::FOCUS_NONE); edit_mode_button->set_tooltip_text(TTR("Edit Mode\nShow buttons on joints.")); - edit_mode_button->connect("toggled", callable_mp(this, &ConstraintIK3DGizmoPlugin::edit_mode_toggled)); + edit_mode_button->connect("toggled", callable_mp(this, &ManyBoneIK3DGizmoPlugin::edit_mode_toggled)); edit_mode = false; create_material("lines_primary", Color(0.93725490570068, 0.19215686619282, 0.22352941334248), true, true, true); diff --git a/modules/constraint_ik/editor/many_bone_ik_3d_gizmo_plugin.h b/modules/many_bone_ik/editor/many_bone_ik_3d_gizmo_plugin.h similarity index 92% rename from modules/constraint_ik/editor/many_bone_ik_3d_gizmo_plugin.h rename to modules/many_bone_ik/editor/many_bone_ik_3d_gizmo_plugin.h index cac397d9cbc1..99c7e3fd74e3 100644 --- a/modules/constraint_ik/editor/many_bone_ik_3d_gizmo_plugin.h +++ b/modules/many_bone_ik/editor/many_bone_ik_3d_gizmo_plugin.h @@ -49,8 +49,8 @@ class PhysicalBone3D; class ManyBoneIKEditorPlugin; class Button; -class ConstraintIK3DGizmoPlugin : public EditorNode3DGizmoPlugin { - GDCLASS(ConstraintIK3DGizmoPlugin, EditorNode3DGizmoPlugin); +class ManyBoneIK3DGizmoPlugin : public EditorNode3DGizmoPlugin { + GDCLASS(ManyBoneIK3DGizmoPlugin, EditorNode3DGizmoPlugin); Ref kusudama_shader = memnew(Shader); Ref unselected_mat; @@ -61,7 +61,7 @@ class ConstraintIK3DGizmoPlugin : public EditorNode3DGizmoPlugin { Ref handles_mesh = memnew(ImmediateMesh); Ref handle_material = memnew(ShaderMaterial); Ref handle_shader; - ConstraintIK3D *many_bone_ik = nullptr; + ManyBoneIK3D *many_bone_ik = nullptr; Button *edit_mode_button = nullptr; bool edit_mode = false; @@ -76,7 +76,7 @@ class ConstraintIK3DGizmoPlugin : public EditorNode3DGizmoPlugin { String get_gizmo_name() const override; void redraw(EditorNode3DGizmo *p_gizmo) override; int32_t get_priority() const override; - void create_gizmo_mesh(BoneId current_bone_idx, Ref ik_bone, EditorNode3DGizmo *p_gizmo, Color current_bone_color, Skeleton3D *many_bone_ik_skeleton, ConstraintIK3D *p_many_bone_ik); + void create_gizmo_mesh(BoneId current_bone_idx, Ref ik_bone, EditorNode3DGizmo *p_gizmo, Color current_bone_color, Skeleton3D *many_bone_ik_skeleton, ManyBoneIK3D *p_many_bone_ik); int subgizmos_intersect_ray(const EditorNode3DGizmo *p_gizmo, Camera3D *p_camera, const Vector2 &p_point) const override; Transform3D get_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id) const override; void set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform) override; diff --git a/modules/constraint_ik/editor/many_bone_ik_shader.h b/modules/many_bone_ik/editor/many_bone_ik_shader.h similarity index 100% rename from modules/constraint_ik/editor/many_bone_ik_shader.h rename to modules/many_bone_ik/editor/many_bone_ik_shader.h diff --git a/modules/many_bone_ik/register_types.cpp b/modules/many_bone_ik/register_types.cpp index 797c6e9e3790..5b7ed4fd15c0 100644 --- a/modules/many_bone_ik/register_types.cpp +++ b/modules/many_bone_ik/register_types.cpp @@ -33,16 +33,31 @@ #include "src/ik_bone_3d.h" #include "src/ik_effector_3d.h" #include "src/ik_effector_template_3d.h" +#include "src/ik_kusudama_3d.h" #include "src/many_bone_ik_3d.h" +#ifdef TOOLS_ENABLED +#include "editor/many_bone_ik_3d_gizmo_plugin.h" +#endif + void initialize_many_bone_ik_module(ModuleInitializationLevel p_level) { if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE) { + } +#ifdef TOOLS_ENABLED + if (p_level == MODULE_INITIALIZATION_LEVEL_EDITOR) { + EditorPlugins::add_by_type(); + } +#endif + if (p_level == MODULE_INITIALIZATION_LEVEL_SERVERS) { GDREGISTER_CLASS(IKEffectorTemplate3D); GDREGISTER_CLASS(ManyBoneIK3D); GDREGISTER_CLASS(IKBone3D); GDREGISTER_CLASS(IKNode3D); GDREGISTER_CLASS(IKEffector3D); GDREGISTER_CLASS(IKBoneSegment3D); + GDREGISTER_CLASS(IKKusudama3D); + GDREGISTER_CLASS(IKRay3D); + GDREGISTER_CLASS(IKLimitCone3D); } } diff --git a/modules/many_bone_ik/src/ik_bone_3d.cpp b/modules/many_bone_ik/src/ik_bone_3d.cpp index f1429e2c69f0..cfd400612880 100644 --- a/modules/many_bone_ik/src/ik_bone_3d.cpp +++ b/modules/many_bone_ik/src/ik_bone_3d.cpp @@ -29,6 +29,7 @@ /**************************************************************************/ #include "ik_bone_3d.h" +#include "ik_kusudama_3d.h" #include "many_bone_ik_3d.h" #include "math/ik_node_3d.h" #include @@ -100,6 +101,24 @@ void IKBone3D::update_default_constraint_transform() { Transform3D set_constraint_twist_transform = get_set_constraint_twist_transform(); constraint_twist_transform->set_global_transform(set_constraint_twist_transform); + + if (constraint.is_null()) { + return; + } + + TypedArray cones = constraint->get_open_cones(); + Vector3 direction; + if (cones.size() == 0) { + direction = bone_direction_transform->get_global_transform().basis.get_column(Vector3::AXIS_Y); + } else { + float total_radius_sum = calculate_total_radius_sum(cones); + direction = calculate_weighted_direction(cones, total_radius_sum); + direction -= constraint_orientation_transform->get_global_transform().origin; + } + + Vector3 twist_axis = set_constraint_twist_transform.basis.get_column(Vector3::AXIS_Y); + Quaternion align_dir = Quaternion(twist_axis, direction); + constraint_twist_transform->rotate_local_with_global(align_dir); } Ref IKBone3D::get_parent() const { @@ -171,6 +190,9 @@ void IKBone3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_pin"), &IKBone3D::get_pin); ClassDB::bind_method(D_METHOD("set_pin", "pin"), &IKBone3D::set_pin); ClassDB::bind_method(D_METHOD("is_pinned"), &IKBone3D::is_pinned); + ClassDB::bind_method(D_METHOD("get_constraint"), &IKBone3D::get_constraint); + ClassDB::bind_method(D_METHOD("get_constraint_orientation_transform"), &IKBone3D::get_constraint_orientation_transform); + ClassDB::bind_method(D_METHOD("get_constraint_twist_transform"), &IKBone3D::get_constraint_twist_transform); } IKBone3D::IKBone3D(StringName p_bone, Skeleton3D *p_skeleton, const Ref &p_parent, Vector> &p_pins, float p_default_dampening, @@ -203,7 +225,12 @@ IKBone3D::IKBone3D(StringName p_bone, Skeleton3D *p_skeleton, const Refget_iterations_per_frame(); - float returnfulness = 0.0; + if (get_constraint().is_null()) { + Ref new_constraint; + new_constraint.instantiate(); + add_constraint(new_constraint); + } + float returnfulness = get_constraint()->get_resistance(); float falloff = 0.2f; half_returnfulness_dampened.resize(iterations); cos_half_returnfulness_dampened.resize(iterations); @@ -225,6 +252,14 @@ void IKBone3D::set_cos_half_dampen(float p_cos_half_dampen) { cos_half_dampen = p_cos_half_dampen; } +Ref IKBone3D::get_constraint() const { + return constraint; +} + +void IKBone3D::add_constraint(Ref p_constraint) { + constraint = p_constraint; +} + Ref IKBone3D::get_ik_transform() { return godot_skeleton_aligned_transform; } @@ -249,6 +284,20 @@ Ref IKBone3D::get_bone_direction_transform() { return bone_direction_transform; } +bool IKBone3D::is_orientationally_constrained() { + if (get_constraint().is_null()) { + return false; + } + return get_constraint()->is_orientationally_constrained(); +} + +bool IKBone3D::is_axially_constrained() { + if (get_constraint().is_null()) { + return false; + } + return get_constraint()->is_axially_constrained(); +} + Vector &IKBone3D::get_cos_half_returnfullness_dampened() { return cos_half_returnfulness_dampened; } @@ -286,3 +335,30 @@ Transform3D IKBone3D::get_parent_bone_aligned_transform() { Transform3D IKBone3D::get_set_constraint_twist_transform() const { return constraint_orientation_transform->get_global_transform(); } + +float IKBone3D::calculate_total_radius_sum(const TypedArray &p_cones) const { + float total_radius_sum = 0.0f; + for (int32_t i = 0; i < p_cones.size(); ++i) { + const Ref &cone = p_cones[i]; + if (cone.is_null()) { + break; + } + total_radius_sum += cone->get_radius(); + } + return total_radius_sum; +} + +Vector3 IKBone3D::calculate_weighted_direction(const TypedArray &p_cones, float p_total_radius_sum) const { + Vector3 direction = Vector3(); + for (int32_t i = 0; i < p_cones.size(); ++i) { + const Ref &cone = p_cones[i]; + if (cone.is_null()) { + break; + } + float weight = cone->get_radius() / p_total_radius_sum; + direction += cone->get_control_point() * weight; + } + direction.normalize(); + direction = constraint_orientation_transform->get_global_transform().basis.xform(direction); + return direction; +} diff --git a/modules/many_bone_ik/src/ik_bone_3d.h b/modules/many_bone_ik/src/ik_bone_3d.h index 72075b72693e..17b6062f6771 100644 --- a/modules/many_bone_ik/src/ik_bone_3d.h +++ b/modules/many_bone_ik/src/ik_bone_3d.h @@ -32,6 +32,8 @@ #define IK_BONE_3D_H #include "ik_effector_template_3d.h" +#include "ik_kusudama_3d.h" +#include "ik_open_cone_3d.h" #include "math/ik_node_3d.h" #include "core/io/resource.h" @@ -58,6 +60,7 @@ class IKBone3D : public Resource { Vector cos_half_returnfulness_dampened; Vector half_returnfulness_dampened; double stiffness = 0.0; + Ref constraint; // In the space of the local parent bone transform. // The origin is the origin of the bone direction transform // Can be independent and should be calculated @@ -78,6 +81,8 @@ class IKBone3D : public Resource { void set_half_returnfullness_dampened(const Vector &p_value); void set_stiffness(double p_stiffness); double get_stiffness() const; + bool is_axially_constrained(); + bool is_orientationally_constrained(); Transform3D get_bone_direction_global_pose() const; Ref get_bone_direction_transform(); void set_bone_direction_transform(Ref p_bone_direction); @@ -86,6 +91,8 @@ class IKBone3D : public Resource { Ref get_constraint_orientation_transform(); Ref get_constraint_twist_transform(); void update_default_constraint_transform(); + void add_constraint(Ref p_constraint); + Ref get_constraint() const; void set_bone_id(BoneId p_bone_id, Skeleton3D *p_skeleton = nullptr); BoneId get_bone_id() const; void set_parent(const Ref &p_parent); @@ -108,6 +115,8 @@ class IKBone3D : public Resource { void set_cos_half_dampen(float p_cos_half_dampen); Transform3D get_parent_bone_aligned_transform(); Transform3D get_set_constraint_twist_transform() const; + float calculate_total_radius_sum(const TypedArray &p_cones) const; + Vector3 calculate_weighted_direction(const TypedArray &p_cones, float p_total_radius_sum) const; }; #endif // IK_BONE_3D_H diff --git a/modules/many_bone_ik/src/ik_bone_segment_3d.cpp b/modules/many_bone_ik/src/ik_bone_segment_3d.cpp index 3f19faef11f5..b0aba235f832 100644 --- a/modules/many_bone_ik/src/ik_bone_segment_3d.cpp +++ b/modules/many_bone_ik/src/ik_bone_segment_3d.cpp @@ -32,6 +32,7 @@ #include "core/string/string_builder.h" #include "ik_effector_3d.h" +#include "ik_kusudama_3d.h" #include "many_bone_ik_3d.h" #include "scene/3d/skeleton_3d.h" @@ -152,6 +153,13 @@ void IKBoneSegment3D::_set_optimal_rotation(Ref p_for_bone, PackedVect Transform3D result = Transform3D(p_for_bone->get_global_pose().basis, p_for_bone->get_global_pose().origin + translation); p_for_bone->set_global_pose(result); } + bool is_parent_valid = p_for_bone->get_parent().is_valid(); + if (is_parent_valid && p_for_bone->is_orientationally_constrained()) { + p_for_bone->get_constraint()->snap_to_orientation_limit(p_for_bone->get_bone_direction_transform(), p_for_bone->get_ik_transform(), p_for_bone->get_constraint_orientation_transform(), bone_damp, p_for_bone->get_cos_half_dampen()); + } + if (is_parent_valid && p_for_bone->is_axially_constrained()) { + p_for_bone->get_constraint()->set_snap_to_twist_limit(p_for_bone->get_bone_direction_transform(), p_for_bone->get_ik_transform(), p_for_bone->get_constraint_twist_transform(), bone_damp, p_for_bone->get_cos_half_dampen()); + } if (default_stabilizing_pass_count > 0) { _update_tip_headings(p_for_bone, &tip_headings_uniform); double current_msd = _get_manual_msd(tip_headings_uniform, target_headings, heading_weights); diff --git a/modules/many_bone_ik/src/ik_bone_segment_3d.h b/modules/many_bone_ik/src/ik_bone_segment_3d.h index ba66a79324b4..e5d33c54ce2c 100644 --- a/modules/many_bone_ik/src/ik_bone_segment_3d.h +++ b/modules/many_bone_ik/src/ik_bone_segment_3d.h @@ -42,6 +42,7 @@ class IKEffector3D; class IKBone3D; +class IKLimitCone3D; class IKBoneSegment3D : public Resource { GDCLASS(IKBoneSegment3D, Resource); diff --git a/modules/many_bone_ik/src/ik_effector_3d.h b/modules/many_bone_ik/src/ik_effector_3d.h index c9b1312aa002..c0c56e359244 100644 --- a/modules/many_bone_ik/src/ik_effector_3d.h +++ b/modules/many_bone_ik/src/ik_effector_3d.h @@ -31,6 +31,8 @@ #ifndef IK_EFFECTOR_3D_H #define IK_EFFECTOR_3D_H +#include "math/ik_node_3d.h" + #include "core/object/ref_counted.h" #include "scene/3d/skeleton_3d.h" @@ -72,6 +74,7 @@ class IKEffector3D : public Resource { void set_direction_priorities(Vector3 p_direction_priorities); Vector3 get_direction_priorities() const; void update_target_global_transform(Skeleton3D *p_skeleton, ManyBoneIK3D *p_modification = nullptr); + const float MAX_KUSUDAMA_OPEN_CONES = 30; float get_motion_propagation_factor() const; void set_motion_propagation_factor(float p_motion_propagation_factor); void set_target_node(Skeleton3D *p_skeleton, const NodePath &p_target_node_path); diff --git a/modules/constraint_ik/src/ik_kusudama_3d.cpp b/modules/many_bone_ik/src/ik_kusudama_3d.cpp similarity index 95% rename from modules/constraint_ik/src/ik_kusudama_3d.cpp rename to modules/many_bone_ik/src/ik_kusudama_3d.cpp index 9ea498a3b9ca..3542a5a60586 100644 --- a/modules/constraint_ik/src/ik_kusudama_3d.cpp +++ b/modules/many_bone_ik/src/ik_kusudama_3d.cpp @@ -34,7 +34,7 @@ #include "ik_open_cone_3d.h" #include "math/ik_node_3d.h" -void IKKusudama3D::_update_constraint(Ref p_limiting_axes) { +void IKKusudama3D::_update_constraint(Ref p_limiting_axes) { // Avoiding antipodal singularities by reorienting the axes. Vector directions; @@ -114,7 +114,7 @@ void IKKusudama3D::set_axial_limits(real_t min_angle, real_t in_range) { twist_max_rot = Quaternion(z_axis, twist_max_vec); } -void IKKusudama3D::set_snap_to_twist_limit(Ref p_bone_direction, Ref p_to_set, Ref p_constraint_axes, real_t p_dampening, real_t p_cos_half_dampen) { +void IKKusudama3D::set_snap_to_twist_limit(Ref p_bone_direction, Ref p_to_set, Ref p_constraint_axes, real_t p_dampening, real_t p_cos_half_dampen) { if (!is_axially_constrained()) { return; } @@ -125,7 +125,7 @@ void IKKusudama3D::set_snap_to_twist_limit(Ref p_bone_direct Basis align_rot = (global_twist_center.inverse() * global_transform_to_set.basis).orthonormalized(); Quaternion twist_rotation, swing_rotation; // Hold the ik transform's decomposed swing and twist away from global_twist_centers's global basis. get_swing_twist(align_rot.get_rotation_quaternion(), Vector3(0, 1, 0), swing_rotation, twist_rotation); - twist_rotation = IKConstraintBoneSegment3D::clamp_to_cos_half_angle(twist_rotation, twist_half_range_half_cos); + twist_rotation = IKBoneSegment3D::clamp_to_cos_half_angle(twist_rotation, twist_half_range_half_cos); Basis recomposition = (global_twist_center * (swing_rotation * twist_rotation)).orthonormalized(); Basis rotation = parent_global_inverse * recomposition; p_to_set->set_transform(Transform3D(rotation, p_to_set->get_transform().origin)); @@ -232,7 +232,7 @@ TypedArray IKKusudama3D::get_open_cones() const { return cones; } -Vector3 IKKusudama3D::local_point_on_path_sequence(Vector3 p_in_point, Ref p_limiting_axes) { +Vector3 IKKusudama3D::local_point_on_path_sequence(Vector3 p_in_point, Ref p_limiting_axes) { double closest_point_dot = 0; Vector3 point = p_limiting_axes->get_transform().xform(p_in_point); point.normalize(); @@ -344,7 +344,7 @@ void IKKusudama3D::set_open_cones(TypedArray p_cones) { } } -void IKKusudama3D::snap_to_orientation_limit(Ref bone_direction, Ref to_set, Ref limiting_axes, real_t p_dampening, real_t p_cos_half_angle_dampen) { +void IKKusudama3D::snap_to_orientation_limit(Ref bone_direction, Ref to_set, Ref limiting_axes, real_t p_dampening, real_t p_cos_half_angle_dampen) { if (bone_direction.is_null()) { return; } diff --git a/modules/constraint_ik/src/ik_kusudama_3d.h b/modules/many_bone_ik/src/ik_kusudama_3d.h similarity index 92% rename from modules/constraint_ik/src/ik_kusudama_3d.h rename to modules/many_bone_ik/src/ik_kusudama_3d.h index 1cc42fec5964..0ef9a926d85a 100644 --- a/modules/constraint_ik/src/ik_kusudama_3d.h +++ b/modules/many_bone_ik/src/ik_kusudama_3d.h @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /**************************************************************************/ -#ifndef IK_CONSTRAINT_KUSUDAMA_3D_H -#define IK_CONSTRAINT_KUSUDAMA_3D_H +#ifndef IK_KUSUDAMA_3D_H +#define IK_KUSUDAMA_3D_H #include "ik_bone_3d.h" #include "ik_bone_segment_3d.h" @@ -43,9 +43,8 @@ #include "core/variant/typed_array.h" #include "scene/3d/node_3d.h" -class IKConstraintBone3D; +class IKBone3D; class IKLimitCone3D; -class IKConstraintNode3D; class IKKusudama3D : public Resource { GDCLASS(IKKusudama3D, Resource); @@ -89,7 +88,7 @@ class IKKusudama3D : public Resource { IKKusudama3D() {} - void _update_constraint(Ref p_limiting_axes); + void _update_constraint(Ref p_limiting_axes); void update_tangent_radii(); @@ -123,7 +122,7 @@ class IKKusudama3D : public Resource { * * @param to_set */ - void snap_to_orientation_limit(Ref p_bone_direction, Ref p_to_set, Ref p_limiting_axes, real_t p_dampening, real_t p_cos_half_angle_dampen); + void snap_to_orientation_limit(Ref p_bone_direction, Ref p_to_set, Ref p_limiting_axes, real_t p_dampening, real_t p_cos_half_angle_dampen); bool is_nan_vector(const Vector3 &vec); @@ -146,7 +145,7 @@ class IKKusudama3D : public Resource { * @param limiting_axes * @return radians of the twist required to snap bone into twist limits (0 if bone is already in twist limits) */ - void set_snap_to_twist_limit(Ref p_bone_direction, Ref p_to_set, Ref p_limiting_axes, real_t p_dampening, real_t p_cos_half_dampen); + void set_snap_to_twist_limit(Ref p_bone_direction, Ref p_to_set, Ref p_limiting_axes, real_t p_dampening, real_t p_cos_half_dampen); /** * Given a point (in local coordinates), checks to see if a ray can be extended from the Kusudama's @@ -165,7 +164,7 @@ class IKKusudama3D : public Resource { */ Vector3 get_local_point_in_limits(Vector3 in_point, Vector *in_bounds); - Vector3 local_point_on_path_sequence(Vector3 in_point, Ref limiting_axes); + Vector3 local_point_on_path_sequence(Vector3 in_point, Ref limiting_axes); /** * Add a IKLimitCone to the Kusudama. diff --git a/modules/constraint_ik/src/ik_open_cone_3d.cpp b/modules/many_bone_ik/src/ik_open_cone_3d.cpp similarity index 100% rename from modules/constraint_ik/src/ik_open_cone_3d.cpp rename to modules/many_bone_ik/src/ik_open_cone_3d.cpp diff --git a/modules/constraint_ik/src/ik_open_cone_3d.h b/modules/many_bone_ik/src/ik_open_cone_3d.h similarity index 100% rename from modules/constraint_ik/src/ik_open_cone_3d.h rename to modules/many_bone_ik/src/ik_open_cone_3d.h diff --git a/modules/constraint_ik/src/ik_ray_3d.cpp b/modules/many_bone_ik/src/ik_ray_3d.cpp similarity index 100% rename from modules/constraint_ik/src/ik_ray_3d.cpp rename to modules/many_bone_ik/src/ik_ray_3d.cpp diff --git a/modules/constraint_ik/src/ik_ray_3d.h b/modules/many_bone_ik/src/ik_ray_3d.h similarity index 100% rename from modules/constraint_ik/src/ik_ray_3d.h rename to modules/many_bone_ik/src/ik_ray_3d.h diff --git a/modules/many_bone_ik/src/many_bone_ik_3d.cpp b/modules/many_bone_ik/src/many_bone_ik_3d.cpp index 967fdf5be364..6313d4c368bf 100644 --- a/modules/many_bone_ik/src/many_bone_ik_3d.cpp +++ b/modules/many_bone_ik/src/many_bone_ik_3d.cpp @@ -35,6 +35,8 @@ #include "core/object/object.h" #include "core/string/string_name.h" #include "ik_bone_3d.h" +#include "ik_kusudama_3d.h" +#include "ik_open_cone_3d.h" #include "scene/3d/skeleton_3d.h" #include "scene/main/node.h" #include "scene/main/scene_tree.h" @@ -107,6 +109,7 @@ void ManyBoneIK3D::_update_skeleton_bones_transform() { } bone->set_skeleton_bone_pose(get_skeleton()); } + update_gizmos(); } void ManyBoneIK3D::_get_property_list(List *p_list) const { @@ -156,11 +159,64 @@ void ManyBoneIK3D::_get_property_list(List *p_list) const { p_list->push_back( PropertyInfo(Variant::VECTOR3, "pins/" + itos(pin_i) + "/direction_priorities", PROPERTY_HINT_RANGE, "0,1,0.1,or_greater", pin_usage)); } + uint32_t constraint_usage = PROPERTY_USAGE_DEFAULT; + p_list->push_back( + PropertyInfo(Variant::INT, "constraint_count", + PROPERTY_HINT_RANGE, "0,256,or_greater", constraint_usage | PROPERTY_USAGE_ARRAY | PROPERTY_USAGE_READ_ONLY, + "Kusudama Constraints,constraints/")); + RBSet existing_constraints; + for (int constraint_i = 0; constraint_i < get_constraint_count(); constraint_i++) { + PropertyInfo bone_name; + bone_name.type = Variant::STRING_NAME; + bone_name.usage = constraint_usage; + bone_name.name = "constraints/" + itos(constraint_i) + "/bone_name"; + if (get_skeleton()) { + String names; + for (int bone_i = 0; bone_i < get_skeleton()->get_bone_count(); bone_i++) { + String name = get_skeleton()->get_bone_name(bone_i); + if (existing_constraints.has(name)) { + continue; + } + name += ","; + names += name; + existing_constraints.insert(name); + } + bone_name.hint = PROPERTY_HINT_ENUM_SUGGESTION; + bone_name.hint_string = names; + } else { + bone_name.hint = PROPERTY_HINT_NONE; + bone_name.hint_string = ""; + } + p_list->push_back(bone_name); + p_list->push_back( + PropertyInfo(Variant::FLOAT, "constraints/" + itos(constraint_i) + "/twist_start", PROPERTY_HINT_RANGE, "-359.9,359.9,0.1,radians,exp", constraint_usage)); + p_list->push_back( + PropertyInfo(Variant::FLOAT, "constraints/" + itos(constraint_i) + "/twist_end", PROPERTY_HINT_RANGE, "-359.9,359.9,0.1,radians,exp", constraint_usage)); + p_list->push_back( + PropertyInfo(Variant::INT, "constraints/" + itos(constraint_i) + "/kusudama_open_cone_count", PROPERTY_HINT_RANGE, "0,10,1", constraint_usage | PROPERTY_USAGE_ARRAY | PROPERTY_USAGE_READ_ONLY, + "Limit Cones,constraints/" + itos(constraint_i) + "/kusudama_open_cone/")); + for (int cone_i = 0; cone_i < get_kusudama_open_cone_count(constraint_i); cone_i++) { + p_list->push_back( + PropertyInfo(Variant::VECTOR3, "constraints/" + itos(constraint_i) + "/kusudama_open_cone/" + itos(cone_i) + "/center", PROPERTY_HINT_RANGE, "-1,1,0.1,exp", constraint_usage)); + + p_list->push_back( + PropertyInfo(Variant::FLOAT, "constraints/" + itos(constraint_i) + "/kusudama_open_cone/" + itos(cone_i) + "/radius", PROPERTY_HINT_RANGE, "0,180,0.1,radians,exp", constraint_usage)); + } + p_list->push_back( + PropertyInfo(Variant::TRANSFORM3D, "constraints/" + itos(constraint_i) + "/kusudama_twist", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); + p_list->push_back( + PropertyInfo(Variant::TRANSFORM3D, "constraints/" + itos(constraint_i) + "/kusudama_orientation", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); + p_list->push_back( + PropertyInfo(Variant::TRANSFORM3D, "constraints/" + itos(constraint_i) + "/bone_direction", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); + } } bool ManyBoneIK3D::_get(const StringName &p_name, Variant &r_ret) const { String name = p_name; - if (name == "pin_count") { + if (name == "constraint_count") { + r_ret = get_constraint_count(); + return true; + } else if (name == "pin_count") { r_ret = get_pin_count(); return true; } else if (name == "bone_count") { @@ -191,20 +247,62 @@ bool ManyBoneIK3D::_get(const StringName &p_name, Variant &r_ret) const { r_ret = get_pin_direction_priorities(index); return true; } + } else if (name.begins_with("constraints/")) { + int index = name.get_slicec('/', 1).to_int(); + String what = name.get_slicec('/', 2); + ERR_FAIL_INDEX_V(index, constraint_count, false); + String begins = "constraints/" + itos(index) + "/kusudama_open_cone"; + if (what == "bone_name") { + ERR_FAIL_INDEX_V(index, constraint_names.size(), false); + r_ret = constraint_names[index]; + return true; + } else if (what == "twist_start") { + r_ret = get_joint_twist(index).x; + return true; + } else if (what == "twist_end") { + r_ret = get_joint_twist(index).y; + return true; + } else if (what == "kusudama_open_cone_count") { + r_ret = get_kusudama_open_cone_count(index); + return true; + } else if (name.begins_with(begins)) { + int32_t cone_index = name.get_slicec('/', 3).to_int(); + String cone_what = name.get_slicec('/', 4); + if (cone_what == "center") { + Vector3 center = get_kusudama_open_cone_center(index, cone_index); + r_ret = center; + return true; + } else if (cone_what == "radius") { + r_ret = get_kusudama_open_cone_radius(index, cone_index); + return true; + } + } else if (what == "bone_direction") { + r_ret = get_direction_transform_of_bone(index); + return true; + } else if (what == "kusudama_orientation") { + r_ret = get_orientation_transform_of_constraint(index); + return true; + } else if (what == "kusudama_twist") { + r_ret = get_twist_transform_of_constraint(index); + return true; + } } return false; } bool ManyBoneIK3D::_set(const StringName &p_name, const Variant &p_value) { String name = p_name; - if (name == "pin_count") { + if (name == "constraint_count") { + _set_constraint_count(p_value); + return true; + } else if (name == "pin_count") { set_pin_count(p_value); return true; } else if (name.begins_with("pins/")) { int index = name.get_slicec('/', 1).to_int(); String what = name.get_slicec('/', 2); if (index >= pins.size()) { - set_pin_count(pin_count); + set_pin_count(constraint_count); } if (what == "bone_name") { set_pin_bone_name(index, p_value); @@ -227,13 +325,73 @@ bool ManyBoneIK3D::_set(const StringName &p_name, const Variant &p_value) { set_pin_direction_priorities(index, p_value); return true; } + } else if (name.begins_with("constraints/")) { + int index = name.get_slicec('/', 1).to_int(); + String what = name.get_slicec('/', 2); + String begins = "constraints/" + itos(index) + "/kusudama_open_cone/"; + if (index >= constraint_names.size()) { + _set_constraint_count(constraint_count); + } + if (what == "bone_name") { + set_constraint_name_at_index(index, p_value); + return true; + } else if (what == "twist_from") { + Vector2 twist_from = get_joint_twist(index); + set_joint_twist(index, Vector2(p_value, twist_from.y)); + return true; + } else if (what == "twist_range") { + Vector2 twist_range = get_joint_twist(index); + set_joint_twist(index, Vector2(twist_range.x, p_value)); + return true; + } else if (what == "kusudama_open_cone_count") { + set_kusudama_open_cone_count(index, p_value); + return true; + } else if (name.begins_with(begins)) { + int cone_index = name.get_slicec('/', 3).to_int(); + String cone_what = name.get_slicec('/', 4); + if (cone_what == "center") { + set_kusudama_open_cone_center(index, cone_index, p_value); + return true; + } else if (cone_what == "radius") { + set_kusudama_open_cone_radius(index, cone_index, p_value); + return true; + } + } else if (what == "bone_direction") { + set_direction_transform_of_bone(index, p_value); + return true; + } else if (what == "kusudama_orientation") { + set_orientation_transform_of_constraint(index, p_value); + return true; + } else if (what == "kusudama_twist") { + set_twist_transform_of_constraint(index, p_value); + return true; + } } + return false; } void ManyBoneIK3D::_bind_methods() { + ClassDB::bind_method(D_METHOD("set_constraint_name_at_index", "index", "name"), &ManyBoneIK3D::set_constraint_name_at_index); ClassDB::bind_method(D_METHOD("set_total_effector_count", "count"), &ManyBoneIK3D::set_pin_count); + ClassDB::bind_method(D_METHOD("get_twist_transform_of_constraint", "index"), &ManyBoneIK3D::get_twist_transform_of_constraint); + ClassDB::bind_method(D_METHOD("set_twist_transform_of_constraint", "index", "transform"), &ManyBoneIK3D::set_twist_transform_of_constraint); + ClassDB::bind_method(D_METHOD("get_orientation_transform_of_constraint", "index"), &ManyBoneIK3D::get_orientation_transform_of_constraint); + ClassDB::bind_method(D_METHOD("set_orientation_transform_of_constraint", "index", "transform"), &ManyBoneIK3D::set_orientation_transform_of_constraint); + ClassDB::bind_method(D_METHOD("get_direction_transform_of_bone", "index"), &ManyBoneIK3D::get_direction_transform_of_bone); + ClassDB::bind_method(D_METHOD("set_direction_transform_of_bone", "index", "transform"), &ManyBoneIK3D::set_direction_transform_of_bone); + ClassDB::bind_method(D_METHOD("remove_constraint_at_index", "index"), &ManyBoneIK3D::remove_pin_at_index); + ClassDB::bind_method(D_METHOD("register_skeleton"), &ManyBoneIK3D::register_skeleton); + ClassDB::bind_method(D_METHOD("reset_constraints"), &ManyBoneIK3D::reset_constraints); ClassDB::bind_method(D_METHOD("set_dirty"), &ManyBoneIK3D::set_dirty); + ClassDB::bind_method(D_METHOD("set_kusudama_open_cone_radius", "index", "cone_index", "radius"), &ManyBoneIK3D::set_kusudama_open_cone_radius); + ClassDB::bind_method(D_METHOD("get_kusudama_open_cone_radius", "index", "cone_index"), &ManyBoneIK3D::get_kusudama_open_cone_radius); + ClassDB::bind_method(D_METHOD("set_kusudama_open_cone_center", "index", "cone_index", "center"), &ManyBoneIK3D::set_kusudama_open_cone_center); + ClassDB::bind_method(D_METHOD("get_kusudama_open_cone_center", "index", "cone_index"), &ManyBoneIK3D::get_kusudama_open_cone_center); + ClassDB::bind_method(D_METHOD("set_kusudama_open_cone_count", "index", "count"), &ManyBoneIK3D::set_kusudama_open_cone_count); + ClassDB::bind_method(D_METHOD("get_kusudama_open_cone_count", "index"), &ManyBoneIK3D::get_kusudama_open_cone_count); + ClassDB::bind_method(D_METHOD("set_joint_twist", "index", "limit"), &ManyBoneIK3D::set_joint_twist); + ClassDB::bind_method(D_METHOD("get_joint_twist", "index"), &ManyBoneIK3D::get_joint_twist); ClassDB::bind_method(D_METHOD("set_pin_motion_propagation_factor", "index", "falloff"), &ManyBoneIK3D::set_pin_motion_propagation_factor); ClassDB::bind_method(D_METHOD("get_pin_motion_propagation_factor", "index"), &ManyBoneIK3D::get_pin_motion_propagation_factor); ClassDB::bind_method(D_METHOD("get_pin_count"), &ManyBoneIK3D::get_pin_count); @@ -247,18 +405,28 @@ void ManyBoneIK3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_pin_weight", "index", "weight"), &ManyBoneIK3D::set_pin_weight); ClassDB::bind_method(D_METHOD("get_pin_weight", "index"), &ManyBoneIK3D::get_pin_weight); ClassDB::bind_method(D_METHOD("get_pin_enabled", "index"), &ManyBoneIK3D::get_pin_enabled); + ClassDB::bind_method(D_METHOD("get_constraint_name", "index"), &ManyBoneIK3D::get_constraint_name); ClassDB::bind_method(D_METHOD("get_iterations_per_frame"), &ManyBoneIK3D::get_iterations_per_frame); ClassDB::bind_method(D_METHOD("set_iterations_per_frame", "count"), &ManyBoneIK3D::set_iterations_per_frame); + ClassDB::bind_method(D_METHOD("find_constraint", "name"), &ManyBoneIK3D::find_constraint); ClassDB::bind_method(D_METHOD("find_pin", "name"), &ManyBoneIK3D::find_pin); + ClassDB::bind_method(D_METHOD("get_constraint_count"), &ManyBoneIK3D::get_constraint_count); + ClassDB::bind_method(D_METHOD("set_constraint_count", "count"), &ManyBoneIK3D::_set_constraint_count); ClassDB::bind_method(D_METHOD("get_default_damp"), &ManyBoneIK3D::get_default_damp); ClassDB::bind_method(D_METHOD("set_default_damp", "damp"), &ManyBoneIK3D::set_default_damp); ClassDB::bind_method(D_METHOD("get_bone_count"), &ManyBoneIK3D::get_bone_count); + ClassDB::bind_method(D_METHOD("set_constraint_mode", "enabled"), &ManyBoneIK3D::set_constraint_mode); + ClassDB::bind_method(D_METHOD("get_constraint_mode"), &ManyBoneIK3D::get_constraint_mode); + ClassDB::bind_method(D_METHOD("set_ui_selected_bone", "bone"), &ManyBoneIK3D::set_ui_selected_bone); + ClassDB::bind_method(D_METHOD("get_ui_selected_bone"), &ManyBoneIK3D::get_ui_selected_bone); ClassDB::bind_method(D_METHOD("set_stabilization_passes", "passes"), &ManyBoneIK3D::set_stabilization_passes); ClassDB::bind_method(D_METHOD("get_stabilization_passes"), &ManyBoneIK3D::get_stabilization_passes); ClassDB::bind_method(D_METHOD("set_effector_bone_name", "index", "name"), &ManyBoneIK3D::set_pin_bone_name); ADD_PROPERTY(PropertyInfo(Variant::INT, "iterations_per_frame", PROPERTY_HINT_RANGE, "1,150,1,or_greater"), "set_iterations_per_frame", "get_iterations_per_frame"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "default_damp", PROPERTY_HINT_RANGE, "0.01,180.0,0.1,radians,exp", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_default_damp", "get_default_damp"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "constraint_mode"), "set_constraint_mode", "get_constraint_mode"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "ui_selected_bone", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), "set_ui_selected_bone", "get_ui_selected_bone"); ADD_PROPERTY(PropertyInfo(Variant::INT, "stabilization_passes"), "set_stabilization_passes", "get_stabilization_passes"); } @@ -282,15 +450,103 @@ void ManyBoneIK3D::set_pin_motion_propagation_factor(int32_t p_effector_index, c set_dirty(); } +void ManyBoneIK3D::_set_constraint_count(int32_t p_count) { + int32_t old_count = constraint_names.size(); + constraint_count = p_count; + constraint_names.resize(p_count); + joint_twist.resize(p_count); + kusudama_open_cone_count.resize(p_count); + kusudama_open_cones.resize(p_count); + for (int32_t constraint_i = p_count; constraint_i-- > old_count;) { + constraint_names.write[constraint_i] = String(); + kusudama_open_cone_count.write[constraint_i] = 0; + kusudama_open_cones.write[constraint_i].resize(1); + kusudama_open_cones.write[constraint_i].write[0] = Vector4(0, 1, 0, 0.01745f); + joint_twist.write[constraint_i] = Vector2(0, 0.01745f); + } + set_dirty(); + notify_property_list_changed(); +} + +int32_t ManyBoneIK3D::get_constraint_count() const { + return constraint_count; +} + +inline StringName ManyBoneIK3D::get_constraint_name(int32_t p_index) const { + ERR_FAIL_INDEX_V(p_index, constraint_names.size(), StringName()); + return constraint_names[p_index]; +} + +Vector2 ManyBoneIK3D::get_joint_twist(int32_t p_index) const { + ERR_FAIL_INDEX_V(p_index, joint_twist.size(), Vector2()); + return joint_twist[p_index]; +} + +void ManyBoneIK3D::set_joint_twist(int32_t p_index, Vector2 p_to) { + ERR_FAIL_INDEX(p_index, constraint_count); + joint_twist.write[p_index] = p_to; + set_dirty(); +} + int32_t ManyBoneIK3D::find_pin_id(StringName p_bone_name) { - for (int32_t pin_i = 0; pin_i < pin_count; pin_i++) { - if (constraint_names[pin_i] == p_bone_name) { - return pin_i; + for (int32_t constraint_i = 0; constraint_i < constraint_count; constraint_i++) { + if (constraint_names[constraint_i] == p_bone_name) { + return constraint_i; } } return -1; } +void ManyBoneIK3D::set_kusudama_open_cone(int32_t p_constraint_index, int32_t p_index, + Vector3 p_center, float p_radius) { + ERR_FAIL_INDEX(p_constraint_index, kusudama_open_cones.size()); + Vector cones = kusudama_open_cones.write[p_constraint_index]; + if (Math::is_zero_approx(p_center.length_squared())) { + p_center = Vector3(0.0f, 1.0f, 0.0f); + } + Vector3 center = p_center.normalized(); + Vector4 cone; + cone.x = center.x; + cone.y = center.y; + cone.z = center.z; + cone.w = p_radius; + cones.write[p_index] = cone; + kusudama_open_cones.write[p_constraint_index] = cones; + set_dirty(); +} + +float ManyBoneIK3D::get_kusudama_open_cone_radius(int32_t p_constraint_index, int32_t p_index) const { + ERR_FAIL_INDEX_V(p_constraint_index, kusudama_open_cones.size(), Math_TAU); + ERR_FAIL_INDEX_V(p_index, kusudama_open_cones[p_constraint_index].size(), Math_TAU); + return kusudama_open_cones[p_constraint_index][p_index].w; +} + +int32_t ManyBoneIK3D::get_kusudama_open_cone_count(int32_t p_constraint_index) const { + ERR_FAIL_INDEX_V(p_constraint_index, kusudama_open_cone_count.size(), 0); + return kusudama_open_cone_count[p_constraint_index]; +} + +void ManyBoneIK3D::set_kusudama_open_cone_count(int32_t p_constraint_index, int32_t p_count) { + ERR_FAIL_INDEX(p_constraint_index, kusudama_open_cone_count.size()); + ERR_FAIL_INDEX(p_constraint_index, kusudama_open_cones.size()); + int32_t old_cone_count = kusudama_open_cones[p_constraint_index].size(); + kusudama_open_cone_count.write[p_constraint_index] = p_count; + Vector &cones = kusudama_open_cones.write[p_constraint_index]; + cones.resize(p_count); + String bone_name = get_constraint_name(p_constraint_index); + Transform3D bone_transform = get_direction_transform_of_bone(p_constraint_index); + Vector3 forward_axis = -bone_transform.basis.get_column(Vector3::AXIS_Y).normalized(); + for (int32_t cone_i = p_count; cone_i-- > old_cone_count;) { + Vector4 &cone = cones.write[cone_i]; + cone.x = forward_axis.x; + cone.y = forward_axis.y; + cone.z = forward_axis.z; + cone.w = Math::deg_to_rad(0.0f); + } + set_dirty(); + notify_property_list_changed(); +} + real_t ManyBoneIK3D::get_default_damp() const { return default_damp; } @@ -306,6 +562,55 @@ StringName ManyBoneIK3D::get_pin_bone_name(int32_t p_effector_index) const { return effector_template->get_name(); } +void ManyBoneIK3D::set_kusudama_open_cone_radius(int32_t p_effector_index, int32_t p_index, float p_radius) { + ERR_FAIL_INDEX(p_effector_index, kusudama_open_cone_count.size()); + ERR_FAIL_INDEX(p_effector_index, kusudama_open_cones.size()); + ERR_FAIL_INDEX(p_index, kusudama_open_cone_count[p_effector_index]); + ERR_FAIL_INDEX(p_index, kusudama_open_cones[p_effector_index].size()); + Vector4 &cone = kusudama_open_cones.write[p_effector_index].write[p_index]; + cone.w = p_radius; + set_dirty(); +} + +void ManyBoneIK3D::set_kusudama_open_cone_center(int32_t p_effector_index, int32_t p_index, Vector3 p_center) { + ERR_FAIL_INDEX(p_effector_index, kusudama_open_cones.size()); + ERR_FAIL_INDEX(p_index, kusudama_open_cones[p_effector_index].size()); + Vector4 &cone = kusudama_open_cones.write[p_effector_index].write[p_index]; + if (Math::is_zero_approx(p_center.length_squared())) { + cone.x = 0; + cone.y = 1; + cone.z = 0; + } else { + cone.x = p_center.x; + cone.y = p_center.y; + cone.z = p_center.z; + } + set_dirty(); +} + +Vector3 ManyBoneIK3D::get_kusudama_open_cone_center(int32_t p_constraint_index, int32_t p_index) const { + if (unlikely((p_constraint_index) < 0 || (p_constraint_index) >= (kusudama_open_cones.size()))) { + ERR_PRINT_ONCE("Can't get limit cone center."); + return Vector3(0.0, 0.0, 1.0); + } + if (unlikely((p_index) < 0 || (p_index) >= (kusudama_open_cones[p_constraint_index].size()))) { + ERR_PRINT_ONCE("Can't get limit cone center."); + return Vector3(0.0, 0.0, 1.0); + } + const Vector4 &cone = kusudama_open_cones[p_constraint_index][p_index]; + Vector3 ret; + ret.x = cone.x; + ret.y = cone.y; + ret.z = cone.z; + return ret; +} + +void ManyBoneIK3D::set_constraint_name_at_index(int32_t p_index, String p_name) { + ERR_FAIL_INDEX(p_index, constraint_names.size()); + constraint_names.write[p_index] = p_name; + set_dirty(); +} + Vector> ManyBoneIK3D::get_segmented_skeletons() { return segmented_skeletons; } @@ -379,7 +684,7 @@ void ManyBoneIK3D::_process_modification() { if (segmented_skeleton.is_null()) { continue; } - segmented_skeleton->segment_solver(bone_damp, get_default_damp(), false, i, get_iterations_per_frame()); + segmented_skeleton->segment_solver(bone_damp, get_default_damp(), get_constraint_mode(), i, get_iterations_per_frame()); } } _update_skeleton_bones_transform(); @@ -423,6 +728,28 @@ void ManyBoneIK3D::set_dirty() { is_dirty = true; } +int32_t ManyBoneIK3D::find_constraint(String p_string) const { + for (int32_t constraint_i = 0; constraint_i < constraint_count; constraint_i++) { + if (get_constraint_name(constraint_i) == p_string) { + return constraint_i; + } + } + return -1; +} + +void ManyBoneIK3D::remove_pin_at_index(int32_t p_index) { + ERR_FAIL_INDEX(p_index, constraint_count); + + constraint_names.remove_at(p_index); + kusudama_open_cone_count.remove_at(p_index); + kusudama_open_cones.remove_at(p_index); + joint_twist.remove_at(p_index); + + constraint_count--; + + set_dirty(); +} + void ManyBoneIK3D::_set_bone_count(int32_t p_count) { bone_damp.resize(p_count); for (int32_t bone_i = p_count; bone_i-- > bone_count;) { @@ -441,6 +768,143 @@ Vector> ManyBoneIK3D::get_bone_list() const { return bone_list; } +void ManyBoneIK3D::set_direction_transform_of_bone(int32_t p_index, Transform3D p_transform) { + ERR_FAIL_INDEX(p_index, constraint_names.size()); + if (!get_skeleton()) { + return; + } + String bone_name = constraint_names[p_index]; + int32_t bone_index = get_skeleton()->find_bone(bone_name); + for (Ref segmented_skeleton : segmented_skeletons) { + if (segmented_skeleton.is_null()) { + continue; + } + Ref ik_bone = segmented_skeleton->get_ik_bone(bone_index); + if (ik_bone.is_null() || ik_bone->get_constraint().is_null()) { + continue; + } + if (ik_bone->get_bone_direction_transform().is_null()) { + continue; + } + ik_bone->get_bone_direction_transform()->set_transform(p_transform); + break; + } +} + +Transform3D ManyBoneIK3D::get_direction_transform_of_bone(int32_t p_index) const { + if (p_index < 0 || p_index >= constraint_names.size() || get_skeleton() == nullptr) { + return Transform3D(); + } + + String bone_name = constraint_names[p_index]; + int32_t bone_index = get_skeleton()->find_bone(bone_name); + for (const Ref &segmented_skeleton : segmented_skeletons) { + if (segmented_skeleton.is_null()) { + continue; + } + Ref ik_bone = segmented_skeleton->get_ik_bone(bone_index); + if (ik_bone.is_null() || ik_bone->get_constraint().is_null()) { + continue; + } + return ik_bone->get_bone_direction_transform()->get_transform(); + } + return Transform3D(); +} + +Transform3D ManyBoneIK3D::get_orientation_transform_of_constraint(int32_t p_index) const { + ERR_FAIL_INDEX_V(p_index, constraint_names.size(), Transform3D()); + String bone_name = constraint_names[p_index]; + if (!segmented_skeletons.size()) { + return Transform3D(); + } + if (!get_skeleton()) { + return Transform3D(); + } + for (Ref segmented_skeleton : segmented_skeletons) { + if (segmented_skeleton.is_null()) { + continue; + } + Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); + if (ik_bone.is_null()) { + continue; + } + if (ik_bone->get_constraint().is_null()) { + continue; + } + return ik_bone->get_constraint_orientation_transform()->get_transform(); + } + return Transform3D(); +} + +void ManyBoneIK3D::set_orientation_transform_of_constraint(int32_t p_index, Transform3D p_transform) { + ERR_FAIL_INDEX(p_index, constraint_names.size()); + String bone_name = constraint_names[p_index]; + if (!get_skeleton()) { + return; + } + for (Ref segmented_skeleton : segmented_skeletons) { + if (segmented_skeleton.is_null()) { + continue; + } + Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); + if (ik_bone.is_null()) { + continue; + } + if (ik_bone->get_constraint().is_null()) { + continue; + } + ik_bone->get_constraint_orientation_transform()->set_transform(p_transform); + break; + } +} + +Transform3D ManyBoneIK3D::get_twist_transform_of_constraint(int32_t p_index) const { + ERR_FAIL_INDEX_V(p_index, constraint_names.size(), Transform3D()); + String bone_name = constraint_names[p_index]; + if (!segmented_skeletons.size()) { + return Transform3D(); + } + if (!get_skeleton()) { + return Transform3D(); + } + for (Ref segmented_skeleton : segmented_skeletons) { + if (segmented_skeleton.is_null()) { + continue; + } + Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); + if (ik_bone.is_null()) { + continue; + } + if (ik_bone->get_constraint().is_null()) { + continue; + } + return ik_bone->get_constraint_twist_transform()->get_transform(); + } + return Transform3D(); +} + +void ManyBoneIK3D::set_twist_transform_of_constraint(int32_t p_index, Transform3D p_transform) { + ERR_FAIL_INDEX(p_index, constraint_names.size()); + String bone_name = constraint_names[p_index]; + if (!get_skeleton()) { + return; + } + for (Ref segmented_skeleton : segmented_skeletons) { + if (segmented_skeleton.is_null()) { + continue; + } + Ref ik_bone = segmented_skeleton->get_ik_bone(get_skeleton()->find_bone(bone_name)); + if (ik_bone.is_null()) { + continue; + } + if (ik_bone->get_constraint().is_null()) { + continue; + } + ik_bone->get_constraint_twist_transform()->set_transform(p_transform); + break; + } +} + bool ManyBoneIK3D::get_pin_enabled(int32_t p_effector_index) const { ERR_FAIL_INDEX_V(p_effector_index, pins.size(), false); Ref effector_template = pins[p_effector_index]; @@ -450,6 +914,44 @@ bool ManyBoneIK3D::get_pin_enabled(int32_t p_effector_index) const { return !effector_template->get_target_node().is_empty(); } +void ManyBoneIK3D::register_skeleton() { + if (!get_pin_count() && !get_constraint_count()) { + reset_constraints(); + } + set_dirty(); +} + +void ManyBoneIK3D::reset_constraints() { + Skeleton3D *skeleton = get_skeleton(); + if (skeleton) { + int32_t saved_pin_count = get_pin_count(); + set_pin_count(0); + set_pin_count(saved_pin_count); + int32_t saved_constraint_count = constraint_names.size(); + _set_constraint_count(0); + _set_constraint_count(saved_constraint_count); + _set_bone_count(0); + _set_bone_count(saved_constraint_count); + } + set_dirty(); +} + +bool ManyBoneIK3D::get_constraint_mode() const { + return is_constraint_mode; +} + +void ManyBoneIK3D::set_constraint_mode(bool p_enabled) { + is_constraint_mode = p_enabled; +} + +int32_t ManyBoneIK3D::get_ui_selected_bone() const { + return ui_selected_bone; +} + +void ManyBoneIK3D::set_ui_selected_bone(int32_t p_ui_selected_bone) { + ui_selected_bone = p_ui_selected_bone; +} + void ManyBoneIK3D::set_stabilization_passes(int32_t p_passes) { stabilize_passes = p_passes; set_dirty(); @@ -467,6 +969,17 @@ Ref ManyBoneIK3D::get_godot_skeleton_transform() { return godot_skeleton_transform; } +void ManyBoneIK3D::add_constraint() { + int32_t old_count = constraint_count; + _set_constraint_count(constraint_count + 1); + constraint_names.write[old_count] = String(); + kusudama_open_cone_count.write[old_count] = 0; + kusudama_open_cones.write[old_count].resize(1); + kusudama_open_cones.write[old_count].write[0] = Vector4(0, 1, 0, Math_PI); + joint_twist.write[old_count] = Vector2(0, Math_PI); + set_dirty(); +} + int32_t ManyBoneIK3D::find_pin(String p_string) const { for (int32_t pin_i = 0; pin_i < pin_count; pin_i++) { if (get_pin_bone_name(pin_i) == p_string) { @@ -518,6 +1031,37 @@ void ManyBoneIK3D::_bone_list_changed() { for (Ref &ik_bone_3d : bone_list) { ik_bone_3d->update_default_bone_direction_transform(skeleton); } + for (int constraint_i = 0; constraint_i < constraint_count; ++constraint_i) { + String bone = constraint_names[constraint_i]; + BoneId bone_id = skeleton->find_bone(bone); + for (Ref &ik_bone_3d : bone_list) { + if (ik_bone_3d->get_bone_id() != bone_id) { + continue; + } + Ref constraint; + constraint.instantiate(); + constraint->enable_orientational_limits(); + + int32_t cone_count = kusudama_open_cone_count[constraint_i]; + const Vector &cones = kusudama_open_cones[constraint_i]; + for (int32_t cone_i = 0; cone_i < cone_count; ++cone_i) { + const Vector4 &cone = cones[cone_i]; + Ref new_cone; + new_cone.instantiate(); + new_cone->set_attached_to(constraint); + new_cone->set_radius(MAX(1.0e-38, cone.w)); + new_cone->set_control_point(Vector3(cone.x, cone.y, cone.z).normalized()); + constraint->add_open_cone(new_cone); + } + + const Vector2 axial_limit = get_joint_twist(constraint_i); + constraint->enable_axial_limits(); + constraint->set_axial_limits(axial_limit.x, axial_limit.y); + ik_bone_3d->add_constraint(constraint); + constraint->_update_constraint(ik_bone_3d->get_constraint_twist_transform()); + break; + } + } } void ManyBoneIK3D::_skeleton_changed(Skeleton3D *p_old, Skeleton3D *p_new) { diff --git a/modules/many_bone_ik/src/many_bone_ik_3d.h b/modules/many_bone_ik/src/many_bone_ik_3d.h index 9c349992e4be..0129e33a67fc 100644 --- a/modules/many_bone_ik/src/many_bone_ik_3d.h +++ b/modules/many_bone_ik/src/many_bone_ik_3d.h @@ -36,7 +36,6 @@ #include "core/math/vector3.h" #include "core/object/ref_counted.h" #include "ik_bone_3d.h" -#include "ik_bone_segment_3d.h" #include "ik_effector_template_3d.h" #include "math/ik_node_3d.h" #include "scene/3d/skeleton_3d.h" @@ -46,15 +45,18 @@ class ManyBoneIK3DState; class ManyBoneIK3D : public SkeletonModifier3D { GDCLASS(ManyBoneIK3D, SkeletonModifier3D); + bool is_constraint_mode = false; NodePath skeleton_path; Vector> segmented_skeletons; - int32_t pin_count = 0, bone_count = 0; + int32_t constraint_count = 0, pin_count = 0, bone_count = 0; Vector constraint_names; Vector> pins; Vector> bone_list; + Vector joint_twist; Vector bone_damp; Vector> kusudama_open_cones; Vector kusudama_open_cone_count; + float MAX_KUSUDAMA_OPEN_CONES = 10; int32_t iterations_per_frame = 15; float default_damp = Math::deg_to_rad(5.0f); Ref godot_skeleton_transform; @@ -68,6 +70,8 @@ class ManyBoneIK3D : public SkeletonModifier3D { void _update_ik_bones_transform(); void _update_skeleton_bones_transform(); Vector> _get_bone_effectors() const; + void set_constraint_name_at_index(int32_t p_index, String p_name); + void _set_constraint_count(int32_t p_count); void _remove_pin(int32_t p_index); void _set_bone_count(int32_t p_count); void _set_pin_root_bone(int32_t p_pin_index, const String &p_root_bone); @@ -89,11 +93,18 @@ class ManyBoneIK3D : public SkeletonModifier3D { bool get_pin_target_fixed(int32_t p_effector_index); void set_state(Ref p_state); Ref get_state() const; + void add_constraint(); void set_stabilization_passes(int32_t p_passes); int32_t get_stabilization_passes(); Transform3D get_godot_skeleton_transform_inverse(); Ref get_godot_skeleton_transform(); + void set_ui_selected_bone(int32_t p_ui_selected_bone); + int32_t get_ui_selected_bone() const; + void set_constraint_mode(bool p_enabled); + bool get_constraint_mode() const; bool get_pin_enabled(int32_t p_effector_index) const; + void register_skeleton(); + void reset_constraints(); Vector> get_bone_list() const; Vector> get_segmented_skeletons(); float get_iterations_per_frame() const; @@ -101,6 +112,7 @@ class ManyBoneIK3D : public SkeletonModifier3D { void queue_print_skeleton(); int32_t get_pin_count() const; void set_pin_count(int32_t p_pin_count); + void remove_pin_at_index(int32_t p_index); void set_pin_bone_name(int32_t p_pin_index, const String &p_bone); StringName get_pin_bone_name(int32_t p_effector_index) const; void set_pin_node_path(int32_t p_effector_index, NodePath p_node_path); @@ -116,8 +128,28 @@ class ManyBoneIK3D : public SkeletonModifier3D { float get_pin_motion_propagation_factor(int32_t p_effector_index) const; real_t get_default_damp() const; void set_default_damp(float p_default_damp); + int32_t find_constraint(String p_string) const; int32_t find_pin(String p_string) const; + int32_t get_constraint_count() const; + StringName get_constraint_name(int32_t p_index) const; + void set_twist_transform_of_constraint(int32_t p_index, Transform3D p_transform); + Transform3D get_twist_transform_of_constraint(int32_t p_index) const; + void set_orientation_transform_of_constraint(int32_t p_index, Transform3D p_transform); + Transform3D get_orientation_transform_of_constraint(int32_t p_index) const; + void set_direction_transform_of_bone(int32_t p_index, Transform3D p_transform); + Transform3D get_direction_transform_of_bone(int32_t p_index) const; + Vector2 get_joint_twist(int32_t p_index) const; + void set_joint_twist(int32_t p_index, Vector2 p_twist); + void set_kusudama_open_cone(int32_t p_bone, int32_t p_index, + Vector3 p_center, float p_radius); + Vector3 get_kusudama_open_cone_center(int32_t p_constraint_index, int32_t p_index) const; + float get_kusudama_open_cone_radius(int32_t p_constraint_index, int32_t p_index) const; + int32_t get_kusudama_open_cone_count(int32_t p_constraint_index) const; int32_t get_bone_count() const; + void set_kusudama_twist_from_to(int32_t p_index, float from, float to); + void set_kusudama_open_cone_count(int32_t p_constraint_index, int32_t p_count); + void set_kusudama_open_cone_center(int32_t p_constraint_index, int32_t p_index, Vector3 p_center); + void set_kusudama_open_cone_radius(int32_t p_constraint_index, int32_t p_index, float p_radius); ManyBoneIK3D(); ~ManyBoneIK3D(); void set_dirty(); diff --git a/modules/constraint_ik/tests/test_ik_kusudama_3d.h b/modules/many_bone_ik/tests/test_ik_kusudama_3d.h similarity index 99% rename from modules/constraint_ik/tests/test_ik_kusudama_3d.h rename to modules/many_bone_ik/tests/test_ik_kusudama_3d.h index 43b98a02371e..6f16190bf59b 100644 --- a/modules/constraint_ik/tests/test_ik_kusudama_3d.h +++ b/modules/many_bone_ik/tests/test_ik_kusudama_3d.h @@ -30,7 +30,7 @@ #ifndef TEST_IK_KUSUDAMA_3D_H #define TEST_IK_KUSUDAMA_3D_H -#include "modules/constraint_ik/src/ik_kusudama_3d.h" +#include "modules/many_bone_ik/src/ik_kusudama_3d.h" #include "tests/test_macros.h" namespace TestIKKusudama3D {

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 GGwEOQgqL0b diff --git a/modules/constraint_ik/design_docs/Pictures/10000000000002070000018ED76B18851DB9DC34.png b/modules/constraint_ik/design_docs/Pictures/10000000000002070000018ED76B18851DB9DC34.png deleted file mode 100644 index 9373407d7bb56f54ef312d6ff522b726ee70b019..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19960 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 bsO}HS@Qgsry)giHE|F$oZ_`Kiy zPu%D7_=CXNd#|$f;1{xl6Iidrg<(Qq3t9 ztJ05)r5dG-ECd8vIG0GpDq2u{C=~5G79;g+Fy?G77v zBTP0sajV#fB5+Ut9%!JO%b0gW|M%@+7P=G!2M!(w4u%ea2BH(rK*0auaeNslQU1Gt z0ab*6K}{FqzYB_dNuNFpk5fPir(B>5WB%W@@C6Y2|J_|A%MVT|+YhPkziYG5fBx^o z|NqVZKXxoDw6JgAzJ34xolZXEH7#wM+bJyv2L~UY25oGqcB}jC#eQL7VX;anpXZgW zq-0+R9^J#uZn>YI-w*jrF@lC<%p-I}5npV?k1{ew9J9r$<=!{jKL{9A7TSH5M@C9b z#xi)V7Ya1%t#_wOZI)Wh3=AgQeI9Qw4^fbjBi|LZ+=;++sT=(-Gr>*f< z+}uuG0ci7eRzpKW&0e?8_V)H>W@g^rZDQHuomK^YSmWbJPnLfsO3Ba9FDxwl`gN|y z<-yCBFZ=rX+S=N#udgu(ncmv2_-e6?jf~_iViiF4rPwJ^ec@2Igwu@s$~LBJ8^&aGY|fmFW?nru`_TXJ~>Grs#crl^}J2H*Ug#PPy(};r>CN# zqV;my7d5q?GXV@JK@0^F{s@$C5Xufx_&_lQC8Zj$U>%+1pFe-jR-25az2l^z$*ZY} zYn0}G`LZYrjiv_v>Be)YadB}0fr0Pdy(|6F%tJ->cc#(+d{Yx4=SEooF$#F`KiB1= zq)Z&LS!h`O_m9(fIBCA#MyJ_Xw%#OwD=AbFuK+^hx%CVJp1y-dkB^@GiN|(DWPQ=E zI~bdYfS~YDe*{EAuGWG=(7lItatOqty-=bOBzPRkL=j`-jlaENQDppeZl@byci-IR zvs65xff~=V;hzrow-}|M;Qd0Q!|tDQ3O+|uPft(g(gC4o%9Q*<67PQff>CIBQ!ELwjXNrX@N1= za+KIUnYK6N@^G0bL_+xCiuztWmWxUWmTTHU2wn#jnpT5tw$*$c@DO0V62wwJ6rf0a zX8KIvmyyq-2MnVqgt5@jX6tPzWR``;d8nXBRw3DfVADFNX~I5B3k#l$O-`P6SEZRy zB<(lt0uAPo-NhlH)5?&cND=2OB@kO~oe%s0e~gj~xqB|di$j{uA98iZqn{gy zx1}BL`_UAO{W)ByJ?tqgXt!RLjW}h-U4s1T)Pz=17mg%MX*ksU~BcO z!i*f{!>@l4sr3=$yaV&~#Sy=2+X{`y27RV4SggDtK~dxsP1ci(9(I-=dX#Um$@pr( z-hfvgUl%E?uZR&aOm^@@q3$jERLDQ-ZW>b%r_Msl9#gO=>ztiW&Hw!HIU4