Commit Graph

30557 Commits

Author SHA1 Message Date
Campbell Barton
a97825dfd7 stule cleanup for rct.c and fix for error in last commit. 2012-03-13 01:55:25 +00:00
Campbell Barton
8646bb4464 workaround [#30480] Knife tool flicker
the problem was numeric precision when in ortho mode the start/end points for the view vector would be 2000 apart which caused trouble for the intersection test.
2012-03-13 01:11:08 +00:00
Campbell Barton
b457c7fdbd style cleanup 2012-03-12 23:56:11 +00:00
Nicholas Bishop
caac81d75f Code cleanup: use explicit PBVH type enum rather than checking for grids or faces.
No functional changes, this is just a bit easier to read I think (and
nicer if we add more PBVH types in the future, e.g. for dynamic
topology sculpting.)
2012-03-12 23:03:43 +00:00
Nicholas Bishop
dfc9a57b3e Code cleanup: replace multires update function pointer with direct call.
Renamed the multiresModifier_update() function to
multires_modifier_update_mdisps() and made it visible to subsurf_ccg.c
so it can be called directly. No functional change, just a bit simpler.
2012-03-12 22:52:20 +00:00
Campbell Barton
07ffbbfcb6 better fix for [#30529], find the right axis rather then checking for folded quads. 2012-03-12 21:38:13 +00:00
Campbell Barton
30790e9390 fix [#30529] BMesh: Wrong Indizes of Faces
problem was bow-tie quads would add opposite normals together and result in zero vector which was used for projection.
Now is_quad_convex_v3() checks if quad contains 2 faces which point away from eachother when split by either direction.

Theres another fix for this bug which can be done since creating the face can use existing edges in the example given so it wont have to guess which order of verts to use.
2012-03-12 21:09:27 +00:00
Sergey Sharybin
e0a2e79f4d Fix #30406: Hooks ignore Automatic handles setting in curves
Update handles positions after applying modifiers which seems to be expected behavior.
The only currently unsolved issue is about updating aligned handles because this needs
to determine in which order handles need to be recalculated which currently depends on
selection flags and which is quite tricky to do when running modifiers and animation data,
so currently just not update their positions for now.
2012-03-12 14:55:56 +00:00
Lukas Toenne
d3e271c55a Fix for lasso gestures. After executing the modal gesture operator the list of gesture points is copied to the operator "path" id property, which is simply a collection of points. This list must be cleared before adding new lasso points to it, since operator properties are now stored after each execution. Noticed by Olivier Amrein (oenvoyage) on IRC. 2012-03-12 14:39:37 +00:00
Sergey Sharybin
a527e3ea25 Fix #30496: Bugs and crashes about "make links modifers" function.
Was missed check for if modifier is available for particular object type
which ended up with unpredictable results when modifier which isn't supported
yet for some object type as linked to that object type.
2012-03-12 14:35:07 +00:00
Howard Trickey
50af47a67f Code cleanup: knife gathers pos-related state into a struct. No functional change.
This is in preparation for bug fixing and cleanup related to tracking
of bmface and is_space state variables.  And makes it more likely
to avoid bugs in future where some part of state is copied but not all.
2012-03-12 12:45:55 +00:00
Brecht Van Lommel
b53cbb4e01 Fix #30512: external render saved render result after reporting error. 2012-03-12 11:32:23 +00:00
Howard Trickey
ca5fd21bb5 Make knifetool more robust against crashes. Fix some hole problems.
Sometimes split would fail to make a face - make sure it doesn't
crash if that happens.
Chain finding code for holes would sometimes go back to same
vertex on the face, which causes problems, so fixe that.
Also, disallowed a cut that starts at a vertex or edge and
cycles back to that same point in a face - this would make
a face with a repeated vertex, which may not be handled by
the rest of the system properly.
2012-03-12 11:27:59 +00:00
Bastien Montagne
30907594b6 Style cleanup in blenfont (spaces, C++ comments, etc.). 2012-03-12 09:22:16 +00:00
Bastien Montagne
51c553befb Removing SWAP macro define from BLI_heap.c, already present in BLI_utildefines.h, giving compile error. 2012-03-12 09:20:38 +00:00
Sergey Sharybin
e3df2697c3 Commit patch from Shane Ambler to make VideoTexture compile with a clang on FreeBSD.
Thanks!
2012-03-12 08:46:53 +00:00
Miika Hamalainen
ea56a54747 Fix msvc compilation errors. (__func__ undeclared) 2012-03-12 07:21:22 +00:00
Campbell Barton
aedd4af57e code cleanup/bugfix uninitialized values
- edgebisect bmesh operator used uninialized beauty field.
- BLI_join_dirfile could read from before the string bounds when passed an empty dir string.
- pransform could use an uninitialized projected coordinate (unlikely but possible)
- RNA_property_path_from_ID_check would compare against an uninitialized pointer when the path wasn't found.

also have bmesh walker use BM_edge_other_vert() utility function.
2012-03-12 06:53:47 +00:00
Campbell Barton
0873cbaed5 style cleanup: line length - some over 300 long. 2012-03-12 06:07:16 +00:00
Campbell Barton
7afeb21a41 text delimiter - convert to unicode before comparing characters. 2012-03-12 00:03:42 +00:00
Campbell Barton
cae11a98f9 style cleanup 2012-03-11 23:47:41 +00:00
Campbell Barton
ac24d98e24 bmesh: edge loop select
add support for loop selecting boundry edges only - handy for loop selecting the side of an ngon.
2012-03-11 21:47:14 +00:00
Antony Riakiotakis
33d8104716 Fix edge loop selection. Now boundary selection checks only for filled edges to determine when to stop and stops at vertices shared by only 2 edges. 2012-03-11 20:45:58 +00:00
Campbell Barton
b330abc290 remove Object member from BMesh struct - was only used for undo and BMEditMesh already stores an object pointer.
also fix for own mistake with mesh conversion refactor, shape key index was off by 1 when switching editmode.
2012-03-11 19:58:56 +00:00
Campbell Barton
c21c58f44c style cleanup, also remove unused externs. 2012-03-11 19:09:01 +00:00
Campbell Barton
65895a2a38 improve confusing macro GET_ACF_FLAG_PTR
- was operating on `type` which wasnt an argument to the macro.
- was calling return within the macro (makes code harder to follow).
2012-03-11 17:41:19 +00:00
Campbell Barton
178c2c32f2 [#30503] Callback for render job completion
from Jason van Gumster (thefallenweeble)

adds render_complete and render_cancel callbacks to bpy.app.handlers
2012-03-11 17:24:03 +00:00
Campbell Barton
19400d418d fix for debug assignment left in from own commit r44778
also removed private face normal update functions - they were same as public.
2012-03-11 15:27:08 +00:00
Campbell Barton
7fa7e4ba1f bmesh python api additions:
- BMesh.is_wrapped
- BMesh.copy()
- BMesh.clear()
- BMesh.free()
- BMesh.from_object(obj, apply_modifiers=True)
- BMEdge.calc_length()
- BMLoop.calc_normal()
- BMLoop.calc_tangent()
2012-03-11 05:58:22 +00:00
Campbell Barton
050439fd9d bmesh py api - correct class references in docs and rename mesh conversion funcs to ne less confusing. 2012-03-11 04:07:22 +00:00
Campbell Barton
21fd09c028 bmesh py api: change .from_mesh() / .to_mesh() to be class methods of BMesh rather than functions in the module.
added example script which converts a mesh to a bmesh, edits and converts back again.
2012-03-11 02:45:27 +00:00
Campbell Barton
0c50bedd9c code cleanup: remove unused externs. 2012-03-11 00:00:27 +00:00
Campbell Barton
7f34653f59 style cleanup: + some warning fixes, also remove unused metaelem extern. 2012-03-10 22:00:55 +00:00
Martin Poirier
67f1e83508 [#30373] Which part to snap in volume snapping is removed
By Bug reported by Pep Ribal

Also fixed an object mode bug with volume snapping and made it compatible with the edit mode "Snap on self" option
2012-03-10 21:40:35 +00:00
Campbell Barton
e09ab8883c bmesh:
- moved mesh conversion functions into their own file.

bmesh py api:
- can now create a new empty bmesh without first creating mesh data.
- added function to copy bmesh data back to a mesh.
- bmesh.from_mesh() can now get a mesh which isnt in editmode.
2012-03-10 20:41:19 +00:00
Thomas Dinges
83a5c943af 2.6 UI:
World Context:
* Made world id block wider
* Don't show texture user when Cycles engine is used
Other: 
* Change Dopesheet > DopeSheet in User Preferences Theme section for consistency.
2012-03-10 20:30:05 +00:00
Campbell Barton
d6a6f285d6 patch [#30511] Save/load window state (allows Blender to start maximised)
from Tom Edwards (artfunkel)

This patch fixes bug [#20791]
2012-03-10 17:49:26 +00:00
Sergey Sharybin
78941c1676 Remove remained part of debug code. 2012-03-10 17:14:50 +00:00
Sergey Sharybin
c175ed8b9b Forgot to remove code used for debuggning in previous commit. 2012-03-10 16:55:09 +00:00
Sergey Sharybin
be9aa6eada Finally 2D stabilization auto scale factor should be calculated perfectly 2012-03-10 16:31:12 +00:00
Campbell Barton
57693a3756 fix for own error in recent commit with UV texture layers. - was shadowing variable so assignment failed. 2012-03-10 15:55:25 +00:00
Campbell Barton
c7988dc1ac style cleanup 2012-03-10 14:43:12 +00:00
Campbell Barton
6fef7f1c32 style cleanup: unit code 2012-03-10 14:20:55 +00:00
Nicholas Bishop
2932ab8761 Fix an infinite loop in get_levels_from_disps().
This is called when adding a multiries modifier. BMesh MDisps have
only one loop's displacements rather than a full face's, so don't
multiply by number of corners here.
2012-03-10 12:26:32 +00:00
Campbell Barton
20d8d366ab style cleanup: fly mode. 2012-03-10 06:46:23 +00:00
Campbell Barton
064a333561 fix [#30500] Mesh.tessface_uv_textures or Mesh.tessface_vertex_colors crash on access in editmode
just missing NULL checks on face data.
2012-03-10 05:20:41 +00:00
Nicholas Bishop
24b676e370 Remove the OBJECT_OT_test_multires operator.
Originated in r35213, appears to have been some test for multires in
BMesh.
2012-03-10 05:15:17 +00:00
Campbell Barton
d3ffa53f78 change fly mode behavior to address issue raised in [#30508] - there being no way to pause.
now when reversing direction immediately - fly mode translation will pause until pressed again.
2012-03-10 04:19:25 +00:00
Campbell Barton
b1b07fb951 Speedup for ngon normal calculation
- BM_mesh_normals_update was looping over all faces to find the largest one, this is no longer needed.
- calculating a face normal was looping over every faces corners twice, now only once - using the loops directly (not an iterator).
- face vert locations were being copied an array, now use directly.
- calculating the normals would copy a float vector for the next point in the face, which was never used (only current and previous used).
- was copying vectors to compute the normal, now just assign the float pointers.
2012-03-10 03:25:16 +00:00
Nicholas Bishop
b8f15a1dd3 Revert changes BMesh changes MDisp loading in readfile.c
These changes originated in r35321, which transfered MDisps to a
different memory allocator; this is no long used, however, so
post-merge it was just making an identical copy.
2012-03-10 03:07:42 +00:00