Commit Graph

56 Commits

Author SHA1 Message Date
ff07676b40 bring back automerge - [#19538] automerge editing doesn't work 2009-10-08 15:50:42 +00:00
b1d4d75aab brought back edge slide. 2009-09-22 08:41:03 +00:00
e03b8b7be7 loopcut tool. hold down ctrl-r, then leftclick. due to current limitations on operator design, there isn't any built-in edge sliding to this tool. 2009-09-16 09:55:06 +00:00
e903632c10 after some discussion, this is the replacement for the old loopcut tool: edge ring select displays a preview of the edge ring, and you can move the mouse with ctrl-alt held down and change the edge ring selection. 2009-09-13 16:15:26 +00:00
0aebd5f144 2.5: Make shade smooth/flat operators consistent,
and add object mode operators.
2009-07-21 00:36:07 +00:00
51ae88aa3b 2.5: Mesh and Various Fixes
* 3D view Mesh menu works again, but incomplete.
* Add Properties and Toolbar to 3D View menu.
* Added "specials" menus back, vertex/edge/face and general.
* Various fixes in existing mesh operators, some were not working.
* Add MESH_OT_merge.
* Merge all subdivide ops into MESH_OT_subdivide, subdivide code
  changes to make smooth + multi give good results.
* Rename all select inverse ops to *_OT_select_inverse.
* Fix "search for unknown operator" prints at startup, and some
  warnings in py code.
* Don't run .pyc files on startup.
* Remove unused image window header C code.
2009-07-08 21:31:28 +00:00
eacb31dbb2 2.5: code consistency
* Rename BIF_transform/retopo.h to ED_transform/retopo.h
  for consistency.
* Move MESH_OT_duplicate_add to editmesh_add.c.
* Remove some code from BIF_gl.h which is not needed there
  anymore.
2009-07-08 16:17:47 +00:00
5e749af429 2.5: Various Fixes
* Context panel now draws without header, with arrows, no scene name.
* Softbody vertex group search popup.
* Improve names for autogenerated shortcut keys in menus.
* Make most Select menus in the 3D view header work.
* Fix armature border select selection syncing.
* Add POSE_OT_select_constraint_target,
  MESH_OT_select_by_number_vertices, MESH_OT_select_vertex_path.
* Merge mesh select similar into one operator.
* Don't give MESH_OT_select_random Space hotkey.
* Add DAG_object_flush_update to many mesh edit tools, not calling this
  will crash with modifiers.
* RNA_def_enum_funcs for dynamic enums in operators, but not very useful
  without context yet.
* Fix refresh issue with image window header + editmode.
* Fix drawing of shadow mesh for image painting.
* Remove deprecated uiDefMenuButO and uiDefMenuSep functions.
* Remove keyval.c, code is in wm_keymap.c already.
* Rename WM_operator_redo to WM_operator_props_popup.
2009-07-08 15:34:41 +00:00
421f44278c 2.5: Lists for vertex groups, shape keys, uvs, vertex colors.
RNA
* Added the relevant active_*_index properties, with proper
  get/set/range, updates and notifiers.
* Context.tool_settings.
* ToolSettings.vertex_group_weight.

Operators
* MESH_OT_uv_texture_add/remove
* MESH_OT_vertex_color_add/remove
* MESH_OT_sticky_add/remove
* OBJECT_OT_vertex_group_add/remove/assign/remove_from/
  select/deselect/copy/copy_to_linked
* OBJECT_OT_shape_key_add/remove

UI
* Some updates and cleanups in list template code.

Known issue: when going in & out of editmode, uv textures and vertex
colors dissappear. I thought me->edit_mesh would be NULL when not in
edit mode but it is not?
2009-07-01 22:25:49 +00:00
2d40b8d56f 2.5
Added SpaceLogic, to restore the old logic buttons into.
In future it can be used for a more advanced logic editor, with
states, behaviour, whatever. We'll see!

This commit only adds the backend for new space. Committed this
now as reference for when we need another space type. It's still
not well plugin-able (dynamic space types), but my idea is to just
have a new SpacePlugIn for this, with a neat small API to define
all relevant callbacks.

Also note the icon for the spacetype is wrong still.
2009-06-16 13:09:36 +00:00
41dd360420 2.5: Operator naming, reviewed some of the recent changes
by Shaul, did some minor tweaks.
2009-04-15 15:40:31 +00:00
17814e8bf1 editmesh_tools.c op name change 2009-04-12 17:54:07 +00:00
0780269f13 editmesh_mods.c op names change 2009-04-12 17:43:43 +00:00
5bdd541f0c op names change 2009-04-12 17:28:16 +00:00
931527e648 - use clear, set, add, enable, disable and toggle as a prefix in operator names
- use select as a suffix eg UV_OT_loop_select -> UV_OT_select_loop
- Each select all operator was using slightly different wording...
  select_all, deselect_all, de_select_all, select_de_select_all -> select_all_toggle

- selection -> select
- POSE_OT_select_connected -> POSE_OT_select_linked to match other operators
- NODE_OT_delete_selection -> NODE_OT_delete since its not used in other operators
- ANIM_OT_previewrange_define -> ANIM_OT_previewrange_set to match other operators
- NODE_OT_fit_all -> NODE_OT_view_all to match other operators
- View2D_OT_* -> VIEW2D_OT_* to match VIEW3D
- View2D_OT_view_downscroll -> VIEW2D_OT_scroll_down more logical
- removed MARKER_OT_mouseselect_extend and made extend a boolean property of MARKER_OT_mouseselect
- MARKER_OT_mouseselect -> MARKER_OT_select
- GROUP_OT_group_remove -> GROUP_OT_objects_remove more logical since its removing objects from groups
- MESH_OT_removedoublesflag -> MESH_OT_remove_doubles
- redundant words MESH_OT_split_mesh -> MESH_OT_split,  OBJECT_OT_object_delete -> OBJECT_OT_delete

renamed selection operator properties
 extend_select -> extend
 column_select -> column
 select_children_only -> children_only
 ... Since these are all in the context of selection operators there is no need for the extra 'select' in the property name.
 
Updated docs
http://www.graphicall.org/ftp/ideasman42/html/bpyoperator-module.html
2009-03-29 02:15:13 +00:00
2cb5af58a6 2.5
- Mesh Rip back (Vkey). For those who keep wondering how
  it works: just put mouse cursor somewhere close to the
  selection, press V and mouse mouse away from it. Feels
  like real rip!

- Made extrude sorta work, no menu/options yet though.
  But it does transform!

- Added an short event->mval[2] with region coords, 
  easier coding for the guys :)

- Fill operator standard delivers 'beauty' now
2009-02-19 19:03:53 +00:00
d00b18c718 working yet preliminary (like everything) screw mesh. in irc there was a discussion about setting the screw axis outside of the function, but someone else should do that. 2009-02-18 03:01:45 +00:00
312c822945 spin mesh is alt Rkey - ton, please check and advise regarding screw_mesh and defaults. F3 fails while pressed continuously 2009-02-16 20:04:01 +00:00
a0fada6f18 added error reporting to edit mesh 2009-02-14 21:31:34 +00:00
283926aa2d 2.5: UV Editor module porting pretty much finished now, only missing
still is mirror transform. This commits adds the remaining operators:

* UV mapping operators (U key menu): cube, sphere, cylinder, etc.
* Hide/Show operators.

And solves most XXX's, including:

* Fix bad includes and calls into space image.
* Aspect ratio correction.
* Create UVs if they don't exist yet on unwrap.
* Assign image to UVs.
* Drawing proportional edit circle.
2009-02-09 20:58:31 +00:00
608e6f1d3e edit_tools ops - starting from 4key up to 8key, ctrl and alt. ton: please check if working (especially uv and color functions) 2009-02-07 23:20:36 +00:00
d28a05080c 2.5
Edit Mesh: Knife Cut back.

I've put it for now under ALT+CTRL+LMB, modeless direct cutting.
Options for polyline input and snapping is for later. At least
this works cool :)
2009-02-07 15:44:16 +00:00
61a6e1957a flip_editnormals is back, alt+3key 2009-02-05 01:32:37 +00:00
407731e9ba mark and clear seam, set and unset sharp and vertex smoothing is now ctrl/alt 1, 2 and 3 - still a bit vague of op naming 2009-02-04 02:58:21 +00:00
548735433f Fix for select multi loop commit, probably missed this file. 2009-02-02 19:59:22 +00:00
dce3c08b2c made some mesh operator names and values more consistent with object mode + other minor changes.
- percentage -> percent, and always a float.
- renamed selectconnected to select_linked
- removed _mesh prefix for MESH_OT_* operators.
- renamed select_swap -> select_invert (matching object and sequencer operators)
2009-02-01 12:40:27 +00:00
b3c3af2156 - Converted mesh face popup menu to use brecht's toolbox function (like the image view toolbox)
Rather then having a hard coded popup menu with events that call other operators exec functions, operator names are given to the toolbox where it displays the operator name and shortcut.
This means the real operator is registered rather then the one that called it.

Im not sure about the location for the operator though, at the moment its called VIEW3D_OT_editmesh_face_toolbox() in view3d_header.c since the image editor toolbox is in the header file too.
In a way it makes sense because this menu should eventually be in the header.
- Change shortcut to Ctrl+F as it is in 2.4x

- Added a number of operators that were not being registered - MESH_OT_fill_mesh, beauty_fill, convert_quads_to_tris, convert_tris_to_quads, edge_flip, mesh_set_smooth_faces, mesh_set_solid_faces

- Renamed redundant MESH_OT_mesh_set_smooth_faces() to MESH_OT_faces_shade_smooth(), same for solid.
2009-02-01 04:22:18 +00:00
2755d48d4e - Change 2 operators from using int properties into enums.
- Renamed MESH_OT_mesh_selection_mode_menu to MESH_OT_mesh_selection_type since the operator doesnt have to be accessed from a menu.

Shaul, you might want to look over this, using enums means WM_menu_invoke can be used instead of writing an invoke function for each operator.

Added error messages to WM_menu_invoke if no enum "type" property is found.
2009-02-01 02:37:12 +00:00
75f7f1f21a edit mode selection menu - ctrl+shift+tab 2009-02-01 01:04:00 +00:00
744d3283e3 vert to sphere - S + ctrl + shift keys 2009-02-01 00:18:45 +00:00
306b3de751 selectrandom mesh , temp using space key 2009-01-31 23:57:04 +00:00
59534ac589 2.5
Edit Mesh
Added the two other 'select similar' ops, for edge and face.

For testing fun I've put these ones as first keys using the
modifier order feature. So it's now:

SHIFT+G :     similar vertex
CTRL+SHIFT+G: similar edge
SHIFT+CTRL+G: similar face

Not very useful here; but I think this can work well to map
a double amount of options under mouseclicks. Power user 
config stuff!
2009-01-31 16:54:37 +00:00
db2bb765f9 2.5
Edit Mesh

- "Select Similar" for vertices back.
  (Put under Jkey for now)
- renamed operator righthand_faces to consistant_normals
  gave it boolean property for 'inside'.
2009-01-31 15:21:26 +00:00
86a2a0f694 2.5
Edit Mesh:

- Added back "Edge Shortest Path select"
  It now also does regular selection, more fun! 
  It's mapped to CTRL+click now, and makes or clears selections 
  between current and previously activated edge.
  Seam/Sharp/etc marking is a toolsetting mode still. These
  options cannot become properties easily, because the tool
  uses the properties of selected edge to clear...

- Removed a whole bunch of G.f flags, related to mesh drawing.
  It's all now local in me->drawflags. Here's the list of
  removed old globals:

G_DRAWEDGES
G_DRAWFACES
G_DRAWNORMALS
G_DRAW_VNORMALS

G_ALLEDGES
G_HIDDENEDGES

G_DRAWCREASES
G_DRAWSEAMS
G_DRAWSHARP
G_DRAWBWEIGHTS

G_DRAW_EDGELEN
G_DRAW_FACEAREA
G_DRAW_EDGEANG
2009-01-31 13:30:56 +00:00
5ed79ee9d9 make and clear fgon MKEY and shift+MKEY. ton: please check, it doesn't do what it should right now 2009-01-31 03:23:41 +00:00
05e04c5e45 delete menu is back DKEY. seperating may be needed to delete_mesh 2009-01-31 02:31:58 +00:00
a7b0df894e 2.5
Edit Mesh: Fkey back, add edge-face or fill 'edge net'
Make fgon will be different operator.
2009-01-30 19:14:50 +00:00
30ee0806fb 2.5
Edit Mesh Loop select back; 
the versions with ALT+Select (edgeloop) or with
ALT+CTRL+Select ('ring'). Hold shift for extend.
2009-01-30 18:53:54 +00:00
480be71514 2.5
- Edit mesh: Add ctrl+click add vertex or extrude.
  I've made it not move the 3d cursor in that case.

Also found out tweak events conflicted with existing
keymap definitions; on tweak failure (= no mousemove) 
it now passes on the mouse event as 'mouse down' for 
the remaining keymaps to check.
These then actually respond to mouse-up instead of down...

The location in the keymaps where tweaks get generated
remains important. Examples:

1 - 'select' mouse-handler, operator return pass-through
2 - tweak handler checks, and makes tweak event
3 - grabber responds to tweak event

1 - ctrl+mouse tweak handler checks, makes tweak event,
    or passes event on
2 - if tweak event, it runs lasso
3 - else when passed on, ctrl+click extrude happens

In the first case, select works on mouse-down, immediate.
In the second case, extrude happens on mouse-release, even
though the keymap defined mouse-press.

This will make designing nice balanced keymaps still not
simple; especially because you can't tell operators to
pass on the key... although we can add the convention that
select-mouse operators always pass on to enable tweaks.

Still a good reason to wait with custom keymaps
when this is fully settled!
2009-01-30 18:18:41 +00:00
b50ef7af14 2.5
Edit mesh: Separate options back. Use SHIFT+P for it, PKEY has been
stolen! :)
2009-01-30 15:01:14 +00:00
3e6b5804fd editmesh face menu back, ctrl-pkey 2009-01-24 22:21:12 +00:00
b7f0add801 remove doubles op, ton: is this working properly? 2009-01-23 03:07:07 +00:00
33ab2636df subdivides are now grouped in a menu - WKEY 2009-01-19 18:36:54 +00:00
e6b8687237 added ops for subdivide, subdiv multi, subdiv smooth, subdiv fractal 2009-01-16 04:48:33 +00:00
2784d5b995 2.5
- Finished adding primitives in Mesh editmode. 
  For test pleasure: hotkeys CTRL 0-9 add them.

More fun for testers: 
 
- F3: gives menu of all registered ops. You can use
  it too, it then execs it again, and makes it the
  last executed operator.
  
- F4: executes last registered operator without menu.
2009-01-15 18:28:40 +00:00
237cd7a7a7 2.5
- Depricated another bunch of globals; all the totobj,
  totmesh, totvert, and so on.
- All code that needs such totals now count it themselves,
  these stats were not supposed to be reliable
- Editmesh now stores and manages own totals.
- Todo: make a scene->stats that tracks notifiers.

Bugfix: selecting failed in editmesh, backbuffer stuff was
too late, already using index ranges before it was set.
2009-01-15 15:01:39 +00:00
52135dd4fa 2.5: Space Image ported back
Organized as follows:

uvedit/
	uv editing related code
	uvedit_draw.c: drawing code
	uvedit_ops.c: operators, just a few done
	uvedit_unwrap_ops.c: will be operators for unwrapping
	uvedit_paramatrizer.c: lscm/abf/stretch/pack

space_image/
	space_image.c: registration and common getter/setters
	image_draw.c: drawing code, mostly functional
	image_panels.c: panels, all commented out
	image_render.c: render callbacks, non functional
	image_ops.c: operators, only view navigation done
	image_header.c: header, menus mostly done but missing buttons

Notes:
* Header menus consist only of Operator and RNA buttons, if they
  are not implemented they're displayed grayed out. Ideally the full
  header could work like this, but std_libbuttons looks problematic.

* Started using view2d code more than the old code, but for now it
  still does own view2d management due to some very specific
  requirements that the image window has. The drawing code however
  is more clear hopefully, it only uses view2d, and there is no
  switching between 'p' and 'f' view2d's anymore, it is always 'f'.

* In order to make uvedit operators more independent I move some
  image space settings to scene toolsettings, and the current image
  and its buffer is in the context. Especially sync selection and
  select mode belonged there anyway as this cannot work correct with
  different spaces having different settings anyway.

* Image paint is not back yet, did not want to put that together with
  uvedit because there's really no code sharing.. perhaps vertex paint,
  image paint and sculpt would be good to have in one module to share
  brush code, partial redraw, etc better.
2009-01-15 04:38:18 +00:00
18b1bc88f7 edit mesh primitives: ctrl+1 to ctrl+6. monkey does not show and tube,cone and cylinder show with problems 2009-01-15 03:05:19 +00:00
029bbb3489 2.5
Editmesh: add primitive basics back. Had to clean up a load of
crap there... but it's sorta in control, so I think Shul can
pick it up again.

Test: ctrl+0 adds plane, or ctrl+9 adds grid.

Notes for Shul:
- i've added a transform function, which gets correctly passed
  on to the add_prim function, should work for all object 
  transforms. Only the code inside add_prim might be needed
  to check (it uses 4x4 mat now, not a 3x3)

- The old code with buttons has been ifdeffed out, check for
  user input and make it rna properties, which get read
  in the exec(), and handed over to the add_prim. Set them
  default now to the values from old buttons.

- Operator naming is preferred lower case, I gave this
  a new name.

- check a bit on formatting code, but don't use the old code
  as example! Look also at ED_keymap_mesh() for example.
2009-01-14 19:26:11 +00:00
d8a269541f edit mesh operators for edit mesh view 2009-01-13 02:09:58 +00:00