Commit Graph

16327 Commits

Author SHA1 Message Date
Ton Roosendaal
1c590a4d06 2.5
Quick bugfix; transform calls initTransformOrientation for all
spacetypes, it now returns except for view3d.
(Crash in grabbing nodes)
2009-01-19 17:28:53 +00:00
Ton Roosendaal
bc63213844 2.5
View3D has been split now in a local part (RegionView3D) and a
per-area part (old View3D). Currently local is:

- view transform
- camera zoom/offset
- gpencil (todo)
- custom clipping planes

Rest is in Area still, like active camera, draw type, layers,
localview, custom centers, around-settings, transform widget,
gridlines, and so on (mostly stuff as available in header).

To see it work; also added new feature for region split, 
press SHIFT+ALT+CTRL+S for four-split. 
The idea is to make a preset 4-split, configured to stick
to top/right/front views for three views.
Another cool idea to explore is to then box-clip all drawing
based on these 3 views.

Note about the code:
- currently view3d still stores some depricated settings, to
  convert from older files. Not all settings are copied over
  though, like custom clip planes or the 'lock view to object'.
- since some view3d ops are now on area level, the operators
  for it should keep track of that.

Bugfix in transform: quat initialize in operator-invoke missed
one zero.

Als brought back GE to compile for missing Ipos and channels.
2009-01-19 16:54:41 +00:00
Shaul Kedem
9b049d89a1 set min/max for added prims according to 2.48 2009-01-19 16:46:41 +00:00
Shaul Kedem
753029f3d1 adding vpaint to Cmakelist 2009-01-19 16:14:02 +00:00
Joshua Leung
89b7dfb5fb 2.5 - More work on getting file read/write support for Animato running
* Reorganised all animation-related file-writing code to be in the same area in the code, and clearly marked which parts of code are only used to ensure we can load old files to version-patch.

* Added file reading code for new datatypes, so it is possible to load the quit.blend file saved from the previous session. Version patching to work with the new system has yet to be done...

* Assorted whitespace fixes in places I skimmed through...
2009-01-19 02:26:46 +00:00
Martin Poirier
ff52dcbf0d Bugfix: Transform Snap
Would crash if snapping from a mesh in edit mode to a group instance including that same mesh.

Reported by UncleZeiv on IRC
2009-01-18 22:09:29 +00:00
Martin Poirier
6d85a0feba 2.5
Transform orientations (Alt-Space and in header)

enum for transform operator parameter.
2009-01-18 21:36:38 +00:00
Andrea Weikert
54a0f4167b 2.5 filebrowser
fix typo in #include
2009-01-18 19:12:13 +00:00
Andrea Weikert
40aa25a9f0 2.5 filebrowser
fixed missing return statement
2009-01-18 18:35:24 +00:00
Andrea Weikert
2c5bf52214 2.5 filebrowser
* slightly improved drawing code
* temporarily added creation of thumbnails within thread in the background until thread job manager is available in WM.
* fixed missing icons in thumbnail view
2009-01-18 18:24:11 +00:00
Michael Fox
d862db2e4f 2.5
*******
added RNA for the Vpaint settings
2009-01-18 11:05:56 +00:00
Campbell Barton
97692a3bf5 Changes to functions from blender/windowmanager/intern/wm_event_system.c
Python operator api was using WM_operator_name_call() which was confusing things too much.
Added WM_operator_call_py() which ended up being a very small function and split out operator creation into wm_operator_create()

Python operator now runs the poll() function and raises an error if it fails.

Eventually there should be error messages for poll that python can use to give the exact reason for failing (eg - library linked data, no active object...)
2009-01-18 10:46:26 +00:00
Joshua Leung
53ae509cc5 2.5 - AnimSys Data management stuff...
* Removed nAction struct. We'll be using good ol' bAction structs again, but putting new data in a different list. Apart from that, the data is similar enough to do so.

* Rearranged code in DNA_action_types.h while renaming the structs to avoid confusion over what is currently in use...

* Added freeing and AnimData execution loops for many other ID-types too. (NOTE: I've added AnimData in NodeTree struct too, but it's not clear to me where the relevant data-management calls should go in Nodes code).

* File writing code should now only write the new data to files
2009-01-18 10:41:45 +00:00
Campbell Barton
711d04a499 Made modal operators print their operator string after executing
(when in debug "-d" mode only)

copy & paste duplicate and transform operations can now be copied from user input and pasted into ./test.py and run with the Pkey (fixed some minor bugs preventing this)

Would be nice if the "mode" setting used a proper RNA Enum rather then an int. 

# example, duplicate and transform
bpyoperator.OBJECT_OT_add_duplicate(mode=1)
bpyoperator.TFM_OT_transform(mode=1, options=0, values=(-1.23989, 0.570745, 0, 0), constraint_orientation=0, constraint_mode=0, constraint_matrix=(0, 0, 0, 0, 0, 0, 0, 0, 0))
2009-01-18 07:35:44 +00:00
Michael Fox
abfc78afaf 2.5
******
-ported some of the Object mode select menu to use uiDefMenuButO
	- select random/layer still uses the hard coded value as no sutible popup exists
	- select by type suffers from random crashes, somthing to do with Context
	- need some way of doing sub menu's using the operator's invoke
	- the old menu is just #if'ed out
	- and did a little hous cleaning aswel

- added some undo pushes to the select operators
2009-01-18 01:26:20 +00:00
Brecht Van Lommel
0f4f89f19a 2.5: uv editor
- mouse select, loop select, select linked, unlink selection operators.
- added edge selection mode.
- fix 2.45 bug with unitialized theme colors, which caused the active face
  and face centers to be not drawn.
2009-01-17 22:14:08 +00:00
Ton Roosendaal
a6edbba8ec 2.5
- Added shift+d duplicate for object and editmode mesh.
  Note it uses WM_operator_name_call(), which is fine now,
  but in future might put again 2 undo's and operators on
  the stack. 
  Will have to spend some time on how Macros will work!

- added itterator CTX_selected_editable_objects()
  (named it first "edible" but that was too funny!)
  Also cleaned object_edit.c to use this correctly.

- added CTX_wm_view3d(), especially for hybrid tools
  that *can* use view3d, but don't have to.
  
- moved debug -d print for operators to the real invoke call
2009-01-17 18:35:33 +00:00
Nicholas Bishop
69e49c6f0c Make sculpt data more like vpaint/weightpaint. SculptData is now in scene->toolsettings, moved the RNA to reflect that too. 2009-01-17 16:58:05 +00:00
Ton Roosendaal
5caec606de 2.5
Made 'select linked' in mesh editmode work (LKEY).
Also added counterpart work with boolean (SHIFT+L).

Brecht: thanks for easier rna property defs :)
2009-01-17 16:11:12 +00:00
Brecht Van Lommel
25c2ee5d93 RNA: warning fix for mac gcc. 2009-01-17 15:28:34 +00:00
Ton Roosendaal
f705bdaa89 2.5
Cleanup warnings from Joshua's commit (mostly unused variables,
but also used functions that were not prototyped).

Two bugfixes; passing on &ob->adt instead of ob->adt

But; the DNA system is now messed up, with two structs using
the same ID (nAction and bAction), that goes horrible wrong!
2009-01-17 14:56:12 +00:00
Brecht Van Lommel
932131be53 RNA: made naming of animateable flags for properties more clear. 2009-01-17 13:54:56 +00:00
Joshua Leung
023765eb48 2.5 - AnimData fixes
* Made AnimData blocks be stored as pointer instead of directly in the ID-datablock, so that fewer files will need to be recompiled everytime some animation settings change.

* Tried to fix some of the compiler errors that pop up in Yafray code. If this commit doesn't fix it, just disable Yafray code for now (WITH_BF_YAFRAY=0 for scons)...
2009-01-17 05:36:58 +00:00
Nicholas Bishop
ee180ff5ac Added new CMake build option, WITH_YAFRAY. Set to disabled by default. 2009-01-17 03:51:13 +00:00
Nicholas Bishop
9b558b2116 Added a brush cursor to sculpt mode. 2009-01-17 03:31:56 +00:00
Joshua Leung
44e5b7788b 2.5: Blender "Animato" - New Animation System
Finally, here is the basic (functional) prototype of the new animation system which will allow for the infamous "everything is animatable", and which also addresses several of the more serious shortcomings of the old system. Unfortunately, this will break old animation files (especially right now, as I haven't written the version patching code yet), however, this is for the future.

Highlights of the new system:
* Scrapped IPO-Curves/IPO/(Action+Constraint-Channels)/Action system, and replaced it with F-Curve/Action. 
- F-Curves (animators from other packages will feel at home with this name) replace IPO-Curves. 
- The 'new' Actions, act as the containers for F-Curves, so that they can be reused. They are therefore more akin to the old 'IPO' blocks, except they do not have the blocktype restriction, so you can store materials/texture/geometry F-Curves in the same Action as Object transforms, etc.
* F-Curves use RNA-paths for Data Access, hence allowing "every" (where sensible/editable that is) user-accessible setting from RNA to be animated.
* Drivers are no longer mixed with Animation Data, so rigs will not be that easily broken and several dependency problems can be eliminated. (NOTE: drivers haven't been hooked up yet, but the code is in place)
* F-Curve modifier system allows useful 'large-scale' manipulation of F-Curve values, including (I've only included implemented ones here): envelope deform (similar to lattices to allow broad-scale reshaping of curves), curve generator (polynomial or py-expression), cycles (replacing the old cyclic extrapolation modes, giving more control over this). (NOTE: currently this cannot be tested, as there's not access to them, but the code is all in place)
* NLA system with 'tracks' (i.e. layers), and multiple strips per track. (NOTE: NLA system is not yet functional, as it's only partially coded still) 

There are more nice things that I will be preparing some nice docs for soon, but for now, check for more details:
http://lists.blender.org/pipermail/bf-taskforce25/2009-January/000260.html

So, what currently works:
* I've implemented two basic operators for the 3D-view only to Insert and Delete Keyframes. These are tempolary ones only that will be replaced in due course with 'proper' code.
* Object Loc/Rot/Scale can be keyframed. Also, the colour of the 'active' material (Note: this should really be for nth material instead, but that doesn't work yet in RNA) can also be keyframed into the same datablock.
* Standard animation refresh (i.e. animation resulting from NLA and Action evaluation) is now done completely separate from drivers before anything else is done after a frame change. Drivers are handled after this in a separate pass, as dictated by depsgraph flags, etc.

Notes:
* Drivers haven't been hooked up yet
* Only objects and data directly linked to objects can be animated.
* Depsgraph will need further tweaks. Currently, I've only made sure that it will update some things in the most basic cases (i.e. frame change).
* Animation Editors are currently broken (in terms of editing stuff). This will be my next target (priority to get Dopesheet working first, then F-Curve editor - i.e. old IPO Editor)
* I've had to put in large chunks of XXX sandboxing for old animation system code all around the place. This will be cleaned up in due course, as some places need special review.
In particular, the particles and sequencer code have far too many manual calls to calculate + flush animation info, which is really bad (this is a 'please explain yourselves' call to Physics coders!).
2009-01-17 03:12:50 +00:00
Brecht Van Lommel
9bcdb4b758 2.5: various warning fixes. 2009-01-17 00:51:42 +00:00
Nicholas Bishop
de9495e519 Fixed a crash in sculptmode. Also replaced a degree sign with an underscore in view3d, not sure how that got in there. 2009-01-17 00:26:46 +00:00
Brecht Van Lommel
8777182952 RNA: forgot to rename some values in the keymaps in last commit. 2009-01-16 23:58:10 +00:00
Brecht Van Lommel
c1cf33c8aa RNA
* Added more compact property definitions, with a single function.
  Only used by operators at the moment, would need to tweak regular
  expressions a bit more to use it also for other RNA definitions.

* The operator properties defined now were completed a bit more but
  still have many issues that need to be adressed, specifically;

  * Some properties that should be booleans or enums are defined as
    ints, note that ints are only for numeric values, not bitflags
	or multiple choice.
  * Soft/hard limits and default values of many properties are not
    well defined still,
  * Inconsistent naming, especially for example mouse locations or
    bounds are named differently in different places. Also mouse
	locations and other vector like properties should become a single
	vector property instead of multiple X/Y properties.
  * Almost no properties have descriptions, these would be good to
    have for docs and tooltips.

So, please verify that the properties of the operators you wrote are
well defined.
2009-01-16 23:53:11 +00:00
Martin Poirier
16aa62e058 Command Gesture - Polygonize
New command option to turn continuous strokes into polylines.
2009-01-16 20:24:31 +00:00
Roland Hess
ef93f8a36e Added transform locking. Fixed a bad UI string. Added access to posing data. 2009-01-16 18:04:01 +00:00
Nicholas Bishop
8252daa40b Removed matrices from sculpt session and into the sculpt cache. 2009-01-16 16:55:40 +00:00
Shaul Kedem
e6b8687237 added ops for subdivide, subdiv multi, subdiv smooth, subdiv fractal 2009-01-16 04:48:33 +00:00
Nicholas Bishop
2a4682bff5 Fix sculpt memory leaks 2009-01-16 03:24:12 +00:00
Nicholas Bishop
ffeb60e1e5 Added a view3d function to read cached depth buffer, before was in sculpt.c where it didn't belong. 2009-01-16 01:56:11 +00:00
Michael Fox
087b8b104a 2.5
*****
 - ported BorderZoom , shift-b
	- currently disabled in camera view as to not conflict with setting render border
2009-01-16 00:58:33 +00:00
Nicholas Bishop
54fa55394b Added some temporary error prints for get_depth in sculpt 2009-01-16 00:44:46 +00:00
Nicholas Bishop
09683a7c7d Cleaning of the small part of sculpt still in blenkernel, more to come 2009-01-15 21:07:44 +00:00
Ton Roosendaal
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
Campbell Barton
c0ecbfce0e blender was crashing if no argument was given after '-t'
mesh.faces.deltete(...) with an empty list no longer returns an error.
2009-01-15 18:06:06 +00:00
Nicholas Bishop
2b96a86298 Brought back grab brush in sculpt mode, also removed old BrushAction struct. 2009-01-15 16:57:17 +00:00
Brecht Van Lommel
6e8645a6d1 RNA
* Attempt to fix CMake build on some systems were it could not
  find the rna_*_gen.c files, now it specifies full path.
2009-01-15 16:18:32 +00:00
Ton Roosendaal
004eacad0c 2.5
SHIFT+A add object back, no primitives in it though... later!
2009-01-15 16:07:39 +00:00
Ton Roosendaal
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
Ton Roosendaal
c54cad0a32 2.5
Added new lib ed_uvedit in linking path for Makefiles
2009-01-15 10:55:48 +00:00
Michael Fox
890838dce8 2.5
*****

small commit, ported make dupli real
2009-01-15 10:02:45 +00:00
Brecht Van Lommel
c55f1b234c Tweak scons linking order priority to fix compile on windows. 2009-01-15 05:51:00 +00:00
Campbell Barton
ac91b159ae disallow identifiers with spaces 'cap end' wasn't working with the python api and made doc generation fail 2009-01-15 05:41:25 +00:00
Nicholas Bishop
4c17156c9e Brought back anchored mode for sculpt brushes. 2009-01-15 05:09:33 +00:00