Commit Graph

17311 Commits

Author SHA1 Message Date
Campbell Barton
312c487201 - Simplified EulToGimbalAxis, its still only works on XYZ and ZXY but at least its more clear whats going on.
- Made RotOrderInfo use a vector rather then i/j/k
- Added gimbal_axis to transform.h (was extern)
2009-10-30 12:11:04 +00:00
Joseph Eagar
77532f6f8a two things; made ctrl-p add an armature modifier instead of using PARSKEL, and also made wpaint auto-normalize work with PARSKEL armature setups 2009-10-30 09:50:35 +00:00
Joshua Leung
ae3cf92491 New Track To Constraint: "Damped"
This is effectively a C-port of Nathan Vegdahl's "No Twist" TrackTo PyConstraint, and has been added as a separate type of constraint to be consistent with the existing constraints (Locked Track, and Track To). 

In general, this works considerably better than the existing "Track To" constraint, since it works by determining the smallest rotation necessary to get the current orientation of the owner to an orientation which would be tracking the target. It is also a much more straightforward approach than the weird old method the old Track To uses.

I've made a few tweaks to the code to deal with the (hopefully rare) cases where the target and the constrained are coincident. These don't appear to cause too much trouble in general.

TODO:
- Probably the naming of the constraints will change, to better convey their purposes. Naming suggestions welcome.
2009-10-30 06:33:40 +00:00
Joseph Eagar
fe68d2672d added an 'auto-normalize' option for weight paint mode, that automatically ensures vertex groups that affect bones all add up to 1.0. please test and give feedback. 2009-10-30 02:09:52 +00:00
Thomas Dinges
c26ee3ab57 * Tiny Force Field Layout improvements and tooltip fix by nudelZ. Thanks! 2009-10-29 22:08:09 +00:00
Benoit Bolsee
51a9da2dcf BGE patch #19751: Add game actuator like methods to GameLogic. 2009-10-29 21:59:31 +00:00
Martin Poirier
1a8b9e63d9 When transform orientation is not orthogonal (which is often the case with Gimbal), orthogonalize the orientation separately when drawing each rotation circles (this makes sure they really appear perpendicular and not just be that way in the skewed space of the orientation). 2009-10-29 21:34:09 +00:00
Martin Poirier
0400f3cd5c Functions to test for and correct orientation matrix orthogonality (since MatXOrtho only normalizes and should probably be renamed) 2009-10-29 21:31:55 +00:00
Campbell Barton
8c707b2a5f moved the following into the screen context rather then the view3d context so python scripts can access these when running in the console.
"visible_bones", "editable_bones", "selected_bones", "selected_editable_bones", "visible_pchans", "selected_pchans", "active_bone", "active_pchan",

added "C" to the consoles namespace, temp hack but useful
2009-10-29 19:59:38 +00:00
Daniel Genrich
099438f087 Smoke:
* Bugfix for crash when deleting particle system used by Smoke Flow modifier (reported by nudelZ).
2009-10-29 19:26:13 +00:00
Martin Poirier
9a13a84f15 No need to force ortho on a unit matrix 2009-10-29 18:59:48 +00:00
Campbell Barton
98527a7106 various small fixes
- undo stops all running jobs (operator redo was crashing with threaded render)
- adding new armatures was crashing if there was no valid view3d
- transform with an active hidden object would crash
2009-10-29 18:49:36 +00:00
Guillermo S. Romero
88b38c30a1 SVN maintenance. 2009-10-29 18:37:34 +00:00
Damien Plisson
b1a832a7e2 Mac / COCOA : Imbuf
- replace libtiff by calls to Cocoa services to load/save tiff files
(Libtiff, dynamically linked is not distributed with OS X, and would have had to be shipped for all four architectures)

The imb_cocoaLoadImage & imb_cocoaSaveImage are generic towards the bitmap format, and thus can handle TIFF, GIF, JPG, JP2000, BMP and raw camera formats (read-only for these), even if today only TIFF is used as the other formats are already handled.

- CMake updated
- scons updated (Thx to Jens Verwiebe)
2009-10-29 18:06:49 +00:00
Thomas Dinges
f5d62d885b Fixed [#19735] No normal map button in texture->image pane
Put it into the "Image Sampling" Panel, not sure if its the right location.
2009-10-29 14:27:56 +00:00
Campbell Barton
e14a8635cc Modified python rna property types (BPy_PropertyRNA), so PySequence_Check() returns true
this means you can do...
C = {"selected_editable_objects":bpy.data.objects}
...when defining pythons context, without doing list(bpy.data.objects)
2009-10-29 10:03:34 +00:00
Campbell Barton
c508e6198a Python can now run operators with their own context (data context).
The aim of this is to avoid having to set the selection each time before running an operator from python.

At the moment this is set as a python dictionary with string keys and rna values... eg.

C = {}
C["active_object"] = bpy.data.objects['SomeOb']
bpy.ops.object.game_property_new(C)

# ofcourse this works too..
bpy.ops.object.game_property_new({"active_object":ob})

# or...
C = {"main":bpy.data, "scene":bpy.data.scenes[0], "active_object":bpy.data.objects['SomeOb'], "selected_editable_objects":list(bpy.data.objects)}
bpy.ops.object.location_apply(C)
2009-10-29 09:25:11 +00:00
Campbell Barton
40731af9d0 use objects rather then bases where possible, use context rather then OBACT macro 2009-10-29 09:14:20 +00:00
Thomas Dinges
3ff0032ec8 2.5 Nodes:
* Wraped Texture Nodes: Output and Bricks.
* Show Quality Slider (Composite > File Output) only for JPEG.
2009-10-28 22:14:31 +00:00
Martin Poirier
40cc202dac Comment out "forked" parameter for extrude_mode macro operator (it doesn't work yet and give warning in console) 2009-10-28 20:54:20 +00:00
Martin Poirier
3187e365d9 Gimbal Transform orientations
Will use rotation gimbal axis when an object or bone set to Euler rotation mode is selected (global axis otherwise)

Use case: being able to do rotations that only affect one animation curve in the 3d view instead of just in the curve editor.

I'm committing this right now despite what follows because it's already useful as is.

Known bug: manipulator arrows can look slightly skewed (not really a big problem), but more importantly, rotation circles for the rotation manipulator are skewed and will not perfectly reflect the rotation axis (it will still use the correct one though). That will be fixed shortly.

To do: This orientation should act like Local, where each object/bone uses its own orientation and not just the one of the active object/bone.

Note: Saved files with custom orientations might end up with other orientations selected when being opened up. I don't think it's that useful to make a do_version for that, but I can if warranted.
2009-10-28 20:30:33 +00:00
Andrea Weikert
c2f9cfb40a 2.5 Sequencer
New Operator for 'Move current frame to next/previous edit point'
Keymap: PageUp/PageDown
(small Durian wish)
2009-10-28 19:53:25 +00:00
Guillermo S. Romero
ce441678de Fix compilation for r24142. 2009-10-28 18:31:13 +00:00
Brecht Van Lommel
b6459105b4 OpenGL Render restored.
I tried to make it integrate more with regular render but couldn't
do it well, it still needs a 3D view to take the settings from, and
can't run in a separate thread due to OpenGL.

However, it is now rendering to an offscreen buffer which then gets
displayed in the image window. This requires FBO's to be available, so
a fallback creating a new window is still needed. Currently available
from the Render menu in the top header.
2009-10-28 18:03:04 +00:00
William Reynish
044f7c5f33 New B.blend
-Continuous Grab is now on by default
-Opened scene panels by default
-Multiple new screens:
	*Default (same as before)	
	*Animation
	*Compositing
	*Quad View
	*Scripting
	*UV Editing
	*Video Editing

These have been inspired by other Open Movie artists, and their B.blends, including Nathan Vegdahl, Andy Goralczyk, and Bassam Kurdali. The new screens are designed to make optimal use of the new 2.5 UI, and expose newer areas like the compositor, new animation editors and console.
2009-10-28 16:32:14 +00:00
Brecht Van Lommel
d6cde96286 Added support for custom RNA properties on Bones, only worked for
PoseChannel previously.
2009-10-28 15:33:45 +00:00
Brecht Van Lommel
a7a77e3e94 Bugfix: particle editmode cut tool still wasn't working correct. 2009-10-28 11:35:19 +00:00
Campbell Barton
e024b46eb6 - 'id_data' attribute for py rna api, so you can get the Mesh from a face, Armature from a bone, etc.
- fixed crash when adjusting added objects settngs from the toolbar.
2009-10-28 11:31:24 +00:00
Joshua Leung
e694e30721 UI Icon Toggles Fix:
Boolean settings now use TOG instead of ICONTOG when they have icons, since ICONTOG was causing too much trouble with icons changing when they shouldn't be. Perhaps in future there should be some flag for specifying from RNA/UI-Layouts which one you want, but for now, this will do. 

Reverting r23936 since that fix depended on ICONTOG behaviour.
2009-10-28 10:16:49 +00:00
Campbell Barton
64455004e0 ob.getChilren() often requested for 2.4x api, notice this is only 1 line of python. 2009-10-28 09:39:16 +00:00
Joshua Leung
49d7a2c51a Fixes for AutoKeying + File Loading Prints:
* AutoKeying was broken after the fix to get automerge working again in 3D view. The 3D-View check was swallowing the processing before autokeying could be done. Separated these out again.

* The error print when some external data couldn't be found for objects was missing a newline.
2009-10-27 23:21:26 +00:00
Brecht Van Lommel
be42f422da Bugfix: RNA_path_from_ID_to_struct crashed in automatic nested struct detection. 2009-10-27 21:58:03 +00:00
Thomas Dinges
cb1b2649f1 2.5 Nodes:
*Wrapped File Output Node. 
Note: Crashs on execution while rendering.
2009-10-27 21:54:29 +00:00
Martin Poirier
3266e10456 Proper cast to silence warning and comment to explain WTH is happening here. 2009-10-27 18:50:26 +00:00
Campbell Barton
9b7f3133e6 made minimum zoom level smaller (zoom out further) 2009-10-27 18:50:10 +00:00
Arystanbek Dyussenov
6c4388e3b0 - fixed enum syntax in BKE_fcurve.h and ED_keyframing.h to make g++ happy
- exporting addEditBone from armature module for COLLADA importer
2009-10-27 16:13:50 +00:00
Campbell Barton
d160891c36 Shape Propagate to all back in vertex menu 2009-10-27 15:40:56 +00:00
Brecht Van Lommel
560a0108b2 Bugfix: brush texture buttons were not showing map mode. 2009-10-27 15:19:44 +00:00
Thomas Dinges
b66046339b 2.5 Nodes:
* Added missing button set functions for Matte Nodes.
* Wrapped some Matte Nodes to new Layout Engine.
2009-10-27 13:46:02 +00:00
Joshua Leung
ba8ff9a339 Graph Editor: Added panel for numerically adjusting the cursor position 2009-10-27 11:46:46 +00:00
Joshua Leung
90957ed0dd A bunch of fixes for macro-type operators - Armatures + Objects
* Extrude and Duplicate for Armatures now use proper macros instead of manually calling transform themselves. This means that repeating these operators now works properly.
** NOTE: there's a bug with macros now which prevents the 'forked' extrude operator working correctly. Bug report filed for this.

* Included the proper operators for extrude and duplicate in the toolbar + menus. The operators used there did not activate transform, which meant that users often could not tell that the operation had occurred at all.
2009-10-27 11:10:30 +00:00
Brecht Van Lommel
81c17a9fa3 Memory Statistics operator back, printing information about what memory
is being used for to the console. Not shortcut key, use the search menu.
2009-10-27 10:29:51 +00:00
Joshua Leung
e61facbf85 Bugfix #19729: Color Ramps are not animatable (Part 1)
This first part of the fix makes it possible to animate ramp settings by making sure that the paths for ramps and their elements can be determined. While the code for constructing the path to the ramps is relatively simple, the code for the elements is a bit more involved :/

However, this commit only fixes the paths, but most of the ramp settings still cannot be keyframed directly from the UI buttons/widgets (i.e. from Material/Texture buttons) since the buttons still use the old layouts.
2009-10-27 10:14:02 +00:00
Joshua Leung
e76ce369bb Compiler warning fixes for mingw:
* There's an unresolved error in transform_conversions.c which I've flagged in this commit. I'm not quite sure what the exact intentions of that code were (i.e. was the "void_pointer = 1" really intended)
2009-10-27 09:38:15 +00:00
Campbell Barton
1c1659eb28 - Right click menu can open links directly to API reference docs (rna and operators)
- Generated and uploaded api docs - http://www.blender.org/documentation/250PythonDoc
- Added Edit docs menu item & operators as discussed with Mindrones, Brecht, Stani & Letterip @ bconf, needs some web backend. python operator can aparently use xml/rpc to upload docstrings.
- Added operator invoke function - context.manager.invoke_props_popup(self.__operator__, event)
  this calls a popup for invoke by default (which intern calls execute())

- Own recent commit to game framing applied to non-camera views too.
- v3d->persp is deprecated but still used in some places.

- Transforming strips could overlap 1 frame if moving them below frame 0
- Transforming overlapping strips could go into an eternal loop (though overlapping strips should not exist)
2009-10-27 02:54:25 +00:00
Campbell Barton
641072a769 BGE: when letterbox is enabled use the camera framing as a clipping area (good for avoiding the HUD showing outside the bounds), use the framing color too (from dalai and myself) 2009-10-27 00:25:38 +00:00
Campbell Barton
491463c416 remove ARegion from the Canvas, use a RAS_Rect instead. (pair programming with Dalai ;) ) 2009-10-26 23:00:06 +00:00
Campbell Barton
839ac92f65 added SetDisplayArea, GetDisplayArea was used in a confusing way 2009-10-26 22:33:43 +00:00
Brecht Van Lommel
5d333f72c3 Bugfix: material texture slot checkboxes were not showing up anymore. 2009-10-26 19:54:55 +00:00
Martin Poirier
6565193523 Revert multiplication order change from revision 23692
The previous order is correct, the new order forced all global scale on local axis (in object mode).

The "problem" with scaling (or mirroring) in object mode along an axis that is not aligned along one of the local axis is that the result has to be decomposed (as best it can by TransMat3ToSize) into scaling factors along local axis. The more axis aligned the object is, the more "correct" it will look, with the worse being a scale along two local axis when the scaling axis is right between them.

One "solution" could be to make all Mirror transform in object mode work on local axis only (but I don't think that would be correct, since it still works correctly on aligned axis).
2009-10-26 19:50:07 +00:00