Commit Graph

9505 Commits

Author SHA1 Message Date
Martin Poirier
e4e66c9aa4 === Transform Snap ===
Snapping for object mode

Changes:
- Transform snap now working in object mode and not just mesh edit mode
- Shift-Tab can be used to toggle snap on/off inside transform too (no more Esc,toggle,restart)
- Object mode snap: Closest uses the bounding box corners of all selected objects, Median uses object center and Center uses transform center (same as edit mode).
- Object mode snap: all visible meshes can be used to get the snapping point (unlike edit mode snap which is limited to selected mesh: this might be adjusted to make edit mode snap use all visible too).

To Do:
- Add "Active" snap target method: use active object (or mesh element) as snap target
- Add snapping capabilities to Scale
- (Maybe) Add "Near pointer" snap target method: use selected element that is closest to mouse pointer as snap target. Active could probably accomplish that already in a less confusing manner, so I might skip this.
2008-01-13 22:20:18 +00:00
Martin Poirier
d660e29365 === Custom Transform Orientation ===
Custom Orientations can be added with Ctrl-Shift-C (hotkey suggestions are welcomed), this adds and select the new alignment. Custom Orientations can also be added, deleted, selected from the Transform Orientations panel (View -> Transform Orientations). Standard orientations (global, local, normal, view) can also be selected from this panel.

If you plan on using only a single custom orientation and don't really need a list, I suggest you use the hotkey as it adds and selects at the same time.

Custom Orientations are save in the scene and are selected per 3D view (like normal orientation).

Adding from an object, the orientation is a normalized version of the object's orientation.
Adding from mesh data, a single element (vertex, edge, face) must be selected in its respective selection mode. Vertex orientation Z-axis is based on the normal, edge Z-axis on the edge itself (X-axis is on the XoY plane when possible, Y-axis is perpendicular to the rest). Face orientation Z-axis is the face normal, X-axis is perpendicular to the first edge, Y-axis is perpendicular to the rest.
(More logical orientations can be suggested).

I plan to add: 2 vertice (connected or not) => edge orientation , 3 vertice = face orientation

Differences from the patch:
- orientations no longer link back to the object they came from, everything is copy on creation.
- orientations are overwritten based on name (if you add an orientation with the same name as one that already exists, it overwrites the old one)
2008-01-13 18:24:09 +00:00
Campbell Barton
67de673496 Bugfix, un-initialized variables for tubemap and spheremap mapping, affected textures 2008-01-13 18:13:39 +00:00
Andrea Weikert
52d283d1ab == MSVC 7.1 projectfiles ==
blenkernel needed opennl include (softbodies)
blenderplayer needed linking opennl too now.
replaces powf with pow in multires - MSVC isn't C99 compatible
2008-01-13 15:10:09 +00:00
Campbell Barton
826ff978cb Bugfix
[#6861] Black dots when using small lamps on Mirror materials in 2.44 and 2.43.
some values were not initialized properly, for example, the window coordinates for reflections, this caused NAN color values for some pixels, (may also fix plumiferos bad pixel problem from last bconf)
2008-01-13 11:15:23 +00:00
Nicholas Bishop
012d196b81 == Sculpt ==
Added undo pushes for the items in the sculpt menu
2008-01-13 01:29:45 +00:00
Nicholas Bishop
f1ff291ad1 == Sculpt ==
Added undo pushes after changing the brush type using the CTRL+TAB menu and after interactive change of brush size/strength/rotate.
2008-01-12 21:59:18 +00:00
Nicholas Bishop
800d4de5d6 == Sculpt ==
Fix for the initial brush shape; wasn't initialized properly on older files.
2008-01-12 21:51:23 +00:00
Joshua Leung
4830f12680 == AutoKeying - Tidy Up ==
This commit restores the "big red button". When Auto-Keying is enabled (record button toggled on), a menu appears beside it to choose which behaviour for auto-keying should be used. This should be more efficient for quickly turning Auto-Keying on/off.

I've also added the relevant version-patches to fix up old files so that sensible default options are in use.
2008-01-12 11:06:51 +00:00
Campbell Barton
60722bfb1d fix for [#8019] Switching to Image Browser window crashes Blender
http://projects.blender.org/tracker/index.php?func=detail&aid=8019&group_id=9&atid=125
2008-01-12 09:22:02 +00:00
Jens Ole Wund
1610b55f7e nice little thing -> have angular response on 'aero'
made backward compatible for sure
2008-01-12 01:26:40 +00:00
Ken Hughes
e8a200eb04 Python API
----------
Correct error in Mathutils.Rand documentation (pointed out on IRC by masterofbytes).
2008-01-12 00:54:42 +00:00
Campbell Barton
6b0cadd780 removed printf and added back a line removed by mistake 2008-01-11 22:54:02 +00:00
Campbell Barton
22d28f216f removed "Insert Gap" shortcut - alt/shift+mousewheel
It was too easy to Pan (Shift+MMB) but mousewheel without meaning to.
Extend - E-Key also does this in a more useful way.
2008-01-11 18:33:52 +00:00
Campbell Barton
b380e344fd bugfix for cyclic curves 2008-01-11 18:02:28 +00:00
Brecht Van Lommel
e83b7bb46c Bugfix: with non-random particle distribution, the first particle could
still end up on a zero weight face.
2008-01-10 23:06:55 +00:00
Brecht Van Lommel
f62477fe27 - Bugfix to make dupli particles for hair respect render amount.
- Allow Random and Even distribution settings to be set after hair
  is made editable, since they also affect children.
2008-01-10 21:44:16 +00:00
Kent Mein
76cc0a4c57 Added extra include dir to get it compling again.
Kent
2008-01-10 21:35:33 +00:00
Nathan Letwory
7addde207d * convert the nice enums to #defines for two reasons
1)  < kaito> enums are not allowed in dna anyway
  2) linking fails for the yafray api.
2008-01-10 12:31:40 +00:00
Ton Roosendaal
cd02005fe4 Adding the colorband Hue, Saturation, Value, Color blending modes
to the Material Texture blending as well.
2008-01-10 11:26:17 +00:00
Joseph Eagar
8aee3ae449 =Wire render fix=
Fix for urgent problem found in wire render.

Hopefully it compiles and everything.
2008-01-10 05:30:55 +00:00
Joshua Leung
38a33eb7da == Auto-Keyframing Refactor (Peach Request) ==
Refactored Auto-Keyframing to make it easier to add more options. There are now three "states" for auto-keying: off, add/replace keys, replace keys.

Description of modes:
1) No auto-keying is done
2) Add new keyframes or replace existing ones if possible (old behaviour)
3) Only modify existing keys, but not insert new ones. 

Internally, I've moved the auto-keying settings out of G.flag and U.uiflag and moved them into their own variables in Userdef, and provided some macros to access those easily. As a result, old auto-keying settings are currently lost.

Also, removed the manual calls to insertkey done in pose-relax. The reason auto-keying didn't work before was because the bones didn't have the BONE_TRANSFORM flag applied. Now, these are set temporarily.


Todo(s):
* Make icons for the TimeLine header menu (currently just a text menu)
* Add version-patches for old files
* Double-check code for all places that use auto-keying (i.e. PoseLib)
2008-01-10 01:36:22 +00:00
Jens Ole Wund
5b0b214407 resolving back compatibility issues 2008-01-10 00:07:31 +00:00
Matt Ebb
0aa6888758 * Updated makefile for OpenNL, used in new softbody.c 2008-01-09 22:32:36 +00:00
Brecht Van Lommel
ead7a33247 Misc Render Features
====================

- "From Dupli" option for orco and uv texture coordinates. For dupliverts,
  duplifaces and dupli particles, this uses the orco and uv at the point
  on the parent surface. Can for example be used for texturing feathers
  and leafs. Note that uv only works for duplifaces and particles emitted
  from faces, these are not defined at vertices.

- "Width Fade" option for strand render, to fade out along the width of the
  strand. Committing this so it can be tested, might be changed or removed
  even, if it doesn't give nice results.
2008-01-09 14:40:25 +00:00
Joshua Leung
8b78a5cf35 == Action Editor - Editing Goodies ==
* Peach Request - Added Ctrl-PageUp/Down to jump to next/previous keyframe (respectively), just like elsewhere in Blender.

* As a result, Action Channel rearranging has been remapped so that:
  - Ctrl-Shift-PageUp/Down is move to top/bottom
  - Shift-PageUp/Down is move up/down

* Added a hotkey ("accentgravekey", i.e. ~/`) to toggle whether all Action Channel levels are expanded or not. This affects all visible Action Channels.

* Added Ctrl-Numpad+ and Ctrl-Numpad- to expand and collapse all Action Channel levels by one level (as appropriate). This only affect selected Action Channels.
2008-01-09 12:07:38 +00:00
Jens Ole Wund
048170bc6f quite a load is still hidden behind the define #ifdef _work_on_sb_solver
a glance to view is the "STU PID semi implicit euler"
most of the work to implement a semi implicit euler was done ..
now i am dealing  with the tradeoffs between 'calculation time' which is quite expensive .. inverting a 0(n*n) sparse matrix /* once agian thanks to brecht for his work on making sparse matrices LU decomposition and evaluating inverses that easy*/  putting it into and cropping works pretty nice .. argh off topic again
...
while i spent a little time on reading recent papers i found :

1. control on springs needs to be split in pushing and pulling  /* fabric pushes easy but pulls hard */
2. diagonals on 4-gons (in the current SB model) can be seen as shear .. thus need a contol to modify .. this commit wil add it
3. 2 nd order springs /*aka rigidity */ can focus on bending .. thus renaming 'em
 
i have no idea how i would provide backward compatiblity, but the spots i marked in code :)
2008-01-09 00:25:51 +00:00
Joshua Leung
489d814415 Bugfix #8021: Delete in Action Editor can remove pydrivers.py refs
Basically, Ipo-Curves are now not removed when deleting keyframes in the Action Editor, if there is still an attached IPO-Driver on that curve.
2008-01-09 00:05:26 +00:00
Joshua Leung
494ca21103 == Action Editor - Sample Keyframes Bugfix ==
Improved the behaviour of this tool. Now it works correctly in nearly all cases (x----x----o---x----x  situations don't completely work yet though).
2008-01-08 23:32:13 +00:00
Joshua Leung
974819aa03 Bugfix #8068: StretchTo constraints once again messed up
Removed the version-patches to reset the rest-lengths of StretchTo constraints when loading old files. I can't remember why I added these in the first place, but they seem to cause problems from time to time...
2008-01-08 23:11:32 +00:00
Juho Vepsalainen
2630c2c9f3 Minor changes to node rename tool
Rename was changed to work on the last selected node. Also size of a couple of
character arrays was changed to avoid buffer overflows.

Custom name shows up now just fine in group header in case it is being edited
as it did not before.
2008-01-08 19:06:46 +00:00
Joshua Leung
5b6f977970 == Action Editor - Sample Keys ==
Cessen Request - Added a tool which inserts keyframes on every frame between two selected keyframes. This is useful for adding overlapping motion (apparently). 

Use Alt-O to run this tool. The name of this tool is also open to suggestions ;)

Note:
There is currently a bug with this. When there are 4 consecutive keyframes, it won't add keyframes between keyframes 2 and 3.
2008-01-08 11:51:44 +00:00
Nicholas Bishop
745c3a2f5e == Multires ==
Fixed loading files with multires from 2.45. Fixes bug #8056.
2008-01-08 09:25:50 +00:00
Juho Vepsalainen
aa1c0281c6 Custom Names for Nodes
This commit makes it possible to add a custom name to a node. The feature can be
accessed either by using a menu or shortcut ctrl-r. It currently works only when
a single node is selected. Invoking the feature gives a popup menu in which a new
name can be entered. If the given name is not empty, it will be shown like
"(myCustomName) NodeName" in the node header.

This feature is particularly useful when documenting complex node setups.

I also fixed the size of blur node. It was too short before due to my previous
commit.

Thanks to David Millan Escriva for contribution!
2008-01-07 19:38:01 +00:00
Brecht Van Lommel
7da95822f0 Addition to last commit, now the length of the hair is used to
scale the object. Also, the direction is now derived from the
first and last keys on the hair, instead of first and second.
2008-01-07 18:15:57 +00:00
Brecht Van Lommel
fe6c98a4d9 Particle object and group visualization now also work for hair, to
make for example feathers. Also made dupliparts work within groups.

One issue still is that in particle editmode, the duplis can interfere
with brushes and selection, though tweaking the dupli object position
can alleviate the problem.
2008-01-07 16:26:41 +00:00
Juho Vepsalainen
adc68be1a8 Blur Node to support Relative (percent) values
This commit makes it possible to use relative values when using a Blur node. There
is a new toggle in the node that can be used to enable the feature.

Thanks to David Millan Escriva for contribution!
2008-01-07 15:44:45 +00:00
Juho Vepsalainen
011e0a93dd Black and White level inputs to RGB Curves compositing node
This commit adds possibility to define black and white level of the
mapping curve of the RGB Curves node. This functionality is exactly
the same found in the Curves tool of the UV/Image Editor. It can be
used to extract wanted color ranges out of the input easily.

Thanks to Björn C. Schaefer for contribution!
2008-01-07 13:55:48 +00:00
Juho Vepsalainen
e895b7a36a Conversion of "Toggle Link" tool to "Make Link"
This commit alters the behaviour of "Toggle Link" tool found in the node
editor so that it only makes link between selected sockets. Links cannot
be deleted by using the tool again as before. Instead deleting links can
be done by using the old method (drag with lmb).

The delete functionality may require further investigation to see if it
should be improved.
2008-01-07 12:55:37 +00:00
Brecht Van Lommel
5efa093dfc Bugfix for difference between surface and particle orco. 2008-01-07 09:47:52 +00:00
Joshua Leung
ae15a04105 Code cleanup - removed unused var that I forgot to remove from bPose struct 2008-01-07 05:56:41 +00:00
Brecht Van Lommel
e6ee8c7d49 Bugfix: in the new image function, uv test grid option
didn't draw colored crosses correct.
2008-01-06 16:04:48 +00:00
Joshua Leung
6cea2c52b8 One-liner fix:
IK-constraint was broken by code cleanups, as it required the pole-target to be set too.
2008-01-06 09:27:30 +00:00
Joshua Leung
fb10ee3c29 == Auto-IK Improvement (Peach Request) ==
Auto-IK can now operate on more then 1 selected bone at once, (as long as they are not a part of the same chain).
2008-01-06 07:40:37 +00:00
Brecht Van Lommel
33ffc99664 Fix for use of uninitialized variable in shadow caching, could
sometimes give 1 nan pixel.
2008-01-05 21:56:28 +00:00
Campbell Barton
5e8299bda3 Check for screen bounds clipping in particle editmode. (thanks to valgrind again) 2008-01-05 21:49:09 +00:00
Campbell Barton
bbd4d05321 Used valgrind to find some uninitialized variables 2008-01-05 19:11:10 +00:00
Joshua Leung
fc2ea439b0 == PoseLib - Quick Search for Preview ==
Now, when Previewing/Browsing poses with Ctrl-L, it is possible to type in part of a name to limit the poses which can get chosen to hone in on the poses you wish to apply more quickly. 
* The search is case insensitive, and doesn't look for complete matches (it will 'match' if the whole search-string is found). 
* Only basic text manipulation capabilities are available for editing the search string (i.e.  backspace, del, home, end, move text-cursor forward ->, move text-cursor backwards <-).
* Pose browsing using the Scroll-Wheel and Page up/down can be used to browse through the matches
* View manipulation is only possible with MMB, as numpad keys are used for search-string input.

In the process, I've recoded the preview function to be more modular. It's now split up more, like the Transform core.
2008-01-05 10:54:33 +00:00
Joshua Leung
264aaddcb4 Bugfix #7793: ChildOf Constraint works bad for bones
I hope this time I've fixed it once and for all. The cases which use to fail seem to work now, so I assume it's now fixed. In case it isn't, I'll leave the bug report open for a few days first.
2008-01-05 10:01:05 +00:00
Joshua Leung
8e54dc2579 == Constraints - Code Cleanups ==
* Tidied up coding style of code in editconstraint.c 
- removed blank lines, made whitespace-use more consistent

* Shuffled code in editconstraint.c and BIF_editconstraint.h so that it was in a more orderly fashion

* Reduced code redundancy in test_constraints 
- tests which can apply to general constraints (target existance, and clashes with the owner) are not copied out for each constraint that needs it
- ChildOf constraint now gets validated too (before it was missing such checks)

* Recoded the way PyConstraints build the menu for displaying scripts available for use. It now uses dynstr instead of guessing how much memory to allocate for each entry
2008-01-05 09:31:43 +00:00