I think now the best way to carry out my space switching plugin is to
create a custom transform that when a parent constraint is added to
it, the transform issues the command: `parentConstraint -e -
maintainOffset (targets) (constraintName)` whenever the weight to that
parentConstraint is changed. That way, if you're animating a child of
that transform and have a custom attribute on that child driving the
weights of the constraint, you automatically preserve that child's
position whenever you change that custom attribute. The question is
then, how do you get the names of targets and target weight
attributes, and how do you do so only when a parentConstraint has been
added to the transform? This tutorial sort of helps, but it is in C++,
and I can't figure out how to import it over to Python:
http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/research/maya/mfnconstraints.htm