Commit Graph

47594 Commits

Author SHA1 Message Date
Daniel Dunbar
02cadf84be - minor warning fix 2005-07-18 19:59:51 +00:00
Daniel Dunbar
1e3bd6d45e - added DerivedMesh.getVertCos function and implementations
- 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?)
2005-07-18 19:58:23 +00:00
Ton Roosendaal
291af7418e Two small fixes (armatures);
- adding relations to pose-constraints should call DAG on the pose
- prevented constraints to break "IK" chains
2005-07-18 19:36:17 +00:00
Daniel Dunbar
7da6aa2cf7 - need to zero hash pointer on free 2005-07-18 19:29:42 +00:00
Daniel Dunbar
37fe347a59 - removed orco pointer from struct Mesh
- 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
2005-07-18 18:28:16 +00:00
Joseph Gilbert
2e2f62f6ee [ #2423 ] Object.getParentSubName
- this is a submitted patch by lordbosh
- adds to ability to get the bone name when and object is parented to a bone
2005-07-18 18:11:23 +00:00
Daniel Dunbar
f289329ed5 - remove unnecessary editmode cycle on convert subsurf to mesh 2005-07-18 17:45:30 +00:00
Daniel Dunbar
06c7653be1 - added boundbox_set_from_min_max 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
2005-07-18 17:33:51 +00:00
Ton Roosendaal
02ab203c98 Made action constraints to become backwards compatible. In the old version
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.
2005-07-18 17:27:17 +00:00
Erwin Coumans
701b9c21fd more preparations for bullet physics, and some eol issues with SCA_Joystick* 2005-07-18 05:41:00 +00:00
Joseph Gilbert
e60291d39c Header file clean up and warning fixes
- 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
2005-07-18 03:50:37 +00:00
Ton Roosendaal
9919df089d Third attempt to fix crash on leave editmode + delete loadsa bones! :)
Now certain pointers get cleared better, prevent reading freed data...
2005-07-17 22:15:12 +00:00
Daniel Dunbar
1900b83301 - "Text" tfaces should only be drawn from deformed (not subdivided)
mesh
2005-07-17 21:54:12 +00:00
Daniel Dunbar
c6a72088a2 - convert write_object_stl to use mesh_get_derived_final 2005-07-17 21:48:23 +00:00
Daniel Dunbar
dfe15f57e8 - convert draw_mesh_tfaces to use mesh_get_derived_final instead of
calling mesh_uses_displist (becoming obsolete)
2005-07-17 21:43:35 +00:00
Daniel Dunbar
a92a513c19 - missed commit of file with mesh_calc_normals 2005-07-17 21:24:43 +00:00
Daniel Dunbar
e6e9b1ea80 - replace displistmesh_calc_normals by mesh_calc_normals
- 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
2005-07-17 20:12:16 +00:00
Daniel Dunbar
75fefdc5a7 - need to release object DerivedMesh prior to release object data 2005-07-17 19:15:06 +00:00
Ton Roosendaal
141e577353 More fixes thanks to irc testing;
- 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.
2005-07-17 19:08:04 +00:00
Daniel Dunbar
a229931ce6 - switch shadeDispList to use DLM face normals if available 2005-07-17 18:51:50 +00:00
Daniel Dunbar
033f3d5126 - switch shadeDispList to always using DispListMesh from
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)
2005-07-17 18:37:27 +00:00
Daniel Dunbar
f79ff93497 - assorted fixes for drawing "Text" tfaces 2005-07-17 18:31:39 +00:00
Daniel Dunbar
3d155330e1 - remove extverts argument from vertexnormals_mesh
- changed new_NMesh_internal to not take extverts argument
2005-07-17 18:22:23 +00:00
Daniel Dunbar
61fe766897 - removed unused DL_TRIA type 2005-07-17 17:43:15 +00:00
Daniel Dunbar
726aea881c - convert mesh_modifier to return deformed verts instead of
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
2005-07-17 17:41:03 +00:00
Ton Roosendaal
fdaf1c6eac Three fixes, thanks to irc reporting of Basse & Sten;
- 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.
2005-07-17 17:36:54 +00:00
Daniel Dunbar
099b3e786c - made particles use displistmesh not DerivedMesh interface 2005-07-17 17:33:09 +00:00
Daniel Dunbar
675f18707e - back out ton's vertex_duplilist "fix" 2005-07-17 16:16:22 +00:00
Ton Roosendaal
5aa6ca6960 Wire selecting in Armature editmode accidentally broke. :) 2005-07-17 16:04:53 +00:00
Daniel Dunbar
51fe322063 - add extern to selboxes variables declaration 2005-07-17 16:02:10 +00:00
Ton Roosendaal
261bd94e7f Fix: outliner crash on deleting bones in editmode
Further cleaned up editmesh code to be warning free and to have a little
nicer style :)
2005-07-17 15:45:35 +00:00
Ton Roosendaal
d5ccd35f4c While checking old bugreports on the todo tracker, found weak issue in
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!
2005-07-17 12:20:08 +00:00
Ton Roosendaal
3ab974ca58 Bugfix #2836
Crash in Vertex-duplicator when there's an empty Mesh. Simply added check
for dm pointer. :)
2005-07-17 09:49:02 +00:00
Ton Roosendaal
ef73b6f140 New: B-Bones now support adjusting the 'handle length', with the values
"In" and "Out" in the new posemode Panel, editing buttons.

http://www.blender.org/cms/Armature_draw_modes.629.0.html

Fix in image.c: just an unitialized variable.
2005-07-17 08:58:42 +00:00
Ton Roosendaal
a8a69f5f63 - The "in" and "out" interpolation values for B-Bones were not copied to
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.
2005-07-17 08:56:51 +00:00
Daniel Dunbar
581df16520 - add DerivedMesh *derivedDeform to struct Object, this is temporary
until fullblown modifier system comes in, need it now to move forward.
2005-07-17 05:34:35 +00:00
Daniel Dunbar
e1c653c5c3 - convert vertex_duplilist to use mesh_get_derived_deform
- 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...
2005-07-17 05:20:57 +00:00
Daniel Dunbar
e6f4527813 - added DerivedMesh.getMinMax function (calls DO_MINMAX on all vertices)
- static'd boundbox_displist
 - added getMinMax implementations for all existing DerivedMesh
   implementations (mesh, editmesh, displistmesh, and ccgsubsurf)
2005-07-17 04:17:33 +00:00
Daniel Dunbar
80327e675a - converted draw_tfaces3d and bbs_mesh_solid to use
mesh_get_derived_deform... (whats that? more general AND it uses less
   lines? how can that be!!!)
2005-07-17 03:48:29 +00:00
Daniel Dunbar
b3169b22b8 - convert give_parvert to use mesh_get_derived_deform 2005-07-17 01:29:12 +00:00
Daniel Dunbar
bbb83af14c - converted write_videoscape_mesh to use mesh_get_derived_deform 2005-07-17 01:23:43 +00:00
Daniel Dunbar
67d58c0f45 - added DirectMesh.getVert{Co,No} functions
- added mesh_get_derived_deform function (always returns a DerivedMesh
   corresponding to deformed (but not subdivided) mesh). used in places
   where original mesh is to be displayed but with deformed coordinates
   (vpaint for example).
 - added DirectMesh.getVert{Co,No} implementations for MeshDerivedMesh
 - updated vpaint to use mesh_get_derived_deform
2005-07-17 01:18:59 +00:00
Erwin Coumans
7c9422111b another file behind the #USE_BULLET 2005-07-16 22:13:20 +00:00
Alexander Ewering
851d4016f8 Reverted to good line endings 2005-07-16 22:02:59 +00:00
Erwin Coumans
2d73b31aff preparation for bullet physics 2005-07-16 21:47:54 +00:00
Daniel Dunbar
3166974a67 - switch M_NMesh_GetRawFromObject to always get mesh data from
DerivedMesh (needs testing)
 - added needsFree argument to mesh_get_derived_final
2005-07-16 21:20:44 +00:00
Daniel Dunbar
d2fb9ae533 - added dontFreeNors flag to DispListMesh as well
- changed mesh_get_derived_render to always return a DerivedMesh (even if
   no subsurf)
 - changed init_render_mesh to always get the mesh data through a
   DerivedMesh
2005-07-16 21:16:05 +00:00
Daniel Dunbar
6dd382f966 - added dontFreeVerts and dontFreeOther flags to displistmesh for
situations where data can be shared easily.
 - added convertDisplistToMesh function for regular mesh DerivedMesh
   interface (how many times can *you* use mesh in one sentence?)
 - do_puno was uninitialized in init_render_mesh
 - added mesh_get_derived_final (temporary), difference from
   mesh_get_derived is it always returns a derived mesh, even if
   no subsurf.
2005-07-16 21:03:28 +00:00
Daniel Dunbar
0d806074b3 - remove call to mesh_modifier from init_render_mesh, shouldn't
be needed anymore
2005-07-16 20:42:20 +00:00
Ton Roosendaal
e67ba0ae33 More armature goodies;
The B-Bones!
(where the B can be read as 'block' or 'bezier' or 'b-spline')

- set option on/off in edit buttons, armature panel
- scaling of B-bones only works in editmode, use ALT+S to make bones fatter
  or thinner. Also works for constrainted transform
- In pose mode, you now have a buttons panel with per-bone settings too
  Here you can find the "segments" button, which allows bones to
  interpolate between previous/next bones, including roll.
- Buttons to control interpolation ("In" and "Out" are disabled, doesn't
  work satisfying yet

NOTE: this doesn't give deform yet! Main purpose for now is to test if this
drawing method serves to animate/pose armatures well.
Still need to review proper interpolation methods... maybe bezier is too
limited.
2005-07-16 19:07:02 +00:00