Commit Graph

7452 Commits

Author SHA1 Message Date
Campbell Barton
e17a708dce add back pose specials menu, also add back the ability to clear user transforms on all bones (not just selected - mango request - was possible in 2.4x).
- rename only_select op property to only_selected (both were used).
- only do mingw workaround when building with FREE_WINDOWS defined.
2012-05-06 12:13:45 +00:00
Joshua Leung
364388b9f2 Removing the old armature 'deform' settings (use vertex groups/envelopes/quats).
As far as I could tell, these were really only still used for "virtual
modifiers", though we really don't use these anymore. Instead, most of the time,
people need to set these settings in armature modifiers directly (these didn't
even get copied over in that case). This was a source of confusion and
redundancy, so removing these now.

This change can be reverted if these were actually of some use out there...
2012-05-06 04:50:04 +00:00
Joshua Leung
7c58e6a9f2 Simplifying constraints code - removed relink_data() callbacks in favour of a
more generic system which goes through id_looper(), reducing the maintainance
burden for new constraint authors
2012-05-06 01:27:48 +00:00
Joshua Leung
2554a67889 Deleting action constraints (and a few others) now adjusts the usercounts of
their referenced data correctly
2012-05-06 01:03:51 +00:00
Campbell Barton
c91cee2bb9 code cleanup: naming - BKE_mesh_* 2012-05-05 21:28:12 +00:00
Campbell Barton
6292fb4cbd code cleanup: BKE_libblock_find_name() now takes an ID constant rather then a string. 2012-05-05 17:00:11 +00:00
Campbell Barton
1dccd4c98a code cleanup: naming - pose/armature/image
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-05-05 16:03:57 +00:00
Joshua Leung
ff4ff9c8a4 Bugfixes for various ID-block references (Constraints, NLA)
* ID-blocks referenced by Constraints but not being used as the target objects
(such as Actions in the Action Constraint, or Text Blocks in PyConstraints) now
get usercounts for being referenced in this way. This should fix ancient bugs
such as [#19205] and [#8593]. More tests still needed to verify that this
does now play nicely with proxies.

* Changing actions used by NLA strips should now update the usercounts
accordingly
2012-05-05 15:54:08 +00:00
Campbell Barton
34b18fcbc1 code cleanup: BKE_ naming, also make bpy.data.images.load() always load a new image. (not use existing one) 2012-05-05 14:52:04 +00:00
Campbell Barton
299ff91ea1 code cleanup: BKE_scene api naming.
also stop numpy from being found in /usr/include with cmake.
2012-05-05 14:33:36 +00:00
Campbell Barton
a731e13043 code cleanup: function naming, use BKE_*type* prefix. 2012-05-05 14:03:12 +00:00
Joshua Leung
3b4c9f5041 Mango Bugfix - Actions being tweaked in NLA Editor were not being played back if
the track that they belonged to was currently being played back "solo"
2012-05-05 05:23:28 +00:00
Campbell Barton
084fedd03a code cleanup: brush/camera naming 2012-05-05 00:58:22 +00:00
Campbell Barton
4c5502bfd6 code cleanup: function naming for BLI functions. 2012-05-05 00:23:55 +00:00
Sergey Sharybin
72fa158724 Added start and end bevel factor for curves, so now it's possible to make
a bevelled curve which isn't fully covered with a bevel.
2012-05-04 17:04:20 +00:00
Dalai Felinto
d7fbe03a8a Fisheye Camera for Cycles
For sample images see:
http://www.dalaifelinto.com/?p=399 (equisolid)
http://www.dalaifelinto.com/?p=389 (equidistant)

The 'use_panorama' option is now part of a new Camera type: 'Panorama'.
Created two other panorama cameras:

- Equisolid: most of lens in the market simulate this lens - e.g. Nikon, Canon, ...)
             this works as a real lens up to an extent. The final result takes the
             sensor dimensions into account also.
             .:. to simulate a Nikon DX2S with a 10.5mm lens do:
                 sensor: 23.7 x 15.7
                 fisheye lens: 10.5
                 fisheye fov: 180
                 render dimensions: 4288 x 2848

- Equidistant: this is not a real lens model. Although the old equidistant lens simulate
               this lens. The result is always as a circular fisheye that takes the whole sensor
               (in other words, it doesn't take the sensor into consideration).
               This is perfect for fulldomes ;)

               For the UI we have 10 to 360 as soft values and 10 to 3600 as hard values (because we can).


Reference material:
http://www.hdrlabs.com/tutorials/downloads_files/HDRI%20for%20CGI.pdf
http://www.bobatkins.com/photography/technical/field_of_view.html

Note, this is not a real simulation of the light path through the lens.
The ideal solution would be this:
https://graphics.stanford.edu/wikis/cs348b-11/Assignment3
http://www.graphics.stanford.edu/papers/camera/


Thanks Brecht for the fix, suggestions and code review.
Kudos for the dome community for keeping me stimulated on the topic since 2009 ;)

Patch partly implemented during lab time at VisGraf, IMPA - Rio de Janeiro.
2012-05-04 16:20:51 +00:00
Campbell Barton
b6edcc4b33 make text move up/down into a single operator with a direction property 2012-05-04 16:17:09 +00:00
Joshua Leung
2bc29ff426 Patch [#30654] Wiki Quick Hack: Text editor move lines up/down
Submitted by: Justin Dailey (dail)

Patch allows the current line (or selected lines) to be moved up and down with
Ctrl+Shift+Up and Ctrl+Shift+Down. Has undo/redo support and operators in python
menu.
2012-05-04 14:27:13 +00:00
Campbell Barton
e62f13ac31 own mistake in recent commit CustomData_layertype_is_singleton()
was stopping bmesh python api adding multiple layers.
2012-05-04 13:28:02 +00:00
Campbell Barton
8b1c1e9f61 code cleanup: use much simpler (and likely faster) polygon normal calculation in object mode. 2012-05-04 13:13:45 +00:00
Jason Wilkins
a0ce240de9 Renamed "fake" OpenGL identifiers.
Any identifier that looks like an OpenGL identifier, but isn't, causes a false alarm by the glreport.py tool.  Most of these were in comments so I just rephrased the comments.  There were a couple of static functions/macros that were easy enough to rename.  Only the glTexco and glIndex fields of the DMVertexAttribs struct was public and had non-local uses.
2012-05-04 11:50:11 +00:00
Brecht Van Lommel
621245c6cd Fix related to #31118: ensure tesselated faces are available when exporting
to fluid sim. Is not actually the cause of the bug.
2012-05-04 08:00:55 +00:00
Sergey Sharybin
e3535e884a Style cleanup: spaces around operators 2012-05-03 23:47:39 +00:00
Sergey Sharybin
9a9924c79c Camera tracking: show disabled active track even if Show Disabled is switched off 2012-05-03 23:41:28 +00:00
Sergey Sharybin
48ead27366 Camera tracking: switch dopesheet information to lazy calculation
All operators which changes tracking data now just tags dopsheet as outdated,
actual re-calculaiton of happens only when this information is actually needed
(like on dopesheet draw).

This makes things a bit faster when there's no dopesheet visible in current
screen and also makes it much easier to update dopesheet using dependency
graph.

Also renamed dopesheet_sort_order to dopesheet_sort_method in rna and internal
stuff which makes much more sense and also correlated with naming in
file browser.
2012-05-03 23:15:01 +00:00
Campbell Barton
5da2135eef code cleanup: double promotion & some style cleanup 2012-05-03 21:35:04 +00:00
Brecht Van Lommel
b075765edd Fix #31258: collada now selects newly added objects after import. 2012-05-03 21:32:49 +00:00
Campbell Barton
552a70f177 code cleanup:
- replace iterators with macros
- move vertexCos checks outside the for loops (use 2 for loops).
- style cleanup
2012-05-03 21:19:31 +00:00
Sergey Sharybin
b1006fb949 Clip editor: sort order for dopesheet channels
Supported sorting by name, longest tracked segment and total tracked frames.

Internally tracks are stored in Tracking datablock, but sort order is
a clip editor space property and sorting happens on clip editor draw.
If there's no dopesheet opened with different sort orders it's not
a problem due to re-sorting wouldn't happen.

Also fixed draw issue of tracked segments introduced in previous commit.
2012-05-03 19:28:41 +00:00
Sergey Sharybin
5821c2973e Camera tracking: pre-calculate tracked segments for dopesheet channels 2012-05-03 17:52:34 +00:00
Sergey Sharybin
96693d37e6 Camera tracking: clear clipboard path before copying tracks to it. 2012-05-03 17:02:33 +00:00
Brecht Van Lommel
13e97f86d0 Fix #31259: particle grid distribution not working. 2012-05-03 13:56:15 +00:00
Jason Wilkins
2a6217859e Patch [#30255] Center Last Stroke
Enables the NUMPERIOD view centering operator to work in sculpt mode.  Hitting NUMPERIOD while in sculpt mode will center the view on the end of the last sculpting stroke made by the user.

This is useful for quickly refocusing on the current work area without fussing with the view controls.

It does not zoom into the stroke (slide only).

It does nothing if there have been no strokes.
2012-05-03 03:51:30 +00:00
Brecht Van Lommel
959a717d91 Fix #31250, #31248: wrong vertex normals after transform apply, collada import,
sculpt shape key switch. All cases that called this function needed parameter
only_face_normals set to false, so changed it now.

Also fixed wrong user count for imported mesh from collada and simplified
previous fix for tesselated faces to polygons conversion.
2012-05-02 23:36:34 +00:00
Brecht Van Lommel
a0642a2597 Fix wrong unified weight paint value version patch, was doing incorrect version check.
Fix #31209: weight paint sample & fill not using correct brush/unified value.
2012-05-02 16:05:25 +00:00
Brecht Van Lommel
30c2abd323 Fixes for recent cycles and python/context commits. 2012-05-02 14:22:22 +00:00
Brecht Van Lommel
aa3621c7e6 Python/context: tweak code further so that when you set screen/area/region
from python, it actually gets data context from there as well.
2012-05-02 13:48:14 +00:00
Brecht Van Lommel
4d10642e8b Python/context: allow overriding window/screen/area/region context for running operators
from python, this is useful to run an operator in a particular place in the UI.
2012-05-02 12:14:27 +00:00
Lukas Toenne
01b3deb680 A number of changes to node RNA and the file output node, to simplify socket types and make node code more robust for future nodes with extra socket data.
* Removed the struct_type identifier from sockets completely. Any specialization of socket types can be done by using separate collections in RNA and customized socket draw callbacks in node type. Sockets themselves are pure data inputs/outputs now. Possibly the sock->storage data could also be removed, but this will change anyway with id properties in custom nodes.

* Replaced the direct socket button draw calls by extra callbacks in node types. This allows nodes to draw sockets in specialized ways without referring to the additional struct_type identifier. Default is simply drawing the socket default_value button, only file output node overrides this atm.

* File output node slots now use a separate file sub-path in their storage data, instead of using the socket name. That way the path is an actual PROP_FILEPATH property and it works better with the UI list template (name property is local to the data struct).

* Node draw contexts for options on the node itself and detail buttons in the sidebar now have an extra context pointer "node" (uiLayoutSetContextPointer). This can be used to bind operator buttons to a specific node, instead of having to rely on the active/selected node(s) or making weak links via node name. Compare to modifiers and logic bricks, they use the same feature.

* Added another operator for reordering custom input slots in the file output node.
2012-05-02 07:18:51 +00:00
Campbell Barton
6327c9aae1 style cleanup: whitespace, braces 2012-05-01 20:08:23 +00:00
Campbell Barton
933b3166fc style cleanup: guys - set your editors to tabs! 2012-05-01 17:51:03 +00:00
Joshua Leung
ffc9fcb1a1 Motion Paths GUI Cleanup
This commit refactors the way that the Motion Paths GUI works. The key problems
this tries to address are:
1) Mode error - Confusion about whether we're dealing with the Object or Pose
level Motion Paths panel
2) Display settings vs Baking Settings

In line with the original design intentions for the 2.5/6 Properties Editor,
I've now split out the actual baking-related settings away from the Properties
Editor:
* Now, when clicking "Calculate Paths" from the toolbar, you'll be prompted with
a dialog to select the start/end frames (and for bones, whether to bake from
heads or tails). This is less confusing than relying on firstly setting the
range via the display range settings (and baking using that), since many people
apparently only used the "around current" mode, and were confused why things
weren't working

* Added a display of the frame ranges of the current baked Motion Path on the
active Object/Bone. This makes it clearer/easier to debug if the path suddenly
starts disappearing after a certain frame.

* Replaced Calculate/Clear Paths in the panels with a single "Update" button if
there's already a baked Motion Path.

Hopefully these changes (in combination with some of the other bugfixes) will
make it more obvious how everything works.
2012-05-01 16:19:13 +00:00
Sergey Sharybin
fcb84663cd Fix #31162: Applying textures to rigged models causes crash and no textures in appear in edit mode
Issue was caused by doing stuff like binding textures from glBegin/glEnd block.
2012-05-01 15:59:28 +00:00
Joshua Leung
7a87b89a60 Bugfix [#30097] Motion paths range not correct - Part B (Recalculating existing
paths with new ranges)

If an object/bone already had a motion path, it was not possible to recalculate
it over a different frame range without firstly clearing these paths. This was
both a confusing and troublesome workflow, and has since been removed.
2012-05-01 13:10:36 +00:00
Sergey Sharybin
cb99062ebc Style cleanup: spaces around operator 2012-05-01 12:51:17 +00:00
Sergey Sharybin
8bd5648ce5 Fox #31185: Cannot sculpt shape keys
Was related on sculpting on locked keys. Issue was caused by building
PBVH from base mesh which is now doesn't have shape key loaded into
it as it was in 2.62.

Fixed by loading coordinates from deformed mesh into PBVH like it
happens for on-locked shape keys.
2012-05-01 12:14:44 +00:00
Brecht Van Lommel
a2d0830416 Fix #31195: subsurf modifier draws wrong vertex colors. 2012-05-01 10:18:10 +00:00
Daniel Stokes
ae4fda82b0 Merging phase 1 of the BGE Harmony branch:
* Shadow color now usable in the BGE
 * Simplified the shadow panel while "Blender Game" renderer is active
 * Added variance shadow maps for the BGE
 * Buffered shadows on sun lamps in the BGE (orthographic)
 * Light textures in the BGE
2012-05-01 02:50:17 +00:00
Campbell Barton
1d743d11dc bmesh - python api
- bm.*.layers.*.verify()
- bm.*.layers.*.is_singleton
- bm.*.layers.*.copy_from(other)


also added api functons
- BM_data_layer_copy(...)
- CustomData_layertype_is_singleton(type)
2012-04-30 18:54:14 +00:00
Thomas Dinges
df74a51bac Patch [#30681] Improved Display of Header Statistics by Harley Acheson (harley), thanks!
* This patch changes the header statistics to something more meaningful
* Removed the blender.org string, version info is sufficient + not all Blender versions come directly from blender.org
* Use names like Faces, rather than abbreviations.
* Show Verts, Edges and Faces, independent of the current selection method in edit mode. 
* Added TriCount into the header.

* Small change to the patch by myself, added a "v" in front of the version number.
2012-04-30 18:37:34 +00:00