Commit Graph

11497 Commits

Author SHA1 Message Date
Joshua Leung ae0f349346 F-Curve Modifiers: Basic GUI for Generator Modifier working
* Currently, this only works for the 'Expanded polynomial' mode, but this will be expanded to include the other modes too. Now you can modify the values and interactively see the graph in the view change. 

* Disabled the backdrops (modifier 'panels') temporarily, as ROUNDBOX UI elements currently swallow all events, which is not good.

Note: the code here still uses the old-style UI definition code since the new stuff is still under heavy construction.
2009-03-16 11:11:44 +00:00
Martin Poirier 7d2703c805 Merging etch-a-ton branch in trunk.
Slightly out of date documentation in wiki, I'll be updating that tomorrow.

http://wiki.blender.org/index.php/User:Theeth/etch-a-ton
2009-03-16 02:55:42 +00:00
Joshua Leung 8522b08e05 F-Curve Modifiers: Generator Modifier Code
* Rewrote the Generator modifier to be more efficient and support more options
* A few UI tweaks for this, but the UI for this is still not yet functional though.
2009-03-16 01:12:37 +00:00
Joshua Leung 329aa658c9 F-Curve Modifiers: Groundwork for getting these working
- Completed cleaning up the drawing code so that F-Curves with modifiers now get drawn to reflect this.
- Added a temporary operator to add modifiers (hotkey Ctrl-Shift-M)
2009-03-15 10:39:02 +00:00
Joseph Eagar 302e796270 connect verts now does geometric tests to perform valid splits. it also supports multiple splits in a face, going around the face boundary in a loop and performing splits. 2009-03-14 13:16:35 +00:00
Martin Poirier 54a55827ec merging trunk 19093:19274 2009-03-13 18:04:38 +00:00
Joseph Eagar 215f0fa27d the make ngon function's overlap test needed some work, the API function
that does that needed to be split in two. this made dissolve faces sometimes
not work.

also added some api functions to recalculate normals for verts, edges and
faces.  and added a new flag, BM_NONORMCALC, to prevent this from happening
on individual fgon faces after they are tesselated.  and made dissolve faces
happen on fkey in all the selection modes, not just face select.
2009-03-12 03:55:53 +00:00
Nathan Letwory dc57b90f83 * small typo fix. 2009-03-11 20:25:31 +00:00
Nathan Letwory c8583cac70 2.5 / Area management
* Add Area Swap: hold alt and drag with LMB from either actionzone. Release LMB on area you want to swap with. I added a matching cute cursor for this (and to make it a politically delicate issue, it's white on black).
  Note, there are still some error totblocks that I haven't been able to track down properly yet, so that's still a bit WIP.
2009-03-11 20:22:06 +00:00
Nicholas Bishop 33509e8510 Changed vertexpaint and weightpaint to use the standard Brush struct, so they too work with the brush panel.
Note: these modes are only using color/alpha/size from Brush, so there's more integration work todo yet.
2009-03-11 00:43:08 +00:00
Nicholas Bishop bb406cbf48 Added a brush panel that can be eventually be used for all the paint modes. For now, just sculpt and texture paint are set up to use it (vpaint and wpaint don't yet use the Brush type.) 2009-03-10 23:38:16 +00:00
Kent Mein d17ca2179d Addes libopenjpeg (jpeg2000) support to the Makefiles
Kent
2009-03-10 16:04:29 +00:00
Joseph Eagar 0c5032ebf3 merge with 2.5 at 19207, plus some half-finished walker stuff 2009-03-08 07:15:41 +00:00
Martin Poirier c07acfb4fd Transform fun
extracting params in split transform operators.

work in progress still, but lots of fun with operator replay (F6)
2009-03-06 15:50:15 +00:00
Kent Mein 78af62bec8 Addes jpeg2000 support to cmake.
I also did some small tweaks.  removed ifdef's for pluginapi
didn't need them there.
Fixed it so the filesel shows jp2 as image files.
(I'm going to do makefiles next)

Kent
2009-03-06 15:46:13 +00:00
Joshua Leung 6888f540e8 Graph Editor: Baking (Alt-C) operator now works as expected
In the process, added some really basic drawing code for curves containing such data. Note: the endpoints don't draw right yet though.
2009-03-01 11:47:29 +00:00
Joshua Leung d9c9108a6e Graph Editor: Added operator to 'bake' keyframe-based F-Curves to be composed of samples.
This operator can be activated using the 'Alt-C' hotkey for now, and operates on selected + editable F-Curves. This is currently still highly experimental, and does crash

I've implemented this as a way to test out the FPoints/samples code, which will be used to provide better support of the dense F-Curves which result from importing Mocap/BVH data. These should use considerably less memory + have a few additional benefits over keyframes when they're working in a stable fashion.
2009-03-01 11:27:31 +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
Brecht Van Lommel 6cc89b9d4e 2.5: Text Editor back.
There was very little structure in this code, using many globals
and duplicated code. Now it should be better structured. Most
things should work, the main parts that are not back yet are the
python plugins and markers. Notes:

* Blenfont is used for drawing the text, nicely anti-aliased.
* A monospace truetype font was added, since that is needed for
  the text editor. It's Bitstream Vera Sans Mono. This is the
  default gnome terminal font, but it doesn't fit entirely well
  with the other font I think, can be changed easily of course.

* Clipboard copy/cut/paste now always uses the system clipboard,
  the code for the own cut buffer was removed.
* The interface buttons should support copy/cut/paste again now
  as well.
* WM_clipboard_text_get/WM_clipboard_text_set were added to the
  windowmanager code.

* Find panel is now a kind of second header, instead of a panel.
  This needs especially a way to start editing the text field
  immediately on open still.

* Operators are independent of the actual space when possible,
  was a bit of puzzling but got it solved nice with notifiers,
  and some lazy init for syntax highlight in the drawing code.
* RNA was created for the text editor space and used for buttons.

* Operators:
    * New, Open, Reload, Save, Save As, Make Internal
    * Run Script, Refresh Pyconstraints
    * Copy, Cut, Paste
    * Convert Whitespace, Uncomment, Comment, Indent, Unindent
    * Line Break, Insert
    * Next Marker, Previous Marker, Clear All Markers, Mark All
    * Select Line, Select All
    * Jump, Move, Move Select, Delete, Toggle Overwrite
	* Scroll, Scroll Bar, Set Cursor, Line Number
    * Find and Replace, Find, Replace, Find Set Selected,
	  Replace Set Selected
    * To 3D Object
    * Resolve Conflict
2009-02-28 23:33:35 +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
Campbell Barton 4d92526401 build blenderplayer without opennl and decimation 2009-02-26 12:43:24 +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
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
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
Campbell Barton 56e9c87309 building the game engine without SDL works again 2009-02-24 17:34:41 +00:00
Martin Poirier 7c830b75f1 merging trunk 17520:19093 2009-02-23 21:00:42 +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
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
Andre Susano Pinto a3b684d698 [#18277] Segfault crash by editing mesh with subsurf+ParticleInstance modifiers
particleInstanceModifier_applyModifier uses getVertCo,which is not implemented by ccgDM.

getVertCo was used to simply perform a min/max, so it was fixed to use the apropriate min/max
		dm->getMinMax(dm, min_r, max_r);


Maybe the fact ccgDM doesn't implements getVertCo/getVertNo is a bug, since it implements every
other DM function and its strange those are left out.
2009-02-21 12:15:57 +00:00
Campbell Barton f87a399978 [#18058] Black dots appear when blender renders with multi-thread and material nodes
Without thread locking the function that allocates new threads, black dots appear in renders.

This wont affect composite nodes,
Ton/Brecht - this is possibly too many lock/unlocks but I timed the render from the bug report and it didn't make a noticeable difference.
2009-02-21 04:42:46 +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
Ton Roosendaal 236adb4ef3 2.5
Small fixes for animsys:

- Blender 2.4x allowed drivers to exist without object target, these
  got converted resulting in error prints. Now they get skipped.

- Animdata struct was not created for objects with poses, but without
  action/nla linked. 

- An action-channel-constraint-ipo gets inserted in drivers differently
  than a pose-bone-constraint-ipo. Not sure yet how... but it makes a
  different depsgraph relation. 
  Error is of course in depsgraph, that'll get tackled. For correct
  driver eval I've made 'object update ob' also been called for
  the 'object update data' tag.
2009-02-20 16:18:37 +00:00
Ton Roosendaal f377be3783 2.5
Assorted smaller fixes:

- Fix: modal keymaps for editmode in view3d were not set again
  when you copy areas or go fullscreen.

- Improved "redo last op" (F6) to search back in history for
  a redoable operator. Operator also used wrong pupmenu type.

- On creating new FCurve editor, the channel rainbow colors are
  set correct.

- EditMesh: fixed code for Spin/Screw, correct props, init and
  error reporting. (Spin hotkey ALT+R temporary)

- recompiled all to check for uninitialized variable warnings.
  (compile flag should be -O for this). Fixed some proto's.
2009-02-19 16:22:07 +00:00
Ton Roosendaal 66698e9d71 2.5
Cleanup of saving code for Image window.

Little extra: added poll() check for buttons, greying out inactive
menu items or buttons. You can see it work in Image menu.
(Item 'save image' is grey when it wasn't saved, then you have to
use the 'save as' item).

Carefully designing poll checks is worth a trial once. :)
Do note that cpu time for polls should be totally minimal.
2009-02-18 18:08:33 +00:00
Brecht Van Lommel 38410b63a6 2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..

* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character

Notes

* Text (datablock) to Object doesn't work yet, will need to
  implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
  ctrl+x, ctrl+left/right. That override goes top down which works
  well for some cases, but here we need to override in the other
  direction.
* There's no unicode support in RNA, or the user interface code
  for that matter, but text strings can contain these characters.
  At the moment it stores a UTF-8 string in char arrays, which is
  supposed to be nicely compatible with ascii. Seems reasonable to
  add support for UTF-8 in the interface code, python bindings, ..
  eventually?
2009-02-17 19:55:20 +00:00
Ton Roosendaal 9322bddf2c 2.5
Fix for the 'repeat last operator' option. It didn't work yet well
outside editmode. Now undo/redo has to fully keep the UI alive,
even when called from within a running popup.

Another fix: when regions collapse/hide they were not effectively
disabled, still accepting events. (like Nkey in 3d window).
2009-02-17 15:53:52 +00:00
Joshua Leung 95207cec00 2.5
Added RNA wrapping for F-Curve colour settings
2009-02-15 23:28:30 +00:00
Joshua Leung 394b3fcede Keying Sets: Added 'remove selected from active set' (Alt-K) operator in Outliner
* Cleaned up the helper functions for the Outliner operators which deal with Keying Sets
* Fixed a few minor bugs in the Keying Sets API that won't show up with the current tools, but may crop up later
* Added a new method to find a 'matching' path in a Keying Set. Now adding a new path to a Keying Set will firstly check if there is any similar path already, and skip adding another path.
2009-02-15 07:00:13 +00:00
Joshua Leung d875386b06 2.5 Bugfixes:
* Removed unnecessary define for context loop (editable posechannels)

* Fixed crash in animation-channel filtering - missing check for no world animation.
2009-02-14 07:52:25 +00:00
Joshua Leung f3fac33688 2.5 - Adding context iterators for visible/editable (selection is irrelevant) for bones and pose-channels.
I'm not totally sure that these are needed, though it does make some tools simpler.
2009-02-14 07:27:12 +00:00
Ton Roosendaal 1d5115c251 2.5
feature restored: window title shows file name, 
if saved/loaded.
2009-02-13 13:33:01 +00:00
Joseph Eagar 209db3a64c merge with 2.5 at r18948 2009-02-13 03:27:03 +00:00
Joshua Leung cec4a29977 Keying Sets: Wrapped KeyingSets in RNA
* The settings of KeyingSets can now be viewed/modified through RNA. 
* Shuffled RNA wrapping for AnimData over to its own file 
* Moved insert-key flags to DNA_anim_types.h, as they're now used for KeyingSets.
2009-02-13 01:51:33 +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
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
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 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
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
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 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