Campbell Barton [Sat, 21 Apr 2012 13:08:26 +0000 (13:08 +0000)]
fix [#31048] converting curve object to mesh makes object disapper from 3D view
Campbell Barton [Sat, 21 Apr 2012 12:51:47 +0000 (12:51 +0000)]
style cleanup
Campbell Barton [Sat, 21 Apr 2012 12:14:07 +0000 (12:14 +0000)]
fix [#31047] ctrl+mouse select in edit-mode does not select external object
fix [#30535] Shortest Path Select not working well in vertex mode.
regression from after bmesh merge, Ctrl+Right mouse for selecting shortest path is meant for edge mode only.
Campbell Barton [Sat, 21 Apr 2012 06:42:21 +0000 (06:42 +0000)]
fix error in recent rip refactor, also add comment.
Campbell Barton [Fri, 20 Apr 2012 18:50:18 +0000 (18:50 +0000)]
style cleanup: pep8, also quiet compiler warning.
Campbell Barton [Fri, 20 Apr 2012 18:34:58 +0000 (18:34 +0000)]
fix for error using uninitialized variable with shape key conversion.
Bastien Montagne [Fri, 20 Apr 2012 17:26:40 +0000 (17:26 +0000)]
Fix [#31008] IK armature resize goes ugly (Pose mode resize).
This affected legacy solver. Note that even if I don't expect any, this fix *may* break some other IK setups, so animators, please check your IK rigs using legacy solver. ;) Easy to revert if needed, anyway.
Note that iTaSC solver is also buggy with some scaled parent, but here IK'ed bones just can’t get scaled in any way (either from parent or from there own transformation)... Will try to find what's happenning, though the code is even harder than legacy solver to follow :/
Campbell Barton [Fri, 20 Apr 2012 16:55:47 +0000 (16:55 +0000)]
code cleanup: prefer BM_face/edge/vert_select_set() over BM_elem_select_set() when the type is known (saves switch statement check on the type).
Add asserts so the correct types are ensured.
Campbell Barton [Fri, 20 Apr 2012 16:17:52 +0000 (16:17 +0000)]
attempt to fix [#31033], cant redo the bug but button layout wasnt great
- no more blank space under XYZ
- scales with DPI
Campbell Barton [Fri, 20 Apr 2012 15:06:54 +0000 (15:06 +0000)]
fix [#31036] image.gl_load() consistently segfault at gluBuild2DMipmaps
incorrect argument to gluBuild2DMipmaps()
Campbell Barton [Fri, 20 Apr 2012 14:59:24 +0000 (14:59 +0000)]
aparently `yards` are not used a lot, suppress their use in button display (input still knows about them) - was reported as a bug.
also fix minor rip bug where active selection was lost.
Antony Riakiotakis [Fri, 20 Apr 2012 14:46:46 +0000 (14:46 +0000)]
Knife tool: Increase the header string length to avoid clipping the message.
Campbell Barton [Fri, 20 Apr 2012 14:36:06 +0000 (14:36 +0000)]
refactor rip tool out into vert/edge functions, was getting too unweildy having them mixed in.
Campbell Barton [Fri, 20 Apr 2012 13:45:38 +0000 (13:45 +0000)]
knife tool alpha values where being set to zero (intersection points weren't visible), error made when converting to theme colors.
also minor bmesh style cleanup.
Lukas Toenne [Fri, 20 Apr 2012 12:55:57 +0000 (12:55 +0000)]
Fix for particle dupli group relative offsets. The relative transforms of objects in the instanced group were not scaled according to the particle size, which would be expected when rendering as 'Whole Group'. Requested by Francesco Siddi (fsiddi) over IRC.
Campbell Barton [Fri, 20 Apr 2012 12:26:16 +0000 (12:26 +0000)]
style cleanup
Campbell Barton [Fri, 20 Apr 2012 12:19:09 +0000 (12:19 +0000)]
knife tool: use the knife mouse cursor, dont store the context in the knife tool data, also rename struct camel case (follow own style guide)
Campbell Barton [Fri, 20 Apr 2012 12:05:08 +0000 (12:05 +0000)]
knife tool: store color once on initializations, de-select only when cutting selected.
Campbell Barton [Fri, 20 Apr 2012 11:14:16 +0000 (11:14 +0000)]
knife tool now selects newly cut edges.
Campbell Barton [Fri, 20 Apr 2012 10:52:13 +0000 (10:52 +0000)]
knife tool modifications
from user freedback it seems there are 2 use cases, both valid.
* Select geometry and cut the selection in half (as 2.4x worked)
* Point-to-point define the faces to cut, dont cut through everything (only cut what you see).
With the second, since you are already selecting the edges to cut and snapping to them. only cutting the selecting is limiting/annoying.
Modifying these options while the knife tool runs doesn't work well, so expose under 2 keys, K, Shift-K.
Campbell Barton [Thu, 19 Apr 2012 23:23:29 +0000 (23:23 +0000)]
bmesh py api: remove bmesh.loops.index_update(), it wasn't working, as joe noticed.
Campbell Barton [Thu, 19 Apr 2012 23:16:57 +0000 (23:16 +0000)]
rip tool wasnt working on a single edge selection in some cases (own error in recent fix).
Campbell Barton [Thu, 19 Apr 2012 22:40:09 +0000 (22:40 +0000)]
add asserts for invalid iteratpr values so we can catch them in debug mode.
Campbell Barton [Thu, 19 Apr 2012 21:47:32 +0000 (21:47 +0000)]
bmesh: improve rip tool
- When the rip extends into a fan, pick the opposite edge in the fan (rather then 2 along)
- When stepping over the fan to find the rip edge, walk in the direction closest to the mouse (generally works nicer)
Joseph Eagar [Thu, 19 Apr 2012 21:14:11 +0000 (21:14 +0000)]
Fixed crash in iter api, triggered by calling index_update() on the loop py seq in the py api. Note, I didn't fix the underlying problem (bad iter type) so loops.index_update() still isn't working (it's just not crashing).
Campbell Barton [Thu, 19 Apr 2012 19:13:57 +0000 (19:13 +0000)]
bmesh py api: expose BMVert.calc_shell_factor()
Campbell Barton [Thu, 19 Apr 2012 19:03:15 +0000 (19:03 +0000)]
bmesh inset: add depth option (make use of relative and even offset options)
Bastien Montagne [Thu, 19 Apr 2012 18:53:32 +0000 (18:53 +0000)]
BMESH_TODO: randomize vertices working again.
That whole "element re-arrange" area could use some love, though (e.g. make a single vert operator with more options, as faces; and make faces work in edit mode, probably no more reasons to switch to object mode?). Post-release TODO, anyway.
Also spotted a glitch in BLI_rand code, imho, which makes first element of an array not guarantied to be shuffled by BLI_array_randomize()... No correction though, as this might/would affect other parts of the code!
Campbell Barton [Thu, 19 Apr 2012 17:26:22 +0000 (17:26 +0000)]
committed check by mistake, its not needed.
Campbell Barton [Thu, 19 Apr 2012 16:57:50 +0000 (16:57 +0000)]
bmesh rip: when there are selected faces call region_to_loop before ripping. gives better results then previous fix when there are selected faces as apart of an edge selection.
Campbell Barton [Thu, 19 Apr 2012 16:20:07 +0000 (16:20 +0000)]
fix [#31015] Rip has weird results in vertex selection mode vs face
Brecht Van Lommel [Thu, 19 Apr 2012 15:14:28 +0000 (15:14 +0000)]
Fix #31016: rigid body joint constraint in game engine did not respect constraint
enable/disable option.
Brecht Van Lommel [Thu, 19 Apr 2012 15:00:54 +0000 (15:00 +0000)]
Fix exposure being applied to cycles AO pass.
Campbell Barton [Thu, 19 Apr 2012 14:38:09 +0000 (14:38 +0000)]
code cleanup: remove unused BMesh args.
Howard Trickey [Thu, 19 Apr 2012 13:59:03 +0000 (13:59 +0000)]
Change knife header to reflect current key binding (RMB cancels now).
Campbell Barton [Thu, 19 Apr 2012 13:47:58 +0000 (13:47 +0000)]
remove BM_ITER, BM_ITER_INDEX macros, use ELEM or MESH variants only (the maceros had unused args in both cases).
Howard Trickey [Thu, 19 Apr 2012 13:44:28 +0000 (13:44 +0000)]
For bug #30931, change knife hardcoded colors to ones derived from theme.
For now, just reusing some theme colors that are there for other reasons
but matched approximately the colors used now.
Except that cut lines are now purple-violet, so that they contrast
with grid and edges better, especially in wireframe.
Campbell Barton [Thu, 19 Apr 2012 12:45:56 +0000 (12:45 +0000)]
code cleanup: first step to replace BM_ITER BM_ITER_INDEX macros.
Bastien Montagne [Thu, 19 Apr 2012 12:31:39 +0000 (12:31 +0000)]
BMESH_TODO: xsort of vertices working again.
This commits adds a new function which can remap vertices/edges/faces of a BMesh in a new given order:
void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
Campbell Barton [Thu, 19 Apr 2012 11:44:12 +0000 (11:44 +0000)]
style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER
Campbell Barton [Thu, 19 Apr 2012 11:25:05 +0000 (11:25 +0000)]
bmesh api function: BM_edge_face_tangent()
was used by inset but make into an api function since scripts can use this too.
Brecht Van Lommel [Thu, 19 Apr 2012 10:49:45 +0000 (10:49 +0000)]
Fix #30998: copy to selected in properties editor not working for bones.
Brecht Van Lommel [Thu, 19 Apr 2012 09:38:07 +0000 (09:38 +0000)]
Fix #31009: edge split did not split non-manifold edges correctly, it should
create a separate edge for each face.
Brecht Van Lommel [Thu, 19 Apr 2012 09:27:11 +0000 (09:27 +0000)]
Fix #31007: text editor delete at end of last line did unnecessary undo push.
Patch by Justin Dailey, simplified a bit.
Campbell Barton [Thu, 19 Apr 2012 07:00:29 +0000 (07:00 +0000)]
fix bevel edge angle (wasnt hooked up to new code), vertex-bevel angle isnt working still
Campbell Barton [Thu, 19 Apr 2012 06:10:21 +0000 (06:10 +0000)]
style cleanup: bevel code, also remove unneeded flag setting.
Nicholas Bishop [Thu, 19 Apr 2012 02:12:39 +0000 (02:12 +0000)]
Fix for disabling noisy opennl output.
More info from bf-committers:
http://lists.blender.org/pipermail/bf-committers/2012-April/036339.html
Antony Riakiotakis [Wed, 18 Apr 2012 22:27:24 +0000 (22:27 +0000)]
Fix: Mark seams in uv editor didn't work
Thomas Dinges [Wed, 18 Apr 2012 20:43:07 +0000 (20:43 +0000)]
Fixing bug [#31005] Nurbs UI bug
* W button was hidden, due to too small y alignment.
Thomas Dinges [Wed, 18 Apr 2012 20:07:35 +0000 (20:07 +0000)]
Release Status:
* Still BCon4, rc phase now.
Antony Riakiotakis [Wed, 18 Apr 2012 19:59:27 +0000 (19:59 +0000)]
knife tool: Add state indicator in header for tool options
Campbell Barton [Wed, 18 Apr 2012 19:05:28 +0000 (19:05 +0000)]
improve recent commit to copy loop data on extrude
- in some cases the is only a face on the new edge, so check for this as a source to copy from too.
- one of the asserts wasnt correct, if there are no adjacent faces found just return.
Campbell Barton [Wed, 18 Apr 2012 18:20:20 +0000 (18:20 +0000)]
bmesh knife tool: cut through no longer initializes from view setting to limit selection to front faces.
instead this is a toggle (Zkey) which is remembered between executions.
Antony Riakiotakis [Wed, 18 Apr 2012 17:50:30 +0000 (17:50 +0000)]
Fix: Transforming NLA strips leaks memory.
Campbell Barton [Wed, 18 Apr 2012 16:55:15 +0000 (16:55 +0000)]
bmesh knife tool:
fix for bug where not moving the mouse after pressing K and clicking would start the first point at the bottom left of the view.
Campbell Barton [Wed, 18 Apr 2012 16:27:11 +0000 (16:27 +0000)]
bmesh knife tool:
- only cut selected geometry.
- exclude hidden geometry from snapping.
Campbell Barton [Wed, 18 Apr 2012 15:09:13 +0000 (15:09 +0000)]
correct ifdef'd scanfill code, incase someone wants to test.
Campbell Barton [Wed, 18 Apr 2012 14:36:56 +0000 (14:36 +0000)]
code cleanup: more minor changes to scanfill
Campbell Barton [Wed, 18 Apr 2012 14:30:57 +0000 (14:30 +0000)]
code cleanup: replace magic numbers in scanfill with defines, also use some vector functions where possible
Campbell Barton [Wed, 18 Apr 2012 14:06:59 +0000 (14:06 +0000)]
fix for eternal loop in scanfill,
The cause for this is bmesh faces which have zero area have their normals set to a fake value (Z-Up), this would break scanfill, possible fixes are to calculate the faces normal each time or tag as invalid but its easiest to avoid the eternal loop with an extra test.
Campbell Barton [Wed, 18 Apr 2012 09:56:19 +0000 (09:56 +0000)]
fix [#30994] Extruding faces gives bad UV's
this had strange logic, there was no need to loop over all face loops.
Campbell Barton [Wed, 18 Apr 2012 09:16:30 +0000 (09:16 +0000)]
style cleanup: mesh validate.
also add code cleanup script which runs uncrustify and then undoes trailing whitespace edits (reducing diff noise)
Campbell Barton [Wed, 18 Apr 2012 09:04:07 +0000 (09:04 +0000)]
fix [#30995] Wavefront obj. file export/import issue with splited edge
Brecht Van Lommel [Wed, 18 Apr 2012 08:26:58 +0000 (08:26 +0000)]
Fix redo not working correct after keyboard input for shear, shrink/flatten,
push/pull, edge slide tools. Patch by Nicholas Rishel.
Campbell Barton [Wed, 18 Apr 2012 08:11:08 +0000 (08:11 +0000)]
add missing NULL check for BM_vert_collapse_faces(), could crash in rare cases.
Campbell Barton [Wed, 18 Apr 2012 07:29:12 +0000 (07:29 +0000)]
fix [#30921] Bevel modifier's is not work correctly with bevel weights
replace dissolve function with one from 2.62 (updated for the new bmesh api).
Campbell Barton [Wed, 18 Apr 2012 07:27:15 +0000 (07:27 +0000)]
bmesh: fix own bug in BM_vert_collapse_faces() with option 'kill_degenerate_faces', was removing data as it iterated, would crash in some cases.
Campbell Barton [Wed, 18 Apr 2012 06:57:28 +0000 (06:57 +0000)]
more replacement for BM_edge_face_count() use.
Campbell Barton [Wed, 18 Apr 2012 06:44:48 +0000 (06:44 +0000)]
code cleanup: replace use of BM_edge_face_count with BM_edge_is_manifold and BM_edge_is_boundary
Campbell Barton [Wed, 18 Apr 2012 06:36:47 +0000 (06:36 +0000)]
fix error in last commit. Misunderstood BM_vert_is_manifold(), added some comments.
Campbell Barton [Wed, 18 Apr 2012 05:52:18 +0000 (05:52 +0000)]
fix for own error in recent scanfill updates, scanfill can hang if run on a polygon with no area.
Campbell Barton [Wed, 18 Apr 2012 04:44:50 +0000 (04:44 +0000)]
code cleanup: minor edits to bmesh_jfke(), move simple checks first.
Campbell Barton [Wed, 18 Apr 2012 04:32:55 +0000 (04:32 +0000)]
bmesh api: minor simplify & cleanup
- add BM_face_edge_share_loop(f, e) -- edge version of existing BM_face_vert_share_loop(f, v)
- simplify BM_edge_ordered_verts_ex(), check could be reduced.
- use BM_ELEM_INTERNAL_TAG for bmesh_jfke(), not BM_ELEM_TAG to avoid clobbering tagged data tools might use.
Campbell Barton [Tue, 17 Apr 2012 20:51:11 +0000 (20:51 +0000)]
save thumbnail from the 3D view if no camera is present.
Campbell Barton [Tue, 17 Apr 2012 19:51:40 +0000 (19:51 +0000)]
code cleanup: use const args for writing files.
Campbell Barton [Tue, 17 Apr 2012 18:36:29 +0000 (18:36 +0000)]
fix error in single vertex ripping where the edit-selection could be left on unselected verts or not set on the newly ripped vertex.
also some corrections to comments.
Campbell Barton [Tue, 17 Apr 2012 18:14:31 +0000 (18:14 +0000)]
fix [#30970] Rip Tool: selecting the side of edges works incorrectly
Brecht Van Lommel [Tue, 17 Apr 2012 17:25:10 +0000 (17:25 +0000)]
Attempted fix for #30985: knife draw messing up display after confirming. I couldn't
redo the problem, but the depth test toggle here should be conditional as in other
3d view drawing code.
Brecht Van Lommel [Tue, 17 Apr 2012 16:51:10 +0000 (16:51 +0000)]
Fix blenderplayer build, added stub.
Brecht Van Lommel [Tue, 17 Apr 2012 16:21:13 +0000 (16:21 +0000)]
Fix #30570: UI issue editing modal keymaps below operators using them.
Campbell Barton [Tue, 17 Apr 2012 15:44:19 +0000 (15:44 +0000)]
bmesh api: adjust bmesh_vert_separate() not to set the loops index values (need them to be left untouched for other tools).
Brecht Van Lommel [Tue, 17 Apr 2012 15:40:04 +0000 (15:40 +0000)]
Fix #30977: error loading modal keymaps from keyconfiguration presets.
Brecht Van Lommel [Tue, 17 Apr 2012 14:24:04 +0000 (14:24 +0000)]
Fix #30980: edge slide Correct UVs option not working.
Was a bmesh todo, main issue was with shape keys, now disabled any changes to
the shape key data layer, and disabled the option altogether when editing
non-basis shape keys.
Brecht Van Lommel [Tue, 17 Apr 2012 13:07:13 +0000 (13:07 +0000)]
Fix part of #30982: dupliface object with modifiers did not show duplis correct
while in edit mode.
Brecht Van Lommel [Tue, 17 Apr 2012 11:02:32 +0000 (11:02 +0000)]
Fix crash with texture draw in edit mode after commit 45672.
Don't create empty tesselated faces layers in edit derivedmesh, these are
being created on the fly so this will conflicted, and use loop data for
opengl attributes for edit derivedmesh drawing.
Campbell Barton [Tue, 17 Apr 2012 10:25:23 +0000 (10:25 +0000)]
move rip out into its own file
Campbell Barton [Tue, 17 Apr 2012 05:49:07 +0000 (05:49 +0000)]
remove the poll function from import/export templates
Campbell Barton [Tue, 17 Apr 2012 05:47:32 +0000 (05:47 +0000)]
add import operator python template.
Campbell Barton [Tue, 17 Apr 2012 05:09:37 +0000 (05:09 +0000)]
code cleanup: remove/comment some unused code.
Campbell Barton [Mon, 16 Apr 2012 18:24:49 +0000 (18:24 +0000)]
minor speedup for scanfill, dont calculate the normal if its already known - use for editmode ngon filling.
Campbell Barton [Mon, 16 Apr 2012 16:49:37 +0000 (16:49 +0000)]
inline function for "Newell's Method" used for normal calc.
Campbell Barton [Mon, 16 Apr 2012 16:24:55 +0000 (16:24 +0000)]
improve scanfill for uneven ngons, previously scanfill would use the most angular corner, but this made non planer ngons rip frequently (often reported problem).
now calculate the normal as with ngons.
Campbell Barton [Mon, 16 Apr 2012 15:13:21 +0000 (15:13 +0000)]
fix for fail thumbs being used when the failed thumbnail image is older then the image/movie/blend.
Campbell Barton [Mon, 16 Apr 2012 14:34:48 +0000 (14:34 +0000)]
fix error when a failed thumb overrides a newer good thumbnail.
on saving blend file remove failed thumb.
Sergey Sharybin [Mon, 16 Apr 2012 14:27:22 +0000 (14:27 +0000)]
Partial revert of rev45691: allow lightmap undo and add comment why redo was disabled
Sergey Sharybin [Mon, 16 Apr 2012 13:53:30 +0000 (13:53 +0000)]
Fix #30720: Creating Navmesh crashes blender
In fact there were several issues fixed (all of them regressions since bmesh merge):
- Creating navmesh crashed because creating new faces for mesh was trying to set
default values for all customdata layers in this face. This requires memory
pool created for this datablock.
Usually this pool is creating on creating datablock if there're some elements
to be stored in this block. In cases of regular primitive creating it wasn't
an issue because they doesn't create customdata layers, they only creates
geometry.
Navigation mesh creates geometry and customdata layers (CD_RECAST layer)
which used to confuse a bit custom data functions. Solved by ensuring there's
memory pool created for polygons datablock after adding new custom data layer.
Most probably it's better to be resolved on CD level (like smarter track on
changed amount of stored data and so) but prefer not to make such global changes
so close to the release.
- Toggling edit mode lead to loosing recast datalayer. Solved by adding recast
layer to bmesh mask so it'll be copied to/from edit mesh.
- Some part of code assumed raycast layer is in face datablock, some that it's in
polygon datablock. Made it to be in polygons datablock.
Kind of temporary solution to make navmesh working, probably it'll fail if one
will want to edit navmesh by hand after it was generated.
Proper way would be to ensure the whole navmesh things are using ngons.
Lukas Toenne [Mon, 16 Apr 2012 13:49:33 +0000 (13:49 +0000)]
Dynamic output sockets for the image input node. This is needed to enable the node to read arbitrary multilayer exr files. Output sockets of this node are now generated dynamically when the image is updated. The image buffer has to be loaded to detect multilayer files on update.
Campbell Barton [Mon, 16 Apr 2012 13:49:04 +0000 (13:49 +0000)]
fix [#30972] Editmesh split by materials not working.
Lukas Toenne [Mon, 16 Apr 2012 11:57:22 +0000 (11:57 +0000)]
Avoid invalid delete call when loading multilayer EXR files with that don't fit the Blender pass naming scheme. If the imb_exr_begin_read_mem function fails reading the EXR (e.g. because of too many channels per pass) it deletes the file internally, leading to segfault on second delete.
Sergey Sharybin [Mon, 16 Apr 2012 11:54:28 +0000 (11:54 +0000)]
Fix #30968: Lightmap Pack - no new image limit
Disable operator register and redo flags because it might modify non-mesh
data when in edit mode. This doesn't work properly with current undo stack
design.