Commit Graph

761 Commits

Author SHA1 Message Date
Campbell Barton
a64339d319 Use smoothview For * (align to object) and editmode align to selected. 2007-04-09 12:22:22 +00:00
Campbell Barton
525e7ac8d0 smooth view transformations, set the smoothview value to about 250 and the view animates when you switch between side, top etc. 2007-04-09 11:15:23 +00:00
Joshua Leung
655f9a61de == Clamp-To Constraint (was Patch #4818) ==
This (new) constraint limits the location of an object/bone to the range of locations
on a given curve. It works by comparing the location of the owner on one axis, to
the extents of the curve's bounding-box on the same axis, to find the location on
the curve.

Usage Notes:
* 'Ob:' field must point to a valid curve object
* This curve should have 'Path' turned on in order for this constraint to work. You
don't really need to do this as it will be taken care of by the code.
* 'Auto' toggle automically determines which axis should be used for the distance estimations/calculations. It is the default option, but may not work that well for
some cases.
* X/Y/Z toggles can be used to select the axis to use for these calculations. Try
to choose the axis along which the curve stretches out for most.

Python Notes:
Python API access for this constraint is not included in this commit. Will be coming
soon.
2007-04-07 03:32:57 +00:00
Matt Ebb
bbceedced0 * Tablet support fixup
This commit should hopefully fix some of the problems some people were
having with tablet support in sculpt mode, and also the problems I made
visible with my previous commit related to number field dragging.

Now, all the ghost related stuff is tucked away in ghostwinlay.c and a
simple Blender API, similar to the existing get_mbut() for example, is
provided to access the tablet data. As with the other mouse related data in
Blender, the tablet data is cached upon each mouse move or click, in the
Window struct.

You can now just use:

float get_pressure(void);
void get_tilt(float *xtilt, float *ytilt);
short get_activedevice(void);

to get such data from the tablet. Documentation on the returned data
is in ghostwinlay.c in the _Window struct definition.


Brecht and Nicholas, I've updated the painting and sculpt code and it works
just fine here, you may want to give it a check though to make sure I
haven't done anything silly.
2007-04-05 12:42:07 +00:00
Campbell Barton
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
Campbell Barton
273ca449d3 added options to add mesh (cap ends, radius and depth) 2007-03-28 15:25:07 +00:00
Campbell Barton
c820e79e77 made the add mesh functions use do_clever_numbuts so multiple options can be in the one popup 2007-03-28 04:18:58 +00:00
Robert Holcomb
c1e9018118 All UI code reverted to drawnode.c 2007-03-25 23:54:39 +00:00
Robert Holcomb
808a5fc05a Scons build system. MSVC 7.1 in a moment. 2007-03-24 18:41:54 +00:00
Martin Poirier
d193ce012a Followup to Bugfix #6435 by Ton.
Added sensible way in calculateTransformCenter to report an error (including empty selection).
2007-03-24 13:38:50 +00:00
Brecht Van Lommel
5219812f55 Added "Pack Charts" function in the UV editor, using Campbell's new box
packing code.
2007-03-22 20:32:20 +00:00
Joshua Leung
3cb25c774c == Action Editor - Collapsable Action Channels ==
Action Channels can now be collapsed/expanded to show/hide Constraint Channels, lessening clutter. In future, this could (will probably be) expanded to
show the show/hide individual transform channels.

User Notes:
* Expansion is off by default
* NKEY popup now features option to turn expansion on/off
* Changed behaviour of protection a bit - now if an action channel has protection
 on, constraint channels under it are also automagically protected

Developer Notes:
* I've gone through doing a lot of whitespace/linebreak tweaking to get the code looking more consistent with itself
* To save typing (and to make it easier to make future revisions), a set of macros
 is now used to check for some commonly-checked settings (i.e. selection, visibility,
 and protection).
2007-03-20 11:04:47 +00:00
Joshua Leung
8b4b8d4dd2 == Preview Range ==
Preview Range is a useful tool for animating (espcially on longer timelines). It allows you to only run through a limited set of frames to quickly preview the timing of a section of movement without going through the whole timeline. It means you don't have to set/reset start/end frame for rendering everytime you wish to only preview a region of frames.

Hi Ton,

Attached is a patch (I know you've already got lots of them in the tracker ;-) ) for a feature that I've sometimes wanted. It seems that this sort of thing is supported in other packages, but I can't be sure.

Note: I may have left in a few bits and pieces I didn't mean to in the patch (this is off a source tree which had quite a few revisions in it, all of which was experimental)



== Preview Range ==
Preview range is useful for animating (espcially on longer timelines). It allows you to only run through a limited set of frames to quickly preview the timing of a section of movement without going through the whole timeline. It means you don't have to set/reset start/end frame for rendering everytime you wish to only preview a region of frames.

* 'Ctrl P' in Action/NLA/Timeline sets preview range. Click+drag to form selection-box defining region of frames to preview
* 'Alt P' in Action/NLA/Timeline to clear preview range
* 'Pre' button beside Start/End fields in timeline toggles whether start/end fields refer to scene or preview
* 'Ctrl Rightarrow' and 'Ctrl Leftarrow' jump to start/end of preview region when it is set
* 'S' and 'E' set the start/end frames of preview region when it is set (just like normally) in Timeline only
* In Action/NLA editors, frames out of preview region are now drawn darkened when preview-region is set


See the following page for more info later:
http://wiki.blender.org/index.php/User:Aligorith/Preview_Range
2007-03-19 07:32:36 +00:00
Campbell Barton
4f5065ac98 addad e new macro - BASE_SELECTABLE for checking if an object is selectable (restrict visible and restrict selected are off and its in the current view layer)
Made "Select Grouped" functions and "Select Linked" use BASE_SELECTABLE macro so they wont select objects they shouldent.
Made "Select Grouped" push an undo

Made "Select Grouped" and "Select Linked" only push add an UNDO if they make a change to the selection.

Fix for own bug. "Select Group" -> Hooks option could crash blender if an objetc hook was in another scene.
2007-03-19 05:09:56 +00:00
Martin Poirier
5297123de1 === View Orbit Around Active ===
Changed to Orbit around Selection, using transform code to calculate the selection center (using Median center method).
2007-03-18 18:21:24 +00:00
Ben Batt
0b55cac34c == Array modifier upgrade ==
Upgraded the Array modifier to allow the user to specify start and end
cap objects. This makes arrays more flexible and more useful for creating
subsurf cages. The cap objects are added at the start and end of the array,
and will be auto-merged with the rest of the array if the 'Merge' button is
on.

Examples at:
- http://members.optusnet.com.au/~bbatt/tentacle01-endcaps.blend
- http://members.optusnet.com.au/~bbatt/arraytest06.blend
- http://members.optusnet.com.au/~bbatt/arraytest07.blend
2007-03-18 13:26:53 +00:00
Joshua Leung
5a9082a193 == Action Editor ==
* When the mouse is over an Action or Constraint Channel, you can now
rename it by pressing NKEY (like for Shapekey channels). You can also set
the 'protection' status for the Action/Constraint channel in this way.

* Removed the double confirmation when deleting Action-Channels. Also,
markers are now not deleted when deleting action channels.
2007-03-18 06:06:54 +00:00
Ton Roosendaal
dc9a21f25b Patch #6121 by Diego Borghetti
Create/delete vertex groups now is possible in Object mode too (using the
buttons in editbuttons).
2007-03-16 11:29:40 +00:00
Kent Mein
6b55850116 This is a fix for bug #6100
When using international fonts, blender was assuming that the
default language on the system was chinese.

Now it checks to see what language code you have selected and
if its chinese or japanese it converts those to utf8 and then
continues to translate them.

I can't fully check this so will need others to test it.  This
should at least be better now.

Kent
2007-03-15 12:34:44 +00:00
Campbell Barton
0745133528 removed videoscape support, a format from 1988 that nobody uses anymore. 2007-03-13 10:00:27 +00:00
Campbell Barton
021cd4aac3 python api
removed most custom add_*data* wrappers from Main.c
removed makeCurrent() from Text.c (was never in a release), use "bpy.texts.active = text" now
clamp new image sizes
made add_empty_action accept a string rather then a blocktype since the blocktype was only being used to choose one of 3 strings anyway.
2007-03-12 06:21:58 +00:00
Joshua Leung
64f7994454 Action Editor - Remove unused code.
Nothing ever called that part of code, and that code was
'not implemented' anyway.
2007-03-11 04:39:19 +00:00
Nicholas Bishop
4bd5ab628b == Multires ==
Fixed bug #6153, Blender Crash during rendering (internal) with object selected in edit mode.

* Added a render parameter to several of multires's functions. If render==true, multires won't push data onto the undo stack, and regular Mesh data is always used (as opposed to EditMesh data.)
2007-03-08 05:54:39 +00:00
Campbell Barton
9e2081a5fc made alloc_sequence accept a linkedList so it can be used from Python.
the start/end points for new strips were not set properly.
2007-03-07 14:58:29 +00:00
Ed Halley
3927ee214c Uses the bglFlush() and is_a_really_crappy_intel_card() hacks to give
better support on low-end Macintoshes with integrated Intel graphics
chipsets.  Patch received from "UncleZiev" on #blendercoders, but I
adjusted it so other video chipsets and platforms are unaffected.

The only visual difference is that on MacBook and iMac machines, the box
select outline is drawn with solid, not dashed lines like other platforms
and not invisible as they were previously.
2007-03-06 03:39:15 +00:00
Willian Padovani Germano
cf75e5b78c Interface:
Added option "Load Factory Settings" in the "File" menu.

With this, users don't have to remove .B.blend if they want to load the default data stored in Blender. Thanks Ton for ok'ing it and suggesting a better place in the menu (I had put it as "New (factory defaults)").
2007-03-02 18:15:41 +00:00
Joshua Leung
185ede21ce Added a few extra defines for adding constraints. No new constraints added yet. 2007-02-28 08:54:32 +00:00
Nicholas Bishop
4b0db88d3e == Sculpt Mode ==
Removed special Sculpt Mode undo code. Sculpt Mode undo is no longer so useful, since in order to make it more correct it has gotten slower, so normal BIF_undo_push is used now. Fixes bug with Shape Keys, sculpting on a shape key wasn't doing undo properly.
2007-02-27 06:22:41 +00:00
Nicholas Bishop
d3f9e661de == Sculpt Mode ==
Followup to joeedh's commit, removed use of RenderInfo struct from Sculpt Mode.
2007-02-26 21:28:46 +00:00
Nicholas Bishop
a7bccae477 == Sculpt Mode ==
* Replaced get_tex_angle() with tex_angle() and set_tex_angle(). This removes the need to do a bunch of error-prone NULL checking everywhere the texture angle is used.
2007-02-22 18:49:00 +00:00
Ton Roosendaal
05de3fb3d5 Bugfix #6053
When in sculptmode, enter editmode, add faces or vertices, exit editmode,
then undos/redos screw up mesh.

Now the stack for sculpt is freed. Later on one could precisely test why
this undo isn't resistant to such changes.
2007-02-15 20:32:08 +00:00
Joshua Leung
045c40b815 Tiny cleanups of marker drawing code. Shouldn't cause any problems. 2007-02-11 04:02:17 +00:00
Joseph Eagar
fd05f23dce =Armature Undo Fix=
Armature undo was incomplete; no less then 6 places needed undo pushes.
Added undo pushes, and made sure deselectall_armature/posearmature played nice
and only did undo pushes when they're called with AKEY.

This seems like a fairly old issue.  I guess people just didn't notice it enough
to file a bug report. :)
2007-02-10 19:07:47 +00:00
Ben Batt
1e8e779e6a Bugfix for #5603 - event que 'stuck' when holding down shift modifier
when sculpting

This bug was caused by the main event queue overflowing. This commit fixes the
bug by increasing the size of the main event queue from 256 events to 4096
events.
2007-01-31 11:24:13 +00:00
Nicholas Bishop
a9cd5b808c = Multires =
Fixed bug #5756, Rendering artifacts when MRM is not set to maximum

Several changes were made:
* Added function multires_level_n to get the nth level from a multires mesh
* Removed the changes I made some time ago to init_render_mesh for multires meshes. Previously it was making a full copy of the mesh object in order to be able to apply deformations to the Pin level and propagate them to the Render level.
* Added two functions to DerivedMesh.c, multires_render_pin and multires_render_final. These two functions work together in the mesh_create_derived_*_render functions to apply all modifiers to the Pin level, then create the DerivedMesh from the Render level, and lastly restore the mesh to its original (undeformed) state.
* Added a check in multires_del_lower and multires_del_higher to ensure that level indices are properly clipped to the actual range of available levels.
2007-01-21 23:46:00 +00:00
Joshua Leung
a7ea449214 (Hopefully this commit is ok for current bcon status)
Moved function used for 'Visual' keyframing, to live with the rest of the
API calls I added for Pose-Mode bone snapping. Now, it is in a more
'releasable' state.
2007-01-17 05:53:44 +00:00
Nicholas Bishop
5f798002c9 Added a new function+struct to glutil that takes care of reading in the OpenGL data needed for gluProject/gluUnProject. This allows retopo and sculptmode to share some of the same code, and is probably useful elsewhere as well. 2007-01-17 03:57:01 +00:00
Joshua Leung
c967679bb8 == Armature Joining Bugfixes ==
Since 2.40 (and a few pre-releases around then), armature joining has not
worked correctly. Constraints and other attributes of bones in posemode
(IK DOF limits, transform locks, custom shapes, etc.) were not preserved
on the armature(s) that were joined onto the last selected armature. This
was a serious production problem, as it meant that you could not easily
add pre-made rig segments and merge them with the rest of your rigs without
having to redo all the constraints. After a few attempts, I've finally
managed to fix this.

All constraints and parenting relationships get name corrections for the post-
merge armatures. Action channels in actions don't really get any corrections
yet unless the action is being used by an Action Constraint.

Python-API people: beware, I may have broken something in this commit.
2007-01-16 09:18:01 +00:00
Joshua Leung
09bd559939 == Action Editor ==
Final tweaks to Snapping and Mirroring tools:
* Snap To Nearest Marker
* Mirror Values of Horizontal Axis
* Mirror Over Selected Marker
2007-01-15 22:37:36 +00:00
Nicholas Bishop
25361281a1 Removed set_sculpt_object. Tested with sculpt undo, sculpt+multires, sculpt+partial visibility, and sculpt+shapekeys, seems stable. 2007-01-12 05:13:36 +00:00
Nicholas Bishop
413ff0ca2d Changed the way sculptmode interacts with shape keys. Vertex coordinates are now copied into the active key at the end of each brush action. (This is in preperation for removing the function set_sculpt_object.) 2007-01-12 04:47:38 +00:00
Joshua Leung
bff2dcc6d8 == NLA Editor ==
Minor workflow tweak - Add New Empty Action as New Action Strip.
Hotkey: Shift N.
Menu Entry: 'Strip' menu

Creates a new action, and adds it as an action strip at the bottom of
the list nla-strips for an object. Useful for creating additional strips to
correct poses of prior strips.
2007-01-12 02:34:47 +00:00
Matt Ebb
7bcfc5be3f == Interface ==
Touched up the render baking header menu.
2007-01-12 01:13:27 +00:00
Nicholas Bishop
7e221c248c Further cleanups for multires' firstlevel data (both weights and UVs.) 2007-01-11 07:01:30 +00:00
Nicholas Bishop
8cfc675b5a Made deleting a UV layer work correctly with multires enabled. Still need to do adding and renaming layers. 2007-01-10 08:16:27 +00:00
Nicholas Bishop
0e27b11f6e Modified weightpaint to prevent user from editing multires weights except on level 1. 2007-01-10 06:43:03 +00:00
Nicholas Bishop
043be07050 Large fix for multires. Changed UV coordinates (MTFaces) to be special first-level data in multires. The data is now stored in a standard CustomData struct in Multires, rather than being stored for each level. (The UVs can now only be edited on level 1.) Changes allow multiple sets of UVs to work correctly. This change should also decrease multires memory usage some (though only when UVs are being used, of course.)
Changes to CustomData:
Some functions would only return the current active layer, added extra variants that take an index to select the level (modeled after CustomData_get_layer_n.)

Still todo:
* UVs are being interpolated linearly, should probably offer Catmull-Clark subdivision like Subsurf modifier.
* Vertex Colors still don't support multiple customdata layers.
* Editing UV data on levels other than 1 should be disabled in the interface (same for weights)
2007-01-10 06:09:10 +00:00
Jiri Hnidek
75b553e900 - Bug fix: object trnasformation now follows verse specification. It
means, other verse client will display object transformation correctly.
   Objects will not be up-side down etc. Bug reported at irc by Emil.
   Thanks!
2007-01-09 11:50:45 +00:00
Ton Roosendaal
2e66b143f3 - Added panel for Bake render (tabbed now in 'anim' panel).
(Empty space will get OSA options, that I add tomorrow or so)

- Removed a lot of old unused variables in renderdata. Also meant I had
  to remove this from python API... please check if this gives valid
  scripts?

- Cleaned up bad formatted code for FFMPG buttons (spaces instead of tabs)
2007-01-09 11:10:12 +00:00
Martin Poirier
eb3d720bd9 === Transform Snapping ===
Snap/Grid icon button in 3D view header (edit mesh). FIXME NOTICE: make nice looking icons (yes, that's for you Matt)
When snap is on, a drop down appears for the target method (closest, median, center)

Hotkey to toggle snap is Shift-Tab (this was previously used for a not totally equivalent to Tab. Ton said OK to scrap it). That hotkey is currently restricted to edit mesh (where snap is currently restricted).

Changed a couple of ugliness on how snap settings are stored.
2007-01-07 19:33:00 +00:00