Commit Graph

112 Commits

Author SHA1 Message Date
Campbell Barton
02dc4e9748 shape key transfer
- use the shape key basis for applying relative vertex locations
2010-02-02 12:04:03 +00:00
Campbell Barton
039d087171 subtype support for properties in bpy.props. 2010-02-01 22:04:33 +00:00
Campbell Barton
7bd3d1213a shape key transfer fix.
workaround for the vert locations not being relyable, use the base shape key rather then the verts to calculate the offsets.
2010-02-01 15:09:35 +00:00
Campbell Barton
95069f2909 pep8 changes 2010-01-31 14:46:28 +00:00
Campbell Barton
27f715052a minor corrections to scripts 2010-01-29 15:20:25 +00:00
Campbell Barton
e85a023480 bugfix [#19681] adjusting the settings of the 'add torus' tool in edit mode 2010-01-29 15:19:19 +00:00
Campbell Barton
ccfd67a8d0 missed updating reload scripts 2010-01-28 17:50:50 +00:00
Matt Ebb
904665f15b [#20728] "Export UV Layout" overwrites existing files (without feedback)
The 'save over' popup was only appearing based on a string comparison of the operator name ("Save"). Changed this to use a hidden operator property: "check_existing". Python operators must 
have this property for the file selector confirmation too.

This property can also be set to false, to prevent checking for existing files, useful in the File->Save menu item to prevent the dangerously missable confirmation popup.
2010-01-27 02:20:24 +00:00
Campbell Barton
bffad18da8 [#20046] 2.5 "bridge faces" tool doesn't delete original selection
remove this script, its not good enough, remove grease pencil retopo also.
2010-01-26 14:39:01 +00:00
Campbell Barton
0a0f4c9d81 Mathutils refactor & include in sphinx generated docs, (TODO, include getset'ers in docs)
- Mathutils.MidpointVecs --> vector.lerp(other, fac)
 - Mathutils.AngleBetweenVecs --> vector.angle(other)
 - Mathutils.ProjectVecs --> vector.project(other)
 - Mathutils.DifferenceQuats --> quat.difference(other)
 - Mathutils.Slerp --> quat.slerp(other, fac)
 - Mathutils.Rand: removed, use pythons random module
 - Mathutils.RotationMatrix(angle, size, axis_flag, axis) --> Mathutils.RotationMatrix(angle, size, axis); merge axis & axis_flag args
 - Matrix.scalePart --> Matrix.scale_part
 - Matrix.translationPart --> Matrix.translation_part
 - Matrix.rotationPart --> Matrix.rotation_part
 - toMatrix --> to_matrix
 - toEuler --> to_euler
 - toQuat --> to_quat
 - Vector.toTrackQuat --> Vector.to_track_quat
2010-01-25 09:44:04 +00:00
Campbell Barton
f0d89a041f bugfix [#20774] ctrl+alt+f switches to Object mode if you are in local view 2010-01-22 21:57:41 +00:00
Campbell Barton
09424badda bugfix [#20726] "Export UV Layout" creates invalid SVG files
- use xml.sax.saxutils.escape() to give an XML compatible string.
- in some cases material indicies could be invalid. use the default material rather then throwing an error.
2010-01-20 11:08:50 +00:00
Campbell Barton
9396bb2da9 - AIX ifdef's so windows works, cant test but this seems the most used define. might need to add to buildsystem config.
- transform default scale was too hight, calls to random were inconsistant. (fault of own modif's)
- cmake openal include was added twice on recent commit.
2010-01-19 15:57:02 +00:00
Campbell Barton
c02b26e463 convert rotations into radians (not scale) 2010-01-19 09:51:09 +00:00
Campbell Barton
8ae76d7249 pep8 compliance for Randomize objects loc/rot/scale.
- scale min -1 to 1 rather then -100 to 100
- default precision for float props to 2.
2010-01-19 09:36:40 +00:00
Campbell Barton
98312235b0 own error from changes to this script.
need to call random.uniform() even if its not used to give pradictable randomization.
2010-01-19 09:24:39 +00:00
Campbell Barton
849024df83 patch [#20724] Randomize Loc Rot Size py operator for B2.5
written from scratch by Daniel Salazar (zanqdo). added own modifications.

New property type
 bpy.props.FloatVectorProperty(), only difference with float is it takes a 'size' argument and optional 'default' sequence of floats.

moved bpy.props.* functions out of bpy_rna.c into their own C file.
2010-01-19 00:59:36 +00:00
Campbell Barton
3ff987c46a bugfix [#20688] Mesh with no materials fails to export UV layout 2010-01-15 12:21:33 +00:00
Campbell Barton
aed721e01c [#20685] Fixed: cleaned up descriptions, removed unrelated comments in code
from Jaevixa McNomera (jaevixa)
2010-01-15 10:02:02 +00:00
Matt Ebb
085795e356 Fix [#20514] In sculpting mode is possible to use page down/up to exceed the actual multiresolution level 2010-01-15 05:00:02 +00:00
Campbell Barton
6f8ee9b0f9 patch [#20673] Fixed descriptions in Torus mesh controls, and added some requested controls
from Jaevixa McNomera (jaevixa)
2010-01-14 22:45:56 +00:00
Campbell Barton
dd9b6cbddd uv layout svg files were not importing into inkscape or firefox (gimp worked) 2010-01-14 14:33:05 +00:00
Campbell Barton
f8518a9b26 UV layout
- set the width of the line to be 1 pixel
- add the object name onto the blendfile name.
2010-01-14 14:26:39 +00:00
Campbell Barton
231d29ccce Join as UVs.... (copies matching UVs to another object with the same topology)
nice that it uses foreach_get/set for fast array copying from python.

note: this is getting out of hand, we beed some central panel/interface for copying mesh data about - shapes, UVs weights etc. at the moment they are accessed from all different places.
2010-01-14 14:06:27 +00:00
Campbell Barton
27dc5be730 - when the image is available export the SVG with the pixel width and height, saves typing into the gimp each time.
- option to only export selected faces.
- add in some metadata from the scene
2010-01-13 19:53:34 +00:00
Campbell Barton
ef5ab2b8e9 UV Layout export, writes an SVG, uses material colors. 2010-01-13 19:00:18 +00:00
Campbell Barton
58f13d469e UV mirror tool (copies UVs from one side of the mesh to the other)
WIP, suffers from editmode bug where editmode python tools cant have redo-options set. and needs options for precission.
2010-01-13 17:58:26 +00:00
Campbell Barton
c723251cc0 rename rig types not to have generic in the name (Cessens decission) 2010-01-10 18:59:32 +00:00
Campbell Barton
08c9ecb3b0 RNA/Py API
change how data is added. eg.
 bpy.data.add_mesh(name) --> bpy.data.meshes.new(name)
 bpy.data.remove_lamp(lamp) --> bpy.data.lamps.remove(lamp)


image and texture stil use add_* funcs
2010-01-09 23:44:01 +00:00
Campbell Barton
a868e8623c - RNA support for returning copied strings from functions, flagging strings as PROP_THICK_WRAP does this.
- scene.render_data.frame_path(frame=num), returns the output path for rending images of video.
- scene.render_data.file_extension, readonly attribute, gives the extension ".jpg", ".mov" etc
- player support was guessing names, use the above functions to get the actual names used, accounting for #'s replacing numbers.
2010-01-08 13:52:38 +00:00
Campbell Barton
e292b5badc fix for crash when setting a shapekeys name in rna, (probably other properties too).
When the shapekey was returned from the object it didnt use the data's ID which is expected elsewhere in RNA.

Transfer shape now also sets the name.
2010-01-06 12:19:46 +00:00
Campbell Barton
bb2c074822 missing check for shape key 2010-01-06 11:21:57 +00:00
Campbell Barton
de7ee99674 WM_OT_context_set_* - more compact and check for the relative option without exception handling. 2010-01-04 08:24:24 +00:00
Matt Ebb
3881bb5309 Fix for previous commit - broke WM_OT_context_set_* operators for non float/int types. 2010-01-04 01:39:37 +00:00
Matt Ebb
1cbe3c06d6 * Added new hotkeys [ and ] to decrease/increase brush size by 20 in all paint modes.
The actual value to increment/decrement by can be customised in key maps.
2010-01-04 00:18:08 +00:00
Campbell Barton
9bda43ed27 - WM_OT_context_cycle_int wasnt working (also wasnt used anywhere)
- remove console zoom operator, use WM_OT_context_cycle_int instead.
- use WM_OT_context_cycle_int for text editor zoom also (Ctrl +/- and Ctrl+MouseWheel)
2010-01-03 02:24:53 +00:00
Campbell Barton
8177f343a0 - object.add_shape_key(name="Key", from_mix=True)
- ensure new shape key names are unique
- Transfer ShapeKey now can have its settings changes (redo operator)
2009-12-28 18:03:04 +00:00
Campbell Barton
351f5d1837 - loading missing files didnt give any warning
- shape key transfer poll function
2009-12-27 23:29:34 +00:00
Campbell Barton
0767cdd4a0 Transfer Shape Key
Useful if you have 2 different characters with the same base mesh (matching indicies), and want to copy a facial expression for eg, from one to another.
Durian request to re-use shapes between characters. 

* Copies the active shape to other selected objects
* Different methods to apply the shape
* * OFFSET, simple translation offset
* * RELATIVE (EDGE/FACE), Use Barycentric transformation to copy the shape. This means the target mesh can be a different orientation and scale and the shape should still apply since the surrounding geometry is used as a basis for the offset.

bug: barycentric transform's depth was inverted.

Note:
* This isnt added into a menu yet,
* This cant be redone since adding a shape key messes up the redo stack. needs fixing for other scripts too.
2009-12-27 11:14:06 +00:00
Campbell Barton
944a4f2a3f pep8 edits, removed MakeCursor.py and rna_array.py, not important to make pep8 2009-12-26 09:36:50 +00:00
Campbell Barton
5afd084513 replace dynamic_menu.py with Menu classmethods much less complicated.
access append/prepend eg.

bpy.types.INFO_MT_file_import.append(lambda self, context: self.layout.operator("import_some.format"))
2009-12-25 22:16:19 +00:00
Campbell Barton
693d9fd771 sphinx rna api documentation generator to replace epydocs
- view docs menu item opens sphinx URL
- can be searched (even when local)
- uses rna_info module for introspection
- also documents python defined functions and decorator properties (defined in bpy_types.py)
- experemental python file:line references for python operators.
2009-12-25 15:50:53 +00:00
Campbell Barton
5f4e24d599 operator draw function working again. needed to add layout to the operator to give access to "self.layout" - like panels, headers and manu's have 2009-12-24 21:17:14 +00:00
Campbell Barton
bbe13e7823 * register operators like other classes
* operators now return sets (converted into flags)
* can't remove bpy_operator_wrap.c since macro's still use the custom register funcs
2009-12-24 19:50:43 +00:00
Campbell Barton
bb094b8655 key shortcits for sculpt back
- T was 'Flatten Brush', now Shift+T
- added an option to OBJECT_OT_subdivision_set to set the level relatively (so page up/down works), however RNA lets it set one level higher then the maximum, this seems displays OK in the 3D view so not sure whats going on here (as if there is always an extra hidden multires level).
2009-12-23 12:13:48 +00:00
Campbell Barton
22a892f402 - make ToolSettings.mesh_selection_mode into an array of 3 bools rather then an enum since multiple can be set at once.
- ToolSettings had its id.data set to NULL when taken directly from the context (causing a crash in cases)
- menu for changing vert/edge/face selection now a python menu, removed operator.
- wm.context_set_value(), would really prefer not to have this since it evaluates the value as a python expression however there are no ways to define arrays in PyOperators
2009-12-22 16:11:11 +00:00
Campbell Barton
5bdcb2dff2 py error fix and minor changes to rna info class 2009-12-21 23:14:16 +00:00
Campbell Barton
de7ffa1bac make subsurf keys - Ctrl+1,2,3,4, apply to all selected objects. not just the active ones 2009-12-18 23:17:23 +00:00
Campbell Barton
0c813b2a0e autorigging front end, access in pose mode armature panel (at the bottom)
demo: http://download.blender.org/durian/metarig_demo.ogv
sintel base rig also, would like to include more generic/simple rigs eventually
2009-12-17 19:48:30 +00:00
Campbell Barton
c3b978828c pep8 corrections and no need to use C's _OT_ syntax when accessing operator names from py 2009-12-17 01:21:55 +00:00