- changed mesh_modifier, sbObjectStep, object_deform to take vertexCo
argument instead of operating on mesh
- fixed bug where a derived mesh would not be returned in editmode
- removed object_wave, replaced by init_wave_deform and calc_wave_deform
- moved cached DerivedMesh to Object, not Mesh... fixes heisenbugs
with linked objects
builds new DerivedMesh... caching can come later)
- split DerivedMesh returning functions into editmesh and mesh groups
- got rid of DL_NORS displist type (get built on fly for mesh when
needed)
- got rid of Mesh.disp (yay!)
- started to punch DerivedMesh returning functions into shape to introduce
modifier stack
Fix for previous commit today; found other test file with action
constraint that behaved different... found out the old action constraint
used the deform matrix (from restpos to pose) to define the key.
ALso removed unused function from outliner.c
- added mesh_create_derived_no_deform[_render]
- mesh_create_orco now always goes through a DerivedMesh, some
redundant copying atm but can be fixed (and orco generation is
not a big bottleneck)
New feature: TexMesh (texcomesh) works with subsurf now (are
you listening rob?)
- switch renderer to store orco's in a hash table instead of
caching in mesh (I don't like the renderer caching data
in the actual mesh structure)
- added mesh_create_orco[_render] function
- fix DerivedMesh.getMinMax implementations to set min & max when
there are no vertices
- mesh boundbox calc was wrong in some cases, messed up HOMEKEY
and localview zooming
it used the 'global' (Pose Space) rotation to define the action timing.
That was of course hardly useful, reason for many weird patched rigs.
Nevertheless, sometimes it can be useful, and it's nice to see old files
nicely work still. So: "Local" is an option now.
Note: if you changed last week files because of the new action constraint,
set the new "Local" option in the object-buttons Constraint panel.
- Mostly this cleans up the #includes and header files in the python project.
- Warning fixes are mostly casting issues and misc fixes. General warning clean up.
- #include Python.h MUST come as the first include to avoid the POSIX redefine warning in the unix makefiles
- fno-strict-aliasing flag added to makefile to fix a unavoidable type punning warning in types.c
- convert MeshDerivedMesh to calculate new vertex normals and such
on initialize, means copy free conversion to DispListMesh
- replace vertex access through function by direct access fo
MeshDerivedMesh
- shadeDispList was not getting correct orco's
- On exit editmode and after deleting bones, a pointer in PoseChannels
was not set NULL correctly, causing potential crashes.
- Action Window: select on 'ipo key' (little icon) didn't select/deselect
the associated bone (old bug!)
- After unlinking an Action, the blue color in bones was not cleared
Also:
- Improved selection in editmode, doing it in 2 stages. Makes it a lot more
accurate.
mesh_get_derived_final... a bit slower atm because of extraneous
copying (will be fixed shortly) but normals are correct for deformed
meshes now (don't think they ever have been)
leaving in a DL_VERTS type displist (and modifying mesh)
- removed DL_VERTS displist type (woot woot)
- makeDispListMesh now puts deformed verts in object->derivedDeform
- switch over other system parts to new deformed vert storage,
still kinda hacky and maybe some inconsistencies... will be
sorted out soon enough.
- moved build_particle_system to makeDispListMesh... this may have
adverse side effects, needs to be sorted out with depgraph system
- Bone points for B-Bone drawing were not adjusted for size of Bone, now
they draw same size as for other bone type
- Deleting bones in editmode didn't check for constraints in Pose, causing
weird collapsed poses or even crashes
- ALT+S scaling on B-Bones in editmode didn't correct for the Object scale.
current depgraph... that's when an object has multiple "parents", which
have different relation types. (one parent moves Object, the other
deforms). In that case the result was undefined.
Solved it nicely with the DAG building code, resulting in quicker flushing
of changes even.
Also noted a bug in the drawview.c 'object_handle_update' call, which
should not check for layers. The DAG flushing clears recalc flags for
invisible layers, if possible. Now need to write that @#!# doc!
and from editmode Armature
- Altered 'axismat' for PoseMode bone transform. Fix for bug #2769, bone
rotations using hotkey-constraints (R, Y, Y) didn't work well.
- convert object_apply_deform to use mesh_get_derived_deform
- convert build_particle_system to use mesh_get_derived_deform
- remove apply option from mesh_modifier
What do you know, this leaves only one callsite for mesh_modifier
and one "user" site for DL_VERTS...