Commit Graph

236 Commits

Author SHA1 Message Date
5481549725 was setting the active material on exit editmode rather then enter 2009-11-05 14:54:02 +00:00
b1ac71b3a0 enter editmode when adding objects even if the object is not in an active layer,
useful for python but in rare cases this also happens for users.

Active layer getting out of sync is an old bug but hard find when it happens.
This at least fixes segfaulting on adding objects.
2009-11-05 14:25:08 +00:00
8436608513 Bridge edge loops would loose all edge flags.
Would happen in any case where python added new mesh data into an existing mesh.

fix by copying the old edges into the new array
2009-11-04 14:28:43 +00:00
65f92c893e - remove UV mapping operator, call a header menu directly (so python can add items there)
- forgot to move bpy_sys.py last commit
2009-11-03 18:20:03 +00:00
072a39004e - "selected_pchans" is now at screen level context (not just view3d) so can use for adding bones to a group.
- separate assign to Y key rather then Ctrl+4
2009-11-02 17:24:06 +00:00
1d9f90ed42 - all add object operators now take view_align as an argument, and enter_editmode where its used. Makes running the operator from python pradictable without having to know the user prefs.
- missing return in function
- python error in view3d (assumed active object exists)
2009-11-02 16:07:49 +00:00
d160891c36 Shape Propagate to all back in vertex menu 2009-10-27 15:40:56 +00:00
d46232a792 Fix bug #19715: remove doubles was not working. 2009-10-26 12:06:14 +00:00
e8af794441 face mask mode
- border select
- linked selection (Ctrl+L)
- select all
2009-10-22 19:17:46 +00:00
e2b74dc736 Shape Keys
Active shape key can now be changed while in edit mode. This is based
on exit/enter editmode again in the background, which is not ideal,
as that loses the undo history. But that already happened anyway when
you did exit/change-active/enter manually.
2009-10-22 17:12:28 +00:00
a407a21bfb added back face mask mouse selection and made shift+k fill weight paint and vertex color 2009-10-22 12:59:14 +00:00
06d57fdae0 Shape Keys
Internal change to not apply the shape keys to the Mesh vertex coordinates,
but rather use it as part of the derivedmesh/displist evaluation. This only
has one practical advantage right now, which is that you can now make a
linked duplicate and pin it's shape key to a different shape than the first
object.

Further, this makes shape keys correctly fit into the modifier stack design,
which will help implement some other features later. Also it means the mesh
vertex coordinates are now really the orco's.
2009-10-22 09:31:07 +00:00
5fb73d8b81 Make compiler happy, remove doubtful non init usage. 2009-10-21 17:56:26 +00:00
2344d62dfb Silencing some compiler warnings for mingw
* Unused functions
* Uninitialised vars
2009-10-21 10:56:31 +00:00
cac0e48dfb Region post redraw is now split up in a view space and pixel space
part. This fixes a bug where transform help line drawing would not
work with view clipping and mess up the z-buffer. This avoids the
transform code having to figure out what kind of opengl state is
enabled and disable it temporarily.
2009-10-20 21:05:22 +00:00
49a937c521 fix for mirror select and added to the menu 2009-10-20 17:10:01 +00:00
9a00cc55c1 - editmesh select mirror (in editmode select menu)
- weight blending (Vertex specials menu), currently blends from surrounding unselected verts (nice for blending edge loops), but will eventually support face mask mode.
2009-10-20 16:31:03 +00:00
631fbf88e8 Consolidate tube and cylinder primitives.
Removing old add tube operator and replacing it with add cylinder. The resulting operator is called add tube, since that's the name in the menu. Other people can debate about the name and change it later if they feel like it.
2009-10-19 19:16:15 +00:00
a84a59b64e Fix #19638: crash when assiging self in boolean modifier.
Also:
* UI now takes ID self check flag into account so that e.g. it
  doesn't offer to the make object it's own parent.
* Mesh loop cuts number of cuts had wrong limits.
* Don't use mesh_get_derived_final in modifier stack, but
  ob->derivedFinal instead. Avoids crashes on dependency loops,
  and in case there is no loop it should have been created.
2009-10-19 12:13:32 +00:00
e029e05646 [#19680] Add cap ends option for new cylinders in 2.5
Patch by Howard Brooks
2009-10-18 23:23:41 +00:00
55e6aa77c4 Removing MESH_OT_vertices_transform_to_sphere.
This operator was a port of the old ToSphere button that worked only around the cursor.

To Sphere transform (Alt-Shift-S) can already do it around cursor if pivot is set to that, can be used interactively and work on more data types, so this is unneeded.
2009-10-18 02:55:30 +00:00
adba1c302d Reverting revision 23913.
Actions on press is used everywhere in Blender, lets not make an exception here because there's something missing in the event system.

Bug report and potential solution is here, if anyone wants to have a go at it: http://projects.blender.org/tracker/index.php?func=detail&aid=19510
2009-10-18 02:45:05 +00:00
babf9b2d88 Another attempt to fix the problems with confirming transforms while snapping (LMB confirm, CTRL-key still held for snapping) and "ctrl-click" extrusion.
Made the confirm keymap for transforms use KM_RELEASE instead of KM_ANY (I didn't see any case where this failed yet?), and restored the "ctrl-click" as it was before r23903
2009-10-18 02:15:55 +00:00
eff008385b Bugfix #19673: Blender crashes when I open "operator cheat sheet"
Missing check before using 'obedit' pointer for shape_itemf() (i.e. shapekey enum generator)
2009-10-18 02:06:06 +00:00
484bf962c6 simple fix for blend from shape when no keys exist 2009-10-17 16:52:09 +00:00
9d98b48925 Temporary remap extrude to Ctrl+Alt+Click, to avoid conflict with transform. 2009-10-17 14:45:49 +00:00
59f330cce0 Add back Blend From Shape in mesh edit mode. 2009-10-16 10:05:58 +00:00
158534d404 Bugfix: editing shape keys in edit mode would not work correct
when blending shape keys.
2009-10-15 13:33:56 +00:00
991e67ddc7 RNA:
* Enums with an _itemf callback now never get context NULL passed in,
  rather a fixed list of enum items are defined which should contain
  all items (if possible), from which the _itemf callback can then use
  a subset.
2009-10-14 19:19:43 +00:00
4ef0ef1927 added mesh mirror flag, now store this per mesh
button in mesh interface
also dont register operators that change context
2009-10-14 14:28:05 +00:00
3b805af8af Various warning fixes 2009-10-13 19:02:30 +00:00
edfe78aec9 Context operators for adjusting context values directly to avoid adding operators for adjusting single values which also need duplicate notifiers.
wm.context_set(path="scene.tool_settings.someattr", somevalue)
wm.context_toggle(path="scene.tool_settings.somebool")
wm.context_toggle_values(path="scene.tool_settings.some_enum", value_1="somevalue", value_2="othervalue") # switch between 2 values
wm.context_cycle_enum(path="scene.tool_settings.some_enum", reverse=False)

the path value is taken from the context so the full path is 
context.scene.tool_settings...

This means in keymaps you can cycle draw modes, change PET- anything with rna access.
If its not so nice to map keys to operators like wm.context_set we could use macro's to wrap it and have its own name

Use this for PET and setting pivot options

- Made userpref key shortcut Ctrl+Alt+U since its not used in 2.4x
- added pivot_point_align (Alt+Comma)
- added PET wasnt rna wrapped correctly.
2009-10-13 15:30:19 +00:00
8f25c0a799 moving textures up and down didnt move the material flag, made editmesh skin Ctrl+Alt+F 2009-10-13 08:55:11 +00:00
d2e1e0d2a9 remove C specials menus, reuse python ones from the header menu instead. 2009-10-12 21:06:03 +00:00
b5f820cd87 added rna api MVert,MFace & MEdge index properties
eg.
 for v in me.verts: print(v.index)

added calc_edges as an option eg.
  mesh.update(calc_edges=True)

This is needed when adding faces to an existing mesh which create new edges.
2009-10-12 19:34:58 +00:00
e36003e8e7 macro's can set options for the operators they execute
changed extrude, rip and duplicate to disable proportional editing however this gives a different problem now.
Commented in transform.c
 // XXX If modal, save settings back in scene

this changes disables the option whenever the macro used used.
2009-10-12 12:54:08 +00:00
6b652ca543 realized some parts of the code might use screen/vert projection on instance objects which dont use the object matrix normally.
moved functions outside *_foreachScreen' funcs into their callers (mainly selection tools)
2009-10-11 20:32:25 +00:00
84172b31b5 remove OB_RADIO, added function by mistake 2009-10-11 20:03:55 +00:00
dff1738765 bugfix for exitmode verts being unselectable. caused by view3d_project_short_clip/noclip being used by selecton code outside of object drawing (which isnt supposed to happen according to view3d_project_short_* comments).
Deal with this by adding ED_view3d_init_mats_rv3d(ob, r3d) which initialized the region mat's and is used in mesh_foreachScreenVert, mesh_foreachScreenEdge etc.
2009-10-11 19:57:56 +00:00
efed73598f Use OB_MODE_EDIT as a flag everywhere, also fixed a typo which made drawing the set-scene not work right. 2009-10-11 19:06:38 +00:00
fc44a97b73 adding a cone didnt work 2009-10-10 23:15:52 +00:00
a3f6b0ed00 - add torus back from 2.4x as an operator
bpy.ops.mesh.primitive_torus_add(major_radius=1, minor_radius=0.25, major_segments=48, minor_segments=16)

- experemental dynamic menus, used for INFO_MT_file, INFO_MT_file_import, INFO_MT_file_export and INFO_MT_mesh_add. these can have items added from python.
eg.

- removed OBJECT_OT_mesh_add, use the python add menu instead.

- made mesh primitive ops -  MESH_OT_primitive_plane_add, ...cube_add, etc. work in object mode.

- RNA scene.active_object wrapped

- bugfix [#19466] 2.5: Tweak menu only available for mesh objects added within Edit Mode
  ED_object_exit_editmode was always doing an undo push, made this optional using the existing flag - EM_DO_UNDO, called everywhere except when adding primitives.
2009-10-10 21:23:20 +00:00
f9bb4e3195 * Added Grease Pencil Operator buttons to the Toolshelf
* Cancelling loopcuts with EscKey or RMB now works again.
2009-10-09 23:34:52 +00:00
e5d61c7f41 Bugfix: separate mesh did not preserve UV/Color layers. 2009-10-09 21:45:14 +00:00
5c867406aa menus are now global (like operators), so for eg, the info add menu and the 3D add menu can be shared. 2009-10-08 19:06:32 +00:00
3ebd58673f Key Configuration
Keymaps are now saveable and configurable from the user preferences, note
that editing one item in a keymap means the whole keymap is now defined by
the user and will not be updated by Blender, an option for syncing might be
added later. The outliner interface is still there, but I will probably
remove it.

There's actually 3 levels now:

* Default builtin key configuration.
* Key configuration loaded from .py file, for configs like Blender 2.4x
  or other 3D applications.
* Keymaps edited by the user and saved in .B.blend. These can be saved
  to .py files as well to make creating distributable configurations
  easier.

Also, user preferences sections were reorganized a bit, now there is:
Interface, Editing, Input, Files and System.


Implementation notes:
* wmKeyConfig was added which represents a key configuration containing
  keymaps.
* wmKeymapItem was renamed to wmKeyMapItem for consistency with wmKeyMap.
* Modal maps are not wrapped yet.
* User preferences DNA file reading did not support newdataadr() yet,
  added this now for reading keymaps.
* Key configuration related settings are now RNA wrapped.
* is_property_set and is_property_hidden python methods were added.
2009-10-08 18:40:03 +00:00
ff07676b40 bring back automerge - [#19538] automerge editing doesn't work 2009-10-08 15:50:42 +00:00
8f154364f2 separate material lost all materials for the new mesh 2009-10-08 09:22:39 +00:00
93b5375ca1 Making new faces (fkey, scanfill etc) didnt create faces with the active material.
Keep the editmesh material and active material in sync
2009-10-07 15:16:08 +00:00
dfe7cde9f1 - rna path lookup crashed if the string was null (reported by Cessen with an empty driver)
- added TexMesh access ([#19505] Missing option : TexMesh)
- Ctrl+Tab works again, not-so-nice workaround, disallow switching to paint modes from editmode, but would be nicer to manage this with keymaps.
2009-10-07 09:23:29 +00:00