cgmToolbox – build 08152012


Been a bit. Trip to LA, Keith making Squirrely move through space and all, Siggraph, sleep…

cgmToolbox_08152012

Lessons Learned

  1. Store import objects to message attributes during a script to make sure you always have it’s name
  2. If you think a nested list is sounded good, see if a dictionary will work better
  3. Looking at code a year after writing it is painful….so very painful…
  4. Document your code!
  5. I appear to be close the edge of my current abilities in this current endevour and am more than ready to get back to rigging characters. This modular rigger may well break me:)
  6. Push auxilary keywords out of the def declaration for classes that will push keywords through
    http://stackoverflow.com/questions/1941812/django-error-got-multiple-values-for-keyword-argument
  7. Don’t use “”” in the body of code for commenting, it makes it harder to comment out sections
  8. Took another stab at the bridge concept to no avail:
    It doesn’t look like a singleton is what I’m looking for but the ability to intialize a super class from side a class and then see that instance from other instances. 

    1. http://c2.com/cgi/wiki?PythonSingleton
    2. http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-the-one-that-created-them

 

Build Notes

  • AttrFactory
    • Added lock flag ability on  call
    • Can now pass list values directly into compound attributes (vectors)
  • ObjectFactory
    • getNameTagsFromObject – copies cgm name tags from a target object
    • setDrawingOverrideSettings – added to easily set drawing overrides
  • Limb.module & ModuleFactory
    • getPartBaseDistance – gets base distance for a module with a start point and a mesh group
    • getGeneratedInitialPositionData – get’s split info for starting positions for controls to be built from
  • cgm.attributes
    • doGetAttr – fixed a bug I introduced with double attributes
    • doDeleteAttr – added a check for children attributes
    • doCopyAttr – added connectTargetToSource option
    • returnUserAttrsToDict – fixed a logic break down
  • cgm.dictionary
    • Added validateDirection – returns a validated direction from a dictionary of check terms
    • Added validateDirectionVector – to get back a valid vector from either string or vector call. False if not valid
  • cgm.distance
    • returnClosestPoint(startPos,posList) – pretty self explanatory
  • cgm.modules
    • doPurgeNull – fixed
  • cgm.position
    • moveAimObjects – aim a list of objects one to another with settings
    • Added some assertion checks
    • Modified most of the functions to allow string calls for vectors
  • cgm.rigging
    • zeroTransformMeObject – Fixed a bug introduced from some NameFactory work a few weeks back
  • cgm.constraints
    • Added – returnNormalizedWeightsByDistance = better distance weight tool whereby giving greater weight to closer objects
  • ModuleFactory
    • Added axis
    • Added returnOverrideColors
    • Added getState – simple state check for module
    • getCoreNames – generate core names for a module
  • DraggerContextFactory (NEW)
    • screenToWorld(startX,startY) – converts a screen space dragger context click to world space
    • findMeshIntersection(mesh,raySource,rayDir) – Return the closest point on a surface from a raySource and rayDir
    • class ContextualPick – class version of draggerContext to do magic with
    • class clickIntersections – class function to get intersected points on a mesh from a point in space and a vector
    • class clickSurface – class function to get surface points on a mesh from a draggerContext thingy
  • PuppetFactory
    • Added temp bridge to facilitate faster loads
    • Worked on aiming logic for templates
    • getState – checks the state of a puppet which happens to be the min state of it’s modules
    • doSize – working on batch template stuff for rigger
    • getOrderedModules
    • getOrderedParentModules – get’s an ordered list of parent modules by heirarchy and stores a dictionary of module children indexed to module name as well as stores rootModules to self
  • cgm.PuppetBox
    • Added temp bridge to facilitate faster loads
    • Setup initial if checks for state for buttons, help and report stuff
    • Added puppet state checking for the report at the top
    • Added axis setting per module via pop up menu
    • Added copy axis from parent module
      • currently just working with master module
Be Sociable, Share!

Comments are closed.