Commit Graph

13777 Commits

Author SHA1 Message Date
Joseph Eagar
1bc67f36d6 Created a printf-style method of calling operators. I did this to cut down on duplicated
code, and also because calling operators was such a pain.  The basic form of the format
is "opname %[code]", where each % matches to an argument.

The codes are fairly simple:
 d - int
 i - int
 f - float
 h[v/e/f] - all verts/edges/faces with a certain header flag.
 f[v/e/f] - all verts/edges/faces with a certain flag.

For example:

  EDBM_CallOpf(em, op, "dissolveverts %hv", BM_SELECT)

will call the dissolve verts operator.

The relevent functions are:
//calls a bmesh operator, doing necassary conversions and error reporting.
int EDBM_CallOpf(EditMesh *em, struct wmOperator *op, char *fmt, ...);

//execute an operator
int BMO_CallOpf(BMesh *bm, char *fmt, ...);
//initializes but doesn't execute an op.
int BMO_InitOpf(BMesh *bm, BMOperator *op, char *fmt, ...);
//vlist version of above.
int BMO_VInitOpf(BMesh *bm, BMOperator *op, char *fmt, va_list vlist);

Note this system is dependant on getting the slot codes from the argument
order.  I'd like to make it better, possibly pass in slot names, but that'd
mean actually giving the slots names (which I can do, but wanted to discuss with
Briggs and others what I have now first).
2009-03-02 04:08:24 +00:00
Joseph Eagar
3faf2b6db7 more tweaks to triangulator. also added a bmeshutils.c file in editors/mesh for ui-related bmesh functions. and made delete only faces use the bmesh del operator, so it can handle ngons. 2009-03-02 02:21:18 +00:00
Joseph Eagar
68341862dd made triangulator produce less nice triangulations for speed. hopefully I've not relaxed the angle requirements too much. I realized that, at least for tesselating ngons it doesn't help uch to have pretty triangulations, you'll still have all the interpolation problems and whatnot. 2009-03-01 09:12:34 +00:00
Joseph Eagar
d122aea865 coded little vert connect tool. connects selected verts within the same face. currently integrated with fkey, along with the simple face merge tool I made too. 2009-03-01 08:02:28 +00:00
Joseph Eagar
34dcf5fca2 adding files from merge. 2009-03-01 06:47:11 +00:00
Joseph Eagar
30313645b0 Split dissolve_disk into dissolve_vert and dissolve_disk as agreed.
also made dissolve vert bmop use the error api, and put in some code 
to report it to the user in the xkey ui code.

Need to make a file in editors/mesh for client code utility functions for 
bmesh, like e.g. reporting bmesh errors to the user, handling conversion 
more automatically, etc.
2009-03-01 06:36:16 +00:00
Joseph Eagar
8be2a86ce1 split dissolve_disk into dissolve_vert dissolve_disk as agreed. also made dissolve vert bmop use the error api, and put in some code to report it to the user in the xkey ui code. I'm not sure how this should work; I don't think we can have utility code in bmesh/ for reporting errors to the user, so it'll have to go in editors/mesh somewhere. 2009-03-01 06:23:22 +00:00
Joseph Eagar
e65eca86ac yay tesselator is behaving. seems to work ok now. it's kindof slow, would be worth investigating faster methods someday, also get briggs more elegant method to work. but don't want this to be a time sink. 2009-03-01 01:03:52 +00:00
Joseph Eagar
99919b1714 merge with trunk. also tried to fix tesselator code; new code should've worked, but there's still some problems, possibly not in the tesselator code entirely. also still have reverted tools/Blender.py since scons still isn't fixed, heh. 2009-02-28 12:49:18 +00:00
Joilnen Leite
badbba7266 Making y2 for File the same that Add Timeline etc 2009-02-28 07:45:16 +00:00
Campbell Barton
71cedc8c1b Running the OBJECT_OT_mesh_add operator outside the 3d view would crash. 2009-02-27 21:27:03 +00:00
Diego Borghetti
b992a449f1 Restore the #if around the ui_module declaration, this made compiled fail
with python 2.5 (< 3.0).
2009-02-27 14:10:44 +00:00
Campbell Barton
66c2f1c2a3 added defAutoButR() and blockSetFlag() and some flags for the experimental python UI, which just wraps C the functions. 2009-02-27 10:22:40 +00:00
Campbell Barton
b49b02842a update to build with python 3.0.1 which removed Py_InitModule3, added richcompare functions to the operator api. 2009-02-26 05:50:19 +00:00
Brecht Van Lommel
9ac7c8e91a 2.5: Particle edit mode more functional now. Transform, brush
editing, paint cursor, radial control, mouse/border/circle/lasso
select, mirroring, bad level calls fixed, etc.
2009-02-25 19:29:58 +00:00
Ton Roosendaal
c3078c94fb 2.5
SHIFT+A add armature didn't add a bone yet. :)
2009-02-25 14:50:40 +00:00
Ton Roosendaal
c0a6cb950d 2.5
Four new operators for Armature editmode, by Arystan D.

- Extrude (Ekey)
  Extrude forked (shift-E when mirror on)
- CTRL+click extrude
- Delete selected (Xkey)
- Duplicate (shift-D)
2009-02-25 13:48:39 +00:00
Joshua Leung
f58b4eedca Animato Conversions:
Action Channels (for bones only) are now converted to the new Action Groups, restoring expand/collapse functionality for these, which was quite helpful.
2009-02-25 11:26:16 +00:00
Joshua Leung
e6b05abd00 Outliner/Datablocks view: IKEY/Alt-IKEY Hotkeys work for Inserting/Deleting keyframes via KeyingSets 2009-02-25 10:55:03 +00:00
Joshua Leung
3767070c8a Anim-Channel Filtering: If an object only has animation-data attached to one of its Material datablocks, they will now get included too.
This makes it possible to edit keyframes for material animation where no object-linked animation exists. However, this is provided that the material is linked to an object!
2009-02-25 10:27:08 +00:00
Ton Roosendaal
fc070ca31c 2.5
Bugfix in compositor: code that duplicated the nodetree and merged
viewer images back lacked handling the case when a viewer was not
set active yet.

This fixes eternal loops in compositor after removing Viewers.
2009-02-25 09:54:41 +00:00
Ton Roosendaal
669dd229f4 2.5
Bugfix: commit of last week that moved object_handle_update() out
of the view3d code into event loop caused render to crash. This
update should not be called during render. In future it'll even
be thread-locked or better; solved by giving objects an 'owner'
for storage of updates.

This solves a lot of crashes on render.
2009-02-25 09:36:25 +00:00
Kent Mein
d9862517fb Added return statements to a couple of functions that didn't have
them and removed an extra ;

Kent
2009-02-24 16:51:55 +00:00
Joshua Leung
c2145c67e8 Made animation-editor copy/paste operators use reports-api for reporting errors instead of console prints. 2009-02-24 11:23:04 +00:00
Joshua Leung
57cf62745f DopeSheet/Graph Editors: Restored Copy/Paste operators
The channel-matching code when pasting still needs improvements to work really nicely...
2009-02-24 11:18:24 +00:00
Nicholas Bishop
b46128d7b1 Added rna timeline to cmake build 2009-02-24 03:14:57 +00:00
Roland Hess
03ce51bb89 Gave RNA to timeline markers. Updated both Scene and Action RNA for standard and pose markers. 2009-02-24 03:06:23 +00:00
Ton Roosendaal
b9ecc4962b 2.5
Weightpaint could crash, wrong check for editmode mesh.
2009-02-23 17:30:00 +00:00
Ton Roosendaal
576cb47945 2.5
Added more strict poll() to radial control for texture paint.
I'd advise to use wherever possible G.f checks in the polls for now, 
easier to get this solved later.
2009-02-23 16:31:58 +00:00
Roland Hess
8416db896c ADR_CODE conversion done for particle systems. Fixed typo in particle rna. 2009-02-23 14:55:23 +00:00
Joshua Leung
ce5428cf4a Graph Editor: Tweaking the drawing of the channel colours for F-Curve channels.
I'm not happy with this yet, but it seems a reasonable compromise. There is a commented-out method included here too.
2009-02-23 06:22:47 +00:00
Nicholas Bishop
ee49a9596c brought back the sculpt buttons in the NKEY panel 2009-02-22 22:00:35 +00:00
Nicholas Bishop
674aae36b6 * Added radial control for texture paint (in both view3d and image)
* bugfix: for older files, initialize the brush curve on file load
2009-02-22 19:31:25 +00:00
Joshua Leung
7c8d98acb8 Animation Editors: Drawing stuff
* Added basic panels (Info, Drivers - where applicable, Modifiers) for editing active F-Curve/driver in Graph Editor. The buttons layouts here are really really rough, and have only got a few buttons to be sufficient for debugging purposes. Unfortunately, I don't have time to tweak these nicely now. 

* Fixed indention errors with Action Groups used in Material actions

* Changing mode in the Graph Editor now recalculates colours
2009-02-22 09:30:18 +00:00
Joshua Leung
5d7b27144f Animation Editors: Added Tab-Key to toggle editability of selected channels.
Ton - Currently, I've had to add a new operator to set this, since it is not possible to specify via keymaps whether the invoke or exec should be called by default for an operator. 
(See corresponding mail on 2.5 mailing list for details about this)
2009-02-22 05:55:37 +00:00
Joshua Leung
cfe7aadec4 Graph Editor: Selecting F-Curve channels + keyframes now sets active F-Curve correctly. 2009-02-22 05:34:47 +00:00
Joshua Leung
874f8008a2 Animation Editors: Bugfixes for channel selection tools
* Ctrl-Shift select for Action Groups works again
* Clicking on a channel's data will select it, and also make it the active one in the list now
* Selecting keyframes in F-Curves will select the F-Curve channel too now (+ make it active)
2009-02-22 04:13:29 +00:00
Ton Roosendaal
f2f734c9a5 2.5
View3D: background image buttons back. Again nice
to use blend or size or other sliders for live
updates. :)

Note that 'load' doesnt work yet, the operator for
image load only does space-image now.

Also note that with a built-in 4-split option, we
can also encode a way to show 3 different pics.
2009-02-21 19:17:31 +00:00
Brecht Van Lommel
93c367dc29 2.5: fix for last commit, for case sensitive OSes. 2009-02-21 18:43:28 +00:00
Ton Roosendaal
95fffbb57f 2.5
Useful goodies: most buttons for Image window back.
Not every button works! But what you can do:

- press Nkey to show/hide options
- use curves, with realtime updating
- image properties panel, load, browsing layers,
  setting types
- paint panel
- plus new paint color picker panel! (why it wasn't
  there in 2.4x is probably obvious, but now it can!)

Hrm... radial control should be added here too, and a nice
paint size cursor?
2009-02-21 18:33:09 +00:00
Ton Roosendaal
f9ab4481ab 2.5
Support for listview/buttons region in ImageWindow.
Now all code is in this commit :)
2009-02-21 15:31:01 +00:00
Joshua Leung
59b44cda51 Graph Editor: NKEY panel - added code to retrieve 'active F-Curve'
Currently, this is just used to print the 'name' of the active F-Curve in a panel for verification purposes. This is the recommended way of getting this info.
2009-02-21 11:22:06 +00:00
Joshua Leung
a9654c3e6a Graph Editor: Started adding the missing NKEY panel stuff
Only a dummy pannel for now. I'll add some basic examples of relevant buttons + ways to use them soon.
2009-02-21 10:38:58 +00:00
Joshua Leung
87bdbab544 * Added back 'Insert Key' operator for DopeSheet editor
* Fixed button spacing problems in TimeLine
2009-02-21 05:04:12 +00:00
Nathan Letwory
64dd45ef43 2.5 / Scons | Building on 64bit Windows
* add preliminary support for building Blender on 64bit Windows with _msvc_. The SConstruct should automatically detect if you are on a 64bit Windows and if you have that 64bit build is assumed. If you're not, 32bit build is assumed.
  NOTE: this is still very much wip, so your mileage may vary. Do please report on b25 taskforce ML in case of trouble.
  NOTE2: many of the libs are being linked in statically
  NOTE3: hopefully I didn't break anything for other build platforms (mingw, linux, osx).
  NOTE4: comes after NOTE3
2009-02-20 22:08:02 +00:00
Brecht Van Lommel
d56fd6d4ce 2.5: Fix build temporarily, seems there was a file missing
in the graph properties panel commit. Ton, please check.
2009-02-20 20:43:22 +00:00
Brecht Van Lommel
ebd2b1212d 2.5: Particle Edit, work in progress commit.
* Still incomplete and some operators don't work, refresh issues, etc.
* Made Hide/Reveal operators consistent for various modes.
2009-02-20 20:39:27 +00:00
Ton Roosendaal
39c2b438a9 2.5
Graph Editor: added region for buttons (properties), so we can
check drivers again! Works like view3d, press NKEY. No buttons
there yet though... no time anymore today, it'll require some
RNA magic probably.
2009-02-20 19:11:35 +00:00
Nathan Letwory
cdf70e0f84 2.5 - temporary hack hack
#if 0 main body of EdgeSlide for now - 64bit msvc compiler chokes on it.
 - added a goto line combo to make the function complete.
2009-02-20 18:36:27 +00:00
Ton Roosendaal
be5cd1596d 2.5
View3d: 

- using layerbuttons in header allows SHIFT for extend
- added operator for layer hotkeys, works as for 2.4x
2009-02-20 18:01:33 +00:00