Commit Graph

15964 Commits

Author SHA1 Message Date
Joseph Eagar
209db3a64c merge with 2.5 at r18948 2009-02-13 03:27:03 +00:00
Joshua Leung
ed7e211c2d KeyingSets: Fixing crash when adding KeyingSets and no group name is supplied 2009-02-12 23:25:36 +00:00
Joshua Leung
c5d8155aeb Compilation fix: added missing ; 2009-02-12 22:24:51 +00:00
Brecht Van Lommel
763a98f4c0 2.5: Most curve/surface editmode operators back:
* Hide, Reveal
* Separate, Duplicate, Delete
* Set Weight, Set Radius, Set Spline Type, Set Handle Type, Set Smooth
* Tilt, Clear Tilt
* Smooth, Smooth Radius
* De(select) First, De(select) Last, De(select) All, Select Inverse,
  Select Linked, Select Control Point Row, Select Next, Select Previous,
  Select More, Select Less, Select Random, Select Every Nth
* Switch Direction, Subdivide, Make Segment, Spin, Extrude, Toggle Cyclic
* Specials Menu

Not working correct yet:

* Add Vertex (ctrl click)
* Add Menu
2009-02-12 22:12:21 +00:00
Joseph Eagar
1773084201 made extrude properly delete unneeded geometry 2009-02-12 18:05:34 +00:00
Joseph Eagar
01a12fa553 Replaced unified extrude edges/faces code (the stuff specificaly for
edges/faces,extrudeflag_edgess, not the entire extrude system) with 
a bmesh version. This stress-tested the operator api, and I had to 
code some new stuff,including:

* An api to iterate over Mapping slots and array slots. It's modeled
  after the normal iterator api.
* The ability to copy mapping slots.
* More mapping functions.
* In addition to being able to flag elements in a buffer,
  you can now unflag them (much clearer then passing in ~flag
  I think).

The extrude edge/faces code has multiple layers.  At the top
level is a funtion in editmesh_lib.c, which takes care of selection,
handles mirror modifiers, etc.  It calls the extrude operator, which
in turns calls split, which calls dupe/del.  Note that split needed
a slot to exclude things from being deleting (e.g. when extruding
a single isolated face).

The basic idea (reflected in original design of split/dupe/del by Briggs)
is to use the split function to do the heavy work of extrude.  split spits
out new geometry and mappings from boundary edges, for extrude (it should
also spit out other mappings, but that's for later).

Briggs: you may want to look over this, hopefully I didn't do anything
too evil.

I probably should spend some time going over the 2.5 mesh operators and
cleaning them up, splitting ones that need splitting, etc, and in general
getting them to work properly.
2009-02-12 16:59:51 +00:00
Joshua Leung
cfa511ab9e Dummy commit...
* Added comment for what needs to be done to get KeyingSets fully functional
* In previous commit, also made group-locking be taken into account when drawing curves as locked
2009-02-12 11:04:08 +00:00
Joshua Leung
4075c60133 KeyingSets: First working prototype
To use KeyingSets, simply Outliner-select items in the Datablocks view and press K to add to the active KeyingSet. Then keyframes can be inserted by choosing the 'Active Keying Set' option when inserting keyframes.

Important notes on the current implementation:
* Only properties directly inside some ID-block that is close to the root (i.e. main -> objects -> "someobj" -> location, or main -> materials -> "somemat" -> colour) can be accessed for now, as I haven't got the code for building the inner-parts of the paths working yet. Help on getting this working is welcome (hint to Brecht).  
* Properties that can be safely included include simple properties "object -> Dupli Verts", entire arrays "object -> Location" or individual array elements "object -> Location -> y"

---

Also added typo fix for KeyingSet freeing. It was freeing the KeyingSet instead of it's paths.
2009-02-12 10:41:57 +00:00
Ton Roosendaal
517d9b882a 2.5
Bugfix: node editor crashed when using bitmap fonts, still had a 
call commented out, happened during migration to get things linked.
2009-02-12 09:18:35 +00:00
Campbell Barton
48594a3a70 own error in last commit. 2009-02-12 06:36:06 +00:00
Diego Borghetti
a150242f8e Commit to continue tomorrow from work. 2009-02-12 05:02:42 +00:00
Campbell Barton
a5f26d4c14 reveil -> reveal 2009-02-12 03:48:56 +00:00
Campbell Barton
b96180ec17 * Added description string to operator types, should be set along with ot->idname when defining ops.
* User interface uses this as a tooltip when NULL or "" is given.
* Python doc generation includes this description 
* Python defined ops take the description as an argument.

* NULL check to image_ops.c, was crashing on exit when there was an image open.
2009-02-12 03:39:56 +00:00
Joshua Leung
12811a096c Graph Editor: Experimental variations of curve display
* Uneditable F-Curves are drawn with dotted lines (and no handles)
* Muted F-Curves are drawn with a greyish colour. I'm not sure how visible this will be under some other colour schemes. Perhaps this needs as separate theme colour?
2009-02-12 01:47:45 +00:00
Joshua Leung
9733eebd60 KeyingSets: More work on preparing the UI
KeyingSets can now be added/removed. Next up, the code for the operators to add items to Keying Sets.
2009-02-12 01:11:29 +00:00
Michael Fox
9ad8f1cf6a 2.5
******
ported selection_invert for both edit armature and pose mode
2009-02-11 23:50:06 +00:00
Brecht Van Lommel
b8e6e01cfd 2.5: Curve edit mode. Transform works again, and editcurve.c is
partly operatorized though nothing hooked up yet.
2009-02-11 23:02:21 +00:00
Brecht Van Lommel
51fc28efc7 2.5: Image window, some small changes:
* Added notifier for edited images.
* Fix main region emboss drawing when showing render.
* Don't go fullscreen with fileselect for now to work
  around context getting lost, so open/replace works.
* Save operators are more complete now, but still lack
  confirmation and choosing image type.
* Pack operators work correctly now (but not unpack).
* Setting white/black point for curves.
* Time cursor for record composite.
2009-02-11 19:16:14 +00:00
Roland Hess
294a3a2b6d One last bit of personal education -- added OPERATOR_CANCELLED on sanity check failures. 2009-02-11 17:46:10 +00:00
Ton Roosendaal
2e79e4e975 2.5
Smaller jobs, all in one commit!

- Moved object_do_update out of view3d drawing, into
  the event system (currently after notifiers).
  Depsgraph calls for setting update flags will have to
  keep track of each Screen's needs, so a UI showing only
  a Sequencer doesn't do objects.

- Added button in "Properties region" in 3D window to set
  or disable 4-split, including the 3 options it has.
  (lock, box, clip)

- Restored legacy code for UI, to make things work like
  bone rename, autocomplete. 

- Node editor now shows Curves widgets again

- Bugfix: composite job increased Viewer user id count

- Bugfix: Node editor, not "Enable nodes" still called
  a Job, which didn't do anything

- Various code cleaning, unused vars and prototypes.
2009-02-11 16:54:55 +00:00
Roland Hess
f3c67b070f First operator done as a test and to get to know the ropes. "Select Parent" in pose mode. Had to move the command to Shift-P, as naked P is taken up by some crazy person's script command. 2009-02-11 16:17:34 +00:00
Brecht Van Lommel
1a039aaf71 2.5: fix crash due to keyingset commit, ot->idname should always be set. 2009-02-11 14:56:35 +00:00
Joseph Eagar
47b8684d0f split and dupe ops now spit out an edge map for finding the edge skirts. still need to implement a mapping for isolated vert splitting. note, this isn't tested. 2009-02-11 12:32:29 +00:00
Joshua Leung
7d3c88772b Keying Sets: Initial commit of skeleton code
When fully implemented, these will be the clearest demonstration of 'Everything is Animateable', as they will allow users to define an arbitary group of settings through selecting items in the Datablocks (RNA-Viewer) View of the Outliner to define custom 'sets'. Such Keying Sets are known as the 'absolute' ones, which are created for a custom purpose.

Of course, 'builtin' Keying Sets will still be provided. Such built-in ones will not work on any particular paths, but will use context info to maintain the legacy method of inserting keyframes (via IKEY menu).

Currently, KeyingSets cannot be created/edited through the UI, though the backend code is in place to do this.
2009-02-11 12:19:42 +00:00
Michael Fox
ba32199b23 2.5
******
-ported (de)select all for editarmature and pose mode
	- please review my loops and notifiers as i think they are pretty ugly
2009-02-11 03:46:14 +00:00
Campbell Barton
50a6d77fc0 Names from uiMenuItemEnumO were not being used.
Changed some of the sequencer menus to use uiMenuItem's
2009-02-11 02:09:41 +00:00
Brecht Van Lommel
b77da4893d 2.5: Image window operators, quite a few of these still have
missing parts and are work in progress.

Set 3D Cursor
Set Tile
Sample Color
New
Open
Replace
Reload
Save (As)
Save Sequence
Pack
Unpack
Record Composite

The file select operators have context issues still. They need
to get the image space in the context on exec() but it's not
there currently, not sure how to solve that yet.

Also added name parameter to uiMenuItemEnumO, and fixed "mute"
argument in ED_update_for_newframe calls in fluidsim bake.
2009-02-10 23:17:58 +00:00
Joshua Leung
1195c22207 DopeSheet/Action Editor: Fixed display and expand-widget of 'Group' channels 2009-02-10 23:08:53 +00:00
Joshua Leung
7e1e4dbb13 Setting svn-property 'eol-style' to 'native' for all animation-related files. No more need to do save overs in text editors or with fancy UNIX tools. 2009-02-10 22:45:20 +00:00
Diego Borghetti
2c82163d5b commit to continue in my home.
Also I remove some of the #if 0.
2009-02-10 21:41:14 +00:00
Ton Roosendaal
e4ce4a00a0 2.5
Fifth attempt! Previous commit was wrong file :(
2009-02-10 18:50:40 +00:00
Ton Roosendaal
12c17347cb 2.5
Fourth trial to get the invisible character gone!
(I have to add/remove enters to get it committed even)

Thanks to Thomas for retyping the faulty line entirely :)
2009-02-10 18:36:34 +00:00
Ton Roosendaal
a216695ee7 2.5
snprintf should be BLI_snprintf
2009-02-10 18:33:32 +00:00
Ton Roosendaal
da775a3698 2.5
Made GE compile again
2009-02-10 18:06:26 +00:00
Ton Roosendaal
517b6cc3cb 2.5
Third attempt to get the invisible character going!
2009-02-10 17:56:15 +00:00
Ton Roosendaal
1496136224 2.5
File Window:

- Added PKEY parent directory
- Made "P" button work
- Removed confused theme colors for text, it caused
  selected text to print greyish.
2009-02-10 17:53:10 +00:00
Kent Mein
ca1b1e07d7 A few more files with dos line endings.
Kent
2009-02-10 17:06:43 +00:00
Ton Roosendaal
9b76b5e103 2.5
Bugfix: Node operators were called in empty node editor, causing
NULL reading. Prevented it from happening with more strict poll()
2009-02-10 15:51:33 +00:00
Ton Roosendaal
25440893dd 2.5
*** Proof of concept! ****

3D window Panels back, in own designated region for now.
Activate or hide it with Nkey.

Note that Background Image doesn't work yet,  Transform
Orientations probably need tests by Martin, Sculpt options
have to be recoded there by Nicholas.

The UI design sessions will of course review all of this!
We'll have to solve a lot of related topics;
- navigation (where) and context (what)
- non-overlapping layouts vs floating panels/bars
- properties vs tools (toolbars)
- drop panels and make nice (semi-automated) list views?

I've also done experiments with making the main 3d view
stay 'behind' the buttons region. That makes popping buttons
in and out less distracting, but also makes it obscuring
the view... it's not in this commit, it didn't work proper :)
To get that work it has to be handled by the internal
compositor, then it even can have fancy transparency in back.

Anyhoo, time enough to play with this a while. Especially for
Image window (paint) it can work well too.
2009-02-10 15:38:00 +00:00
Joshua Leung
f7a6588632 Graph Editor: Visibility toggles
F-Curves can now be hidden/shown in the Graph Editor in one of 3 ways:
* Specialised VKEY toggle hotkey, which alters the visibility of all selected F-Curves 
* The setting toggle operators (Shift-W, Alt-W, Ctrl-Shift-W)
* Checkmark (*1) boxes in front of names of F-Curves

This allows irrelevant curves to be hidden from the keyframes area only if you want them hidden. By default, all curves are visible. Also note that a separate hotkey is used now for toggling visibility (VKEY) instead of lumping it under select-all (AKEY) as in the past, which was a major cause of confusion.

Notes:
1) I've used the ICON_BLANK011 and ICON_BLANK012 icons, which in the current icon set are two states for a checkbox type thing. These defines should probably get renamed sometime, but I'll leave that up to Matt.
2009-02-10 11:37:14 +00:00
Joshua Leung
6f2d5b8e8a Graph Editor: Restoring 'View All' (HomeKey) and Auto-Set Preview Range ('Ctrl Alt P') 2009-02-10 10:42:04 +00:00
Joshua Leung
c519d69a60 Armature Parenting: Fixing up this operator to use the new context iterators properly 2009-02-10 09:55:46 +00:00
Ton Roosendaal
ca418381fd 2.5
Bugfix: CTRL+W "Save file" still gave a 'save over' popup when the
file didn't exist yet. It then attempted to free the operator twice.
2009-02-10 09:49:36 +00:00
Joshua Leung
3bcb1ebdfe 2.5: Silencing MSVC warnings in a few files (many files still have many to clean out some other day). 2009-02-10 09:18:04 +00:00
Michael Fox
8243e65ed8 2.5
*******
- ported make/clear parent for editbones (paent_set, parent_clear to align with naming conventions)

Aligorith and Kaito please look over this and make sure everything is right
2009-02-10 06:12:35 +00:00
Matt Ebb
2d248a39c7 Some theme colour tweaks 2009-02-10 03:27:33 +00:00
Matt Ebb
d262cde5f8 * Some more icon file updates (thanks jendrzych), and associated UI tweaks. 2009-02-10 02:39:19 +00:00
Joshua Leung
181068454f Graph Editor - Drawing Tweaks
* Handles now draw with anti-aliased lines for a 'tidier' appearance at certain scales
* Added new drawing code for 'samples'
2009-02-09 23:46:13 +00:00
Joshua Leung
97c5d50cff 2.5:
Added missing colour/theme entries from Graph Editor in RNA
2009-02-09 23:06:29 +00:00
Joshua Leung
2249c61d03 2.5 Bugfixes:
Adjusted ranges for subdivide operators (Mesh + Armature). 
* The Mesh one was causing lockups as its range started from 0. Now it starts from 1.
* Tweaked the soft-limits for subdivide operators to be easier to use (1-10 instead of 0-100)
2009-02-09 22:59:26 +00:00