1. 05 Sep, 2020 1 commit
  2. 04 Sep, 2020 2 commits
    • josephbburg's avatar
      Fix error in BonesFromCurve; · 834f46c0
      josephbburg authored
      A print function was throwing an error, seemingly due to some
       changes from the last commit. It has been removed.
    • josephbburg's avatar
      Initial Implementation #59; · 3c9f4955
      josephbburg authored
      Implement the basic design of #59, including the four Copy constraints.
      In addition, I've added an operator for adding hooks to a curve.
       It isn't ready for prime-time yet, as it is an atrocious, disgusting
       hack. But I needed it, so I wrote it, and now everyone else has a nice
       tool to play with!
      I fixed a typo in f_posebone and a stupid extra for-loop in f_editbone,
       also added a comment.
      I improved the UX of Rename by having the operator open an interactive
  3. 01 Sep, 2020 1 commit
    • josephbburg's avatar
      Edit CreateSocketBones; · f1fa8c01
      josephbburg authored
      This commit improves the behavior of CreateSocketBones when "Previous
       Socket" is the parent setting, by using the current parent for the first
      socket bone. The default parenting setting is changed to "use current
       parent", as this is the behavior I usually want.
      More boilerplate code has been added to f_constraints.py
      A small fix to f_posebone.py involving an incorrect function signature.
  4. 31 Aug, 2020 1 commit
    • josephbburg's avatar
      Add f_constraints.py, minor cleanup; · 2f0448ca
      josephbburg authored
      This commit removes comments in several places, and also adds a few.
      Additionally, it adds f_constraints module for holding boilerplate code
       related to constraints (for helping build the UI of constraint ops)
  5. 30 Aug, 2020 5 commits
  6. 28 Aug, 2020 3 commits
  7. 22 Aug, 2020 1 commit
  8. 06 Jul, 2020 1 commit
    • josephbburg's avatar
      Refactor #53; · c97d7000
      josephbburg authored
      I've refactored/bug-fixed/optimized the snapping code. I've also fixed
       some truly stupid code in f_hier, added a few helper functions, and
       finally began writing some code for snapping in pose mode... which
       will be another challenge all its own!
      I know this is a clumsy commit that does too many things and touches
       too many files... but it's been a while since I've worked on CT and
       I really wanted to get back at it!
  9. 14 Feb, 2020 1 commit
    • josephbburg's avatar
      Implement #56; · 72668eae
      josephbburg authored
      New operator RetargetConstraintsActiveBone in ops_poseBone.py.
      Fix UI issue in PropagateConstraintsAlongChain-- previously it had
       to properties labeled "Selection Method", now they are labeled,
       respectively, "Owner Chain" and "Target Chain".
  10. 13 Feb, 2020 1 commit
    • josephbburg's avatar
      Implement #14; · 2fe5275a
      josephbburg authored
      Add features to PropagateConstraintsAlongChain operator; now it
       will enforce the correct target for the active pose bone when
       "retarget" is selected. New option to clear existing constraints
       before propagation. Additional selection mask for the other chain.
      Refactor ConstraintSignature; Data structure is less stupid, and it
       creates empty lists when it fails to find a target/subtarget,
       instead of [0] and [""] for numbers and names, respectively.
      Reorganize PropagateConstraintsAlongChain operator; previous code
       is now spread out in several functions in f_poseBone.py instead.
      Add a new menu for pose-mode; this replaces the current menu, which
       still exists in edit mode.
      Add a comment to f_editbone.py correcting a previous comment.
  11. 07 Feb, 2020 1 commit
    • josephbburg's avatar
      Initial Imlementation of #14; · e48a2ece
      josephbburg authored
      This is the initial implementation of #14 - Propogate Constraints
       Along Chain operator. There are some ugly lines of code here and
       a missing check to see if the active bone is constrained to the
       corresponding bone in the other chain; currently it only checks
       to find the other chain
      Need to do some refactoring in the ConstraintSignature code, and
       some thinking about how this operator should behave before merging
       with the master branch.
  12. 01 Feb, 2020 14 commits
  13. 10 Jan, 2020 1 commit
    • josephbburg's avatar
      Port DetectRibbons() to bmesh; · c3967de1
      josephbburg authored
      This commit ports DetectRibbons to bmesh and adds various fixes.
       Now, Bones From Curve and Snap To Ribbon operate orders of
       magnitude faster. There's still cleanup work to do to organize
       the functions, but they work and they're fast.
  14. 03 Jan, 2020 1 commit
    • josephbburg's avatar
      Add Radius, Roll to BonesFromCurve; · 202bfbea
      josephbburg authored
      This is a pretty hacky commit, but it modifies BonesFromCurve to
       also set radius and roll from the curve. It's a lot slower, so
       this needs to be cleaned up quite a bit before going into master.
       But it works, and this is a feature that's important to have.
      I didn't open an issue for this one, but I will make an issue for
       cleanig up after this commit -- First, handle single bones in
       SnapChain. Then, refactor SnapBonesToRibbon to work on any number
       of splines (maybe, accept a list instead of just a number). That
       should about do it, but of course I also have to look at
       BonesFromCurve and its operators to improve code speed and UI.
  15. 02 Jan, 2020 2 commits
    • josephbburg's avatar
      Version 0,0,93.1; · d48acaa1
      josephbburg authored
      This commit updates the version number and adds a fix to unregister.
      I'm ready now to start adding pose-mode tools, since the only
       remaining edit-mode tools are rather minor.
      There are still a few bugs, but this is enough of an improvement
       that I'm ready to merge to master. At any rate, I don't think I've
       added any new bugs, and I have resolved quite a few.
    • josephbburg's avatar
      Work on #28, Fix for #18; · 9406abb0
      josephbburg authored
      This commit adds factor-amount described in issue #28 to the snap
       to curve operator. I don't think the other features are really
       worth adding, so I'm going to archive the issue.
      This commit creates a new function in f_gen for linearly
       interpolating two values, and functions should be changed else-
       where to use this new function. This is a clean-up todo.
      Removed f_editbone.SnapBonesToCurve because SnapBonesToRibbon does
       the same thing and optionally more. Added the ability to snap
       radius and roll in f_bone.SnapBoneChains. Replaced instances of
       SnapBonesToCurve with SnapBonesToRibbons.
      Added a fix for ops_editbone.SnapBonesToCurve-- it now correctly
       applies transformations to armature and curve object. This is sort
       of a hack, I need to do a refactor to make this happen in the
       function that generates the points (they should be usable right
  16. 28 Dec, 2019 1 commit
    • josephbburg's avatar
      Implement #26, #27; · f3d2c881
      josephbburg authored
      Lots of new code in this commit: added an entire set of functions for
       managing ribbon meshes and getting data from them. Now I can find the
       tilt and radius of a curve at any point along the surface, and use it
       to set the properties of a bone in a chain.
      Because I did all of the work for this commit over Christmas holiday,
       the code is pretty messy, and there are a few miscellaneous bug fixes
       and additions that weren't properly documented, and some code
       duplication. Of particular note is a new habit I've picked up- passing
       self.report from the operator into its functions, and using it to
       notify the user of any error along the way.
      Some known cleanup items: code design for all the new Ribbon functions
       (including especially SnapBonesToRibbon). I passed "context" in there
       for some testing but didn't remove it yet (in a rush).
      Found an annoying behavior when using Select Chain- chains are broken
       when one bone has a different layer mask (even if it is visible). While
       this is intended behavior, it's bad and needs to be removed to an
       option (maybe in preferences.)
      Found a bug with RelaxBoneChain if using a BEZIER curve that is a
       circle. I changed it to always use POLY, but this is a HACK.
      Updated the wrap function to optionally wrap a minimum value.
      ... probably a lot more. I'm afraid this is a really messy commit.
  17. 24 Dec, 2019 2 commits
    • josephbburg's avatar
      Implement #15; · 60d4fac6
      josephbburg authored
      New Operator: Parent Chain To Chain
      Amended commit to register in menu.
    • josephbburg's avatar
      Implement #30; · 08dfc086
      josephbburg authored
      New Operator CreateSocketBones is fully functional and doesn't have any
       obvious bugs. I've improved the UI and cleaned up the code somewhat. I
       am now ready to move on to adding the next new feature to ChainTools.
      Really, the code for #30 is good enough to push to master (with version
       number change), but I need to spend more time making the preferences
       feel more polished and consistent throughout the addon.
  18. 23 Dec, 2019 1 commit