diff --git a/Scripts/Animation/epic_pose_wrangler/__init__.py b/Scripts/Animation/epic_pose_wrangler/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/api.doctree b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/api.doctree new file mode 100644 index 0000000..10d24b8 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/api.doctree differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/environment.pickle b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/environment.pickle new file mode 100644 index 0000000..d0fb58c Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/environment.pickle differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/extensions.doctree b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/extensions.doctree new file mode 100644 index 0000000..0fb747f Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/extensions.doctree differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/index.doctree b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/index.doctree new file mode 100644 index 0000000..5c63ff4 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/index.doctree differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/mirror_mapping.doctree b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/mirror_mapping.doctree new file mode 100644 index 0000000..73f72a5 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/mirror_mapping.doctree differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/overview.doctree b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/overview.doctree new file mode 100644 index 0000000..6d5ce21 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/overview.doctree differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/upgrading.doctree b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/upgrading.doctree new file mode 100644 index 0000000..5730c8c Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/doctrees/upgrading.doctree differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/.buildinfo b/Scripts/Animation/epic_pose_wrangler/docs/site/html/.buildinfo new file mode 100644 index 0000000..676ad18 --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 770bdf94db77f7f7445532076e8cf9ff +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/overview.png b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/overview.png new file mode 100644 index 0000000..1691ebd Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/overview.png differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/upgrade.png b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/upgrade.png new file mode 100644 index 0000000..108d75e Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/upgrade.png differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/v2.png b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/v2.png new file mode 100644 index 0000000..777d0d3 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_images/v2.png differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/api.rst.txt b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/api.rst.txt new file mode 100644 index 0000000..89c78d6 --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/api.rst.txt @@ -0,0 +1,11 @@ +API +----------------------------- + +pose\_wrangler.v2.main ++++++++++++++++++++++++++++++ + +.. autoclass:: pose_wrangler.v2.main.UERBFAPI + :members: + :undoc-members: + :show-inheritance: + :member-order: bysource \ No newline at end of file diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/extensions.rst.txt b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/extensions.rst.txt new file mode 100644 index 0000000..9369f10 --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/extensions.rst.txt @@ -0,0 +1,23 @@ +Extensions +========================================= + +You can now create custom extensions for PoseWrangler so you can introduce new features without having to edit the +core code base. + +Custom extensions can be created by inheriting from the following class: + +.. autoclass:: pose_wrangler.v2.model.base_extension.PoseWranglerExtension + :members: + :undoc-members: + :show-inheritance: + :member-order: bysource + + +When PoseWrangler loads up, it will automatically detect and load any classes that inherit from ``PoseWranglerExtension`` +on startup. + +.. note:: + To make sure that your extension loads, please make sure that it is imported before you start PoseWrangler. + + +Example extensions can be found under ``pose_wrangler.v2.extensions`` \ No newline at end of file diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/index.rst.txt b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/index.rst.txt new file mode 100644 index 0000000..8f168cf --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/index.rst.txt @@ -0,0 +1,61 @@ +.. Pose Wrangler documentation master file, created by + sphinx-quickstart on Thu May 12 15:11:40 2022. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Pose Wrangler Documentation +========================================= + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + overview + upgrading + mirror_mapping + extensions + api + +Overview +=================================== +PoseWrangler is a tool for interfacing with Epic's MayaUERBFPlugin. The plugin is distributed by Epic Games and installed via Quixel Bridge. + +Versions +------------------------------- + + +1.0.0: ++++++++++++++++++++++++++++ + +- Supports legacy scenes created with the UE4RBFSolverNode +- Supports Maya 2018-2022 +- Provides upgrade workflow to migrate to V2 + +2.0.0: ++++++++++++++++++++++++++++ + +- Supports scenes created with the UERBFSolverNode +- Multiple Driver Support +- Initial blendshape support (WIP) +- Supports Maya 2018-2022 +- Support for custom mirror mappings to allow for rigs with naming conventions that deviate from the default UE5 conventions +- Fully automatable via Python and MayaPy +- Serialization/deserialization to dictionary or JSON file +- Support for custom extensions and context menu actions + + +Contributors +---------------------------- + +- Chris Evans +- Judd Simantov +- David Corral +- Borna Berc +- Chris Theodosius + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/mirror_mapping.rst.txt b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/mirror_mapping.rst.txt new file mode 100644 index 0000000..f4d329d --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/mirror_mapping.rst.txt @@ -0,0 +1,59 @@ +Mirror Mapping +========================================= + +Mirror mapping enables Pose Wrangler to support custom skeletons when mirroring RBF solvers and poses. + +Below is the mirror mapping for characters following the MetaHuman naming conventions: + + .. code-block:: JSON + + { + "solver_expression": "(?P[a-zA-Z0-9]+)?(?P_[lr]{1}_)(?P[a-zA-Z0-9_]+)", + "transform_expression": "(?P[a-zA-Z0-9_]+)?(?P_[lr]{1}_)(?P[a-zA-Z0-9_]+)", + "left": { + "solver_syntax": "_l_", + "transform_syntax": "_l_" + }, + "right": { + "solver_syntax": "_r_", + "transform_syntax": "_r_" + } + } + +.. list-table:: Title + :widths: 25 50 + :header-rows: 1 + + * - Key + - Definition + * - solver_expression + - A regular expression used to match against the solver node name + * - transform_expression + - A regular expression used to match against the transform (joint) node name + * - left + - dictionary containing the expected match for the solver_expression and |br| transform_expression + * - right + - dictionary containing the expected match for the solver_expression and |br| transform_expression + + +.. note:: + As an example if we wanted to mirror a solver called ``calf_l_UERBFSolver`` we first try to match the name + of the solver against the ``solver_expression``. If the match fails, you'll see an error appear in the output + log that the solver name doesn't match the settings defined in mirror mapping. + + If the match succeeds, it will then iterate through the groups in the matchdict to determine if one of the groups + matches the ``solver_syntax`` for the left hand side. If it does, it will replace it with the right and vice versa. + + In this case, we will end up with a matchdict that looks something like this: |br| + ``{"prefix": "calf", "side": "_l_", "suffix": "UERBFSolver"}`` |br| + The mapping will iterate through this dictionary and attempt to match each value against the ``solver_syntax`` of + the ``left`` and ``right`` group defined in mirror mapping. If it matches the ``left`` group it will replace the + ``side`` value with the ``solver_syntax`` specified in the ``right`` group resulting in the following dictionary: |br| + ``{"prefix": "calf", "side": "_r_", "suffix": "UERBFSolver"}`` |br| + + The same thing then happens for the drivers and driven transforms associated with the solver, using ``transform_expression`` + and ``transform_syntax`` in place of the solver. + +.. |br| raw:: html + +
\ No newline at end of file diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/overview.rst.txt b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/overview.rst.txt new file mode 100644 index 0000000..5d388af --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/overview.rst.txt @@ -0,0 +1,78 @@ +2.0.0 Overview +========================================= + +Version 2.0.0 is a refactor of the original Pose Wrangler. The goal of this version has been to separate the UI +logic from the backend, enabling users to automate RBF setup via Python and create custom extensions to add new +functionality. + +UI Overview +------------------------------- + +.. image:: /images/overview.png + :width: 800 + :alt: UI Overview + + +1) Solver View +++++++++++++++++++++++++++++++++++++++++++++ + + +Here is where you can find a list of all the RBF solvers currently available in the scene and can edit, create, delete +or mirror solvers. + +In order to make changes to the poses, drivers or driven transforms/blendshapes you need to toggle a solver into `edit` +mode via the `Edit Selected Solver` button. + +.. note:: + + Only one solver can be edited at a single time. + +2) Pose View +++++++++++++++++++++++++++++++++++++++++++++ + + +Here you can find a list of all the poses. In order to make any changes to the poses, you need to edit the corresponding solver. + +.. warning:: + + Most of these are self-explanatory, but is it worth noting that `Mute Pose` will enable and disable the pose on the + solver via the `targetEnable` attribute. This means that if the RBF solver node is set to use `automatic radius` + then the radius will be calculated without the influence of the muted poses. + + +3) Driver View +++++++++++++++++++++++++++++++++++++++++++++ + +2.0.0 supports multiple drivers. Here you can add/remove driver transforms. + + +4) Driven Transforms / Blendshape View +++++++++++++++++++++++++++++++++++++++++++++ + +Here you can add/remove driven transforms and create/add blendshapes. + +.. note:: + The blendshape workflow is currently a work in progress and may change in the future. + + +5) Extensions and Settings View +++++++++++++++++++++++++++++++++++++++++++++ + +Pose Wrangler now supports writing custom extensions for the tool that can be embedded into the UI here. +`Core Extensions` are default extensions that ship with Pose Wrangler. `Pose Exporter` is an example of a custom +extension used by the MetaHuman team. For more information on how these extensions work and how to create your own, +please refer to the :doc:`extensions` page. + +You can also change the mirror mapping, which will allow you to specify a custom mapping if your skeleton does not +match the default MetaHuman skeleton and the mirror solver/pose functionality is causing unexpected results. + +6) Top Menu +++++++++++++++++++++++++++++++++++++++++++++ + +Here you can import/export RBF solvers to/from a JSON file, change the theme and view the help. + + +7) Output Log +++++++++++++++++++++++++++++++++++++++++++++ + +Displays debug, info, warning and error messages. \ No newline at end of file diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/upgrading.rst.txt b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/upgrading.rst.txt new file mode 100644 index 0000000..e5411f2 --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_sources/upgrading.rst.txt @@ -0,0 +1,20 @@ +Upgrading to 2.0.0 +======================================== + +When you load up Pose Wrangler with a scene that contains `UE4RBFSolverNode` you will be greeted with the new legacy +version of PoseWrangler. This version is almost identical with the version previously available via GitHub, with the +addition of the log window and the upgrade button. + +If you have the new version of the plugin available you will be presented with an option to upgrade your scene at the +top of the Pose Wrangler window. Pressing this button will execute an upgrade script that will replace all the +`UE4RBFSolverNode` with `UERBFSolverNode` and clean up old/redundant nodes left lingering in the scene. + +.. image:: /images/upgrade.png + :width: 800 + :alt: UI Overview + +If the upgrade is successful you will be presented with the new tool window. + +.. image:: /images/v2.png + :width: 800 + :alt: UI Overview \ No newline at end of file diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/basic.css b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/basic.css new file mode 100644 index 0000000..070b649 --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/basic.css @@ -0,0 +1,906 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 450px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a.brackets:before, +span.brackets > a:before{ + content: "["; +} + +a.brackets:after, +span.brackets > a:after { + content: "]"; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +dl.footnote > dt, +dl.citation > dt { + float: left; + margin-right: 0.5em; +} + +dl.footnote > dd, +dl.citation > dd { + margin-bottom: 0em; +} + +dl.footnote > dd:after, +dl.citation > dd:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dt:after { + content: ":"; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print({ + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/badge_only.css b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/badge_only.css new file mode 100644 index 0000000..e380325 --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/badge_only.css @@ -0,0 +1 @@ +.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.eot b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.eot differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.svg b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.ttf b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.ttf differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.woff b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.woff differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.woff2 b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/fontawesome-webfont.woff2 differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold-italic.woff b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold-italic.woff new file mode 100644 index 0000000..88ad05b Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold-italic.woff differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold-italic.woff2 b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold-italic.woff2 new file mode 100644 index 0000000..c4e3d80 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold-italic.woff2 differ diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold.woff b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold.woff new file mode 100644 index 0000000..c6dff51 Binary files /dev/null and b/Scripts/Animation/epic_pose_wrangler/docs/site/html/_static/css/fonts/lato-bold.woff differ