15 years agoNew: use ALT+ScrollWheel to step through frames. Like for Arrow keys, it
Ton Roosendaal [Fri, 28 Oct 2005 14:19:22 +0000 (14:19 +0000)]
New: use ALT+ScrollWheel to step through frames. Like for Arrow keys, it
does not cycle (not jump back to start frame on the end).

Mac users can also use Apple+ScrollWheel btw!

15 years agoError in creating Python dict for new Mesh API.
Ton Roosendaal [Fri, 28 Oct 2005 13:51:08 +0000 (13:51 +0000)]
Error in creating Python dict for new Mesh API.
It was calling PyModule_AddObject() with unassigned pointer. Crashed on
exit here (python 2.3.2). Weird thing was that python 2.3.5 didnt complain

CVSr ----------------------------------------------------------------------

15 years agoFixed gcc warnings for unused var and unitialiazed vars.
Ton Roosendaal [Fri, 28 Oct 2005 10:09:46 +0000 (10:09 +0000)]
Fixed gcc warnings for unused var and unitialiazed vars.

NOTE: I had to fix NMesh.c, Mesh_fromNMesh(), that is a real bad
function... it was returning a Py object as a Mesh (on error).
This is still not really solved (NULL return is not handled).

15 years agoHere's another milestone: Shape Keys now can be inserted in Actions and NLA
Ton Roosendaal [Fri, 28 Oct 2005 08:11:15 +0000 (08:11 +0000)]
Here's another milestone: Shape Keys now can be inserted in Actions and NLA

It works like for moving Object Ipos to the Action, press the Action icon
in the header of the IpoWindow, to the left of the mode selection menu.
It then creates an Action (if not existed) and moves the Shape Ipo to the
Action, using custom channel "Shape".

Main code change was that evaluating Ipo Curves for Relative Shapes had to
be recoded, but that's pretty minor and even much cleaner. (added "curval"
in the KeyBlock struct).
That this feature can work is thanks to the full modifier/derivedmesh
recode Daniel did, can't give him enough credits! :)

Also; small fixes in Outliner, for clicking on the Ipo icon (sets the Ipo
window to show that Ipo).

15 years agoapplied patch [ #3260 ] Enable compile bullet and sumo with scons
Erwin Coumans [Fri, 28 Oct 2005 04:48:01 +0000 (04:48 +0000)]
applied patch [ #3260 ] Enable compile bullet and sumo with scons

15 years ago- change description of AssignModes from "blah blah" to something meaningful.
Ken Hughes [Thu, 27 Oct 2005 22:07:43 +0000 (22:07 +0000)]
- change description of AssignModes from "blah blah" to something meaningful.

15 years agoNice one: Transform in NLA with the "Lock" feature, not only draws other
Ton Roosendaal [Thu, 27 Oct 2005 20:53:47 +0000 (20:53 +0000)]
Nice one: Transform in NLA with the "Lock" feature, not only draws other
windows, but also evaluates (depgraphed) all Objects involved.
Try select all in NLA and drag around!

15 years agoA few tweaks to the old->new camera conversion code
Matt Ebb [Thu, 27 Oct 2005 19:47:01 +0000 (19:47 +0000)]
A few tweaks to the old->new camera conversion code
after chatting with Ton. I've commented out the old file
title safe conversion for now, so we can actually use it in
files worked on now. Have noted to remember to
uncomment it before the new version number bump.

15 years agoLots of BPy Mesh additions:
Ken Hughes [Thu, 27 Oct 2005 19:37:37 +0000 (19:37 +0000)]
Lots of BPy Mesh additions:
- added faces.uvSel attribute: can get/set selection status of UV vertices in
  UV Editor window
- make mesh.faceUV, mesh.vertexUV and mesh.vertexColor writable: users
  can now enable/disable UV faces, vertex colors, "sticky" vertices
- fixed bug with mesh tool methods: before it would only work if an object
  linked to the mesh was selected
- added mesh.quadToTriangle() and mesh.triangleToQuad() methods
- added selected() method to verts, edges, faces; returns list of indices
  of selected items
- mesh.getFromObject() now gets derived mesh data
- ported vertex group methods from NMesh (required change to Object.c)
- ported module dictionaries from NMesh

15 years agoBugfix: Using the "Influence" slider for Constraints popped back to the
Ton Roosendaal [Thu, 27 Oct 2005 17:37:27 +0000 (17:37 +0000)]
Bugfix: Using the "Influence" slider for Constraints popped back to the
keyed positions when an Ipo was assigned to the Constraint.

15 years agoCopy scene did not copy the markers... causing in memory errors on quit.
Ton Roosendaal [Thu, 27 Oct 2005 17:09:58 +0000 (17:09 +0000)]
Copy scene did not copy the markers... causing in memory errors on quit.
No real baddie, but still very good to fix!

15 years ago- Bugfix #3271: saveRenderedImage() was corrupting memory while trying to
Ken Hughes [Thu, 27 Oct 2005 17:09:20 +0000 (17:09 +0000)]
- Bugfix #3271: saveRenderedImage() was corrupting memory while trying to
  build the filename (thanks for good bug report, Pablo)

15 years agoThe new icon file, with the key markers for NLA and Action
Ton Roosendaal [Thu, 27 Oct 2005 16:57:02 +0000 (16:57 +0000)]
The new icon file, with the key markers for NLA and Action

15 years ago - bug fix: clicking at button "Flip Normals" in button window didn't
Jiri Hnidek [Thu, 27 Oct 2005 16:54:33 +0000 (16:54 +0000)]
 - bug fix: clicking at button "Flip Normals" in button window didn't
   display changes in 3dview and data wasn't added to undo stack too

15 years agoNLA & Action goodies;
Ton Roosendaal [Thu, 27 Oct 2005 16:25:35 +0000 (16:25 +0000)]
NLA & Action goodies;

-> Locked Strip length
When changing time of the animation curves in an Action, the strips in NLA
just remained the same length, causing very confusing situations.
By setting the strips to Locked (Nkey NLA window), it always updates the
strip length to make sure all keys are included, and not more. From now on
(not on old files) this is the default strip method.

-> ALT+C clear size
This menu has 2 options, the first clears the size, the 2nd remaps the
action (only when you didnt use the new Lock feature).
Both options are in the Pulldown menu too

-> Key drawing
The weird beveled button in Action/NLA didn't accurately show what time it
was actually on. I've replaced it with an Icon now, diamond shaped, in a
design derived from the TimeLine markers.

15 years ago When you add new face with F key, then blender set up smoothness due to
Jiri Hnidek [Thu, 27 Oct 2005 15:19:57 +0000 (15:19 +0000)]
 When you add new face with F key, then blender set up smoothness due to
 smoothness of faces in neighbourhood. It tries to set up normal of new
 face due to normals of faces in neigbourhood too.

 btw: this coding was inspired by andy's tutorial at conf in Amsterdam.

15 years agoAnother missing .h file for fix for screen handlers
Ton Roosendaal [Thu, 27 Oct 2005 14:12:16 +0000 (14:12 +0000)]
Another missing .h file for fix for screen handlers

15 years agoMissing include for screen handlers (had to move to kernel level)
Ton Roosendaal [Thu, 27 Oct 2005 14:11:25 +0000 (14:11 +0000)]
Missing include for screen handlers (had to move to kernel level)

15 years agoThis is a bit a patch... unforseen issue with the new Screen Handlers.
Ton Roosendaal [Thu, 27 Oct 2005 13:56:41 +0000 (13:56 +0000)]
This is a bit a patch... unforseen issue with the new Screen Handlers.
(Screen handler is used now to trigger animated screen).

When files get saved with Verse_Blender, it has the verse handler set,
which causes the handler system to run without a means to disable it with
release versions of Blender. This patch disables the Verse Handler to be
set on reading files.

Jiri; you will have to uncomment this code when you sync it with your tree!

15 years agoCTRL+I, pose mode, added accidentally a location constraint, when having 2
Ton Roosendaal [Thu, 27 Oct 2005 13:02:34 +0000 (13:02 +0000)]
CTRL+I, pose mode, added accidentally a location constraint, when having 2
Bones selected.

15 years agoCamera visualisation changes and features (from tuho)
Matt Ebb [Thu, 27 Oct 2005 11:28:43 +0000 (11:28 +0000)]
Camera visualisation changes and features (from tuho)

* Made the in-camera view dashed border lines less jarring
and disturbing. We will give it some testing here, feedback
is welcome.
* Showing the title safe zone is now an option in the
camera edit buttons. It's not very useful if you're not
making stuff for video/broadcast so you can turn it off.
* Passepartout is now a flag per camera, rather than per
scene. It never really belonged in the render buttons or as
Scene data, though it could be up for debate whether it's
better as camera data or view data (i.e. in the view
properties panel). Old files get converted over nicely with
this so if you had passepartout on before, it stays on the
* Added an option to show the current camera's name at
the bottom of the in-camera view, to help keep track of
which one you're seeing when using multiple cameras.
* In the 3D View (non-camera view) the active camera is
drawn with a solid line as before, while non-active
cameras are drawn with a dashed line, to help visualise
which one is active.

15 years agoI hope this commit finally fixes loading of .blend files with text objects
Alexander Ewering [Thu, 27 Oct 2005 10:01:11 +0000 (10:01 +0000)]
I hope this commit finally fixes loading of .blend files with text objects
that had been converted to curve with ALT-C.

Should fix bugs 2973 and 3269. Thanks Ken Hughes for a pointer into the
right direction.

15 years agoMore Orange NLA/Action fixes;
Ton Roosendaal [Wed, 26 Oct 2005 21:13:00 +0000 (21:13 +0000)]
More Orange NLA/Action fixes;

- NLA: Hotkey ALT+S resets (synchs) action start/end in selected Strips
- NLA: Panel for Strips allow setting negative "Action start"
- NLA: When transforming strips, the selected keys for that action don't
  get included (caused weird errors)
- Action: cleanup of drawing horizontal bars.
- Action: Pulldown menu option "Lock time" was in different location than
  for the other pulldowns

15 years agoOrange bugreport:
Ton Roosendaal [Wed, 26 Oct 2005 20:02:31 +0000 (20:02 +0000)]
Orange bugreport:

The new "lock time" option for ipo/action/nla/time/sound windows did not
work proper... it could accidentally activate other windows, confusing the
2d settings.

15 years agoOrange bugfix;
Ton Roosendaal [Wed, 26 Oct 2005 19:42:32 +0000 (19:42 +0000)]
Orange bugfix;

Border select in Action window didn't get corrected for NLA time.

15 years agoOrange bugfixes in NLA editor;
Ton Roosendaal [Wed, 26 Oct 2005 19:34:32 +0000 (19:34 +0000)]
Orange bugfixes in NLA editor;

- ALT+C "convert action into strip" didn't calculate the mouse position
  correct. Also changed menu a bit to tell which action it makes a strip
- Select action strips  now activates Object too
- Icons in Object 'row' (denoting NLA override or not) now draw blended

15 years agoDefault openGL material had a tiny ambient set, causing black to be not
Ton Roosendaal [Wed, 26 Oct 2005 19:00:40 +0000 (19:00 +0000)]
Default openGL material had a tiny ambient set, causing black to be not
black really! :)

15 years agoFix for vertex/weight paint, so it evaluates the subsurfed vertices for
Ton Roosendaal [Wed, 26 Oct 2005 18:48:53 +0000 (18:48 +0000)]
Fix for vertex/weight paint, so it evaluates the subsurfed vertices for
applying paint. (Until now it used non-subsurfed vertices).

15 years ago- make getMeshDerivedMesh() initialize flag setting for new vertices (needed
Ken Hughes [Wed, 26 Oct 2005 17:36:02 +0000 (17:36 +0000)]
- make getMeshDerivedMesh() initialize flag setting for new vertices (needed
  for BPy Mesh to get derived mesh data)

15 years ago-Bugfix #3207: ALT-C on a mesh with modifiers would cause memory corruption.
Ken Hughes [Wed, 26 Oct 2005 17:33:31 +0000 (17:33 +0000)]
-Bugfix #3207: ALT-C on a mesh with modifiers would cause memory corruption.
   We make a copy of the mesh and perform operations on the new object using
   mesh_create_derived_no_deform() for the new object instead of the

   Would be really nice if Daniel would look this over to see if it's really
   fixed, or if I've just moved the problem somewhere else. :-)  I'm leaving
   the bug report open until the fixed is verified.

15 years agoPython API Additions
Johnny Matthews [Wed, 26 Oct 2005 16:30:50 +0000 (16:30 +0000)]
Python API Additions

Ipo Drivers access in IpoCurve
key.getChannelIpo(index) returns the ipocurve of a given shape index

Docs included for usage :)

15 years ago* fixed a problem where you couldn't select a timeline
Matt Ebb [Wed, 26 Oct 2005 13:43:55 +0000 (13:43 +0000)]
* fixed a problem where you couldn't select a timeline
marker on a frame < 0. Weirdly enough, it seemed to be
deliberate, with the line:
if(cfra < MINFRAME) cfra= MINFRAME; )

I removed this, but if whoever wrote it has a good
reason why it should be there, please let me know!

15 years ago- hopefully fixed osx compilation by forcing compilation
Nils Thuerey [Wed, 26 Oct 2005 12:07:51 +0000 (12:07 +0000)]
- hopefully fixed osx compilation by forcing compilation
  with a single file again (intern/elbeem/intern/solver_main.cpp
includes intern/elbeem/intern/solver_init.cpp and
intern/elbeem/intern/solver_util.cpp when __APPLE_CC__ is defined)
- minor cleanup of inlined functions

15 years agoDisabled CrazySpace when 'proportional edit' is on... I discovered both use
Ton Roosendaal [Wed, 26 Oct 2005 10:49:19 +0000 (10:49 +0000)]
Disabled CrazySpace when 'proportional edit' is on... I discovered both use
the eve->vn pointer to store temporal data. Need a better solution, do it
later. This just prevents crashing!

15 years agoNew: CrazySpace [tm] correction
Ton Roosendaal [Wed, 26 Oct 2005 09:56:52 +0000 (09:56 +0000)]
New: CrazySpace [tm] correction

When Modifiers are used in Edit Mode to show the deformed result for
editing, all actual coordinates Blender works with are still the ones from
the original Cage. You can notice that with the Transform Widget or
helper lines while transforming.

Even worse, the actual transformations still happened on the original Cage
as well, making it very hard to edit. That caused the feature to be named
"CrazySpace" (baptized by Andy, afaik?).

This commit calculates the deformation transformation per vertex, and
inverse corrects it, so it's more intuitive editing this way.

Unfortunately all the deformation features of Blender don't use matrices
for defining deform, so the existing code cannot be re-used to retrieve
the correct deformation matrix per vertex. The solution I found is based
on calculating per face the transformation based on its first 3 vertices,
and store this transformation averaged in the face's vertices.
The solution can also only work on entire faces, because the full deform
can only be retrieved using 3 vertices. (using 2 vertices will miss edge-
aligned rotation, using 1 vertex can only retrieve translation).

By deriving the deformations per face, small errors will still happen,
especially on very low-poly Meshes with extreme deformations.

The only alternative I know now, is providing each vertex in
a mesh with 2 extreme small tangent vectors, which get deformed using the
existing code as well. That will mess up the existing deformation code too
much though, this solution has the benefit it works with each deform we can
up with later too.

Last note about CrazySpace: it can only be used to tweak Meshes. Do not
even try to add vertices, extrude, or duplicate. Probably we should disable
this... but preventing user errors isn't always power-user-friendly, eh. :)

15 years agofix access of pointer before its assigned
Ken Hughes [Wed, 26 Oct 2005 00:54:53 +0000 (00:54 +0000)]
fix access of pointer before its assigned

15 years agoFIX: BLI_makestringcode called with bad pointer mainl->curlib
Andrea Weikert [Tue, 25 Oct 2005 20:19:31 +0000 (20:19 +0000)]
FIX: BLI_makestringcode called with bad pointer mainl->curlib
Moved call to before blo_join_main where pointer gets killed.
Otherwise Blender crashed when appending a file and selecting
relative filenames.

15 years agoBugfix #3231
Ton Roosendaal [Tue, 25 Oct 2005 19:40:13 +0000 (19:40 +0000)]
Bugfix #3231

Constraint Ipos didnt work when the bone/channel had no Action Ipo...
just had to move a line of code. :)

15 years agoNew; Rotation Constraint allows to only copy X,Y,Z axis rotations.
Ton Roosendaal [Tue, 25 Oct 2005 19:13:04 +0000 (19:13 +0000)]
New; Rotation Constraint allows to only copy X,Y,Z axis rotations.

Note this is based on eulers, so might give the common issues. :)
For most cases it goes fine though, especially with only 1 axis constraint.

15 years agoBugfix #3232
Ton Roosendaal [Tue, 25 Oct 2005 18:48:18 +0000 (18:48 +0000)]
Bugfix #3232

When a file was loaded with curves in invisible layers, the displists
were not created.

15 years agoBugfix; appending with using relative paths made all dynamic links from
Ton Roosendaal [Tue, 25 Oct 2005 18:22:34 +0000 (18:22 +0000)]
Bugfix; appending with using relative paths made all dynamic links from
other libraries local.

Also added some securities in the temporal 'sync pose' testing code. It now
asks with a menu to confirm the object to be replaced too. Later more!

15 years agoupdated elbeem project for new / removed files
Jens Ole Wund [Tue, 25 Oct 2005 18:18:43 +0000 (18:18 +0000)]
updated elbeem project for new / removed files

15 years agogetMarked return change to dict
Joilnen Leite [Tue, 25 Oct 2005 18:12:27 +0000 (18:12 +0000)]
getMarked return change to dict

15 years agoFix for when knife tool (with path setting) is terminated with ctrl-Enter.
Chris Want [Tue, 25 Oct 2005 17:43:22 +0000 (17:43 +0000)]
Fix for when knife tool (with path setting) is terminated with ctrl-Enter.
Also, updated the little helper line on the status bar to indicate that
terminating with ctrl-Enter leaves only the verts on the cut line

Johnny: Please review.

15 years agoFirst commit, for test, for using Library files for synchronizing partial
Ton Roosendaal [Tue, 25 Oct 2005 15:58:51 +0000 (15:58 +0000)]
First commit, for test, for using Library files for synchronizing partial
data. This functionality is going to be in Outliner, for now only use
for testing while consulting me. :)

Usage: New option in SHIFT+F1 append window, "Sync Pose". When pressed, you
can append/load an *Object* of type Armature, this then replaces its
Armature and Pose with the selected Objects. After that it deletes the
appended object.

Note: it currently appends also Objects when used in Pose Constraints...

15 years agoSubdivide recode assistance!
Ton Roosendaal [Tue, 25 Oct 2005 13:57:37 +0000 (13:57 +0000)]
Subdivide recode assistance!

- Added subdivide sck upport for vertex groups
- Brought back subdivide-smooth, but it doesn't work as good as before yet,
  it used to catch an exception for subdividing the middle vertex of a quad,
  with edge-based subdivide it's not that simple. Will check later.
- made "number of cuts" a static variable, so it doesn't jump back to 2
  all the time

Coder level notes:

- removed the old subdivide code (yay, over 30k code less!)
- did some minor layout cleanups in the new code (just consistant syntax)
- removed redundant code parts, to enable smooth & vgroup subdiv
- subdivide smooth can do multiple cuts too, but i like to see that only
  as option when our smooth formula is good!


I think Johnny really made comprehensible design and nice code here. Was a
joy to work with. :)

15 years agofix for bug #3193, winmat was not calculated properly because of
Alfredo de Greef [Tue, 25 Oct 2005 09:30:54 +0000 (09:30 +0000)]
fix for bug #3193, winmat was not calculated properly because of
some previously uninitialized parameters.

15 years agoOnly restructured code:
Nils Thuerey [Tue, 25 Oct 2005 08:07:52 +0000 (08:07 +0000)]
Only restructured code:
- added Hos fixes
- split up solver into 3 cpp files (as suggested by jonathan)
- de-inlined function that caused gcc33 to use >1GB of memory

15 years ago-Bugfix #3254: Ipo.addCurve() didn't check if curve already existed before
Ken Hughes [Tue, 25 Oct 2005 04:46:49 +0000 (04:46 +0000)]
-Bugfix #3254: Ipo.addCurve() didn't check if curve already existed before
  creating (reported by Toni)

15 years agoMore bugfixing related to #3149:
Brecht Van Lommel [Mon, 24 Oct 2005 22:20:30 +0000 (22:20 +0000)]
More bugfixing related to #3149:
Drawing of rotation limits and IK solving was wrong with pose mode
bone offsets.

Also added proper modifier stack update after uv unwrap and lscm.

15 years agocleaning up
Jens Ole Wund [Mon, 24 Oct 2005 22:13:32 +0000 (22:13 +0000)]
cleaning up
- removed euler branch in favor for a 'better solver to come'
- removed some debug vars from lattices
- removed some garbage related to 'borrowing' collision from particles
note SB collision is completly decoupled from particle stuff to allow
: 1. SB collision targets can be 'anything evaluated by modifier stack' but won't be subsurfed (for performace reasons / possible though / see comment in code)
: 2. SB <-> SB collisions
: 3. ( 1. implies that SB collision targets may be animated, hooked,  curve deformed ,  .. ! )

15 years agoFix for correct handling of relative filenames.
Andrea Weikert [Mon, 24 Oct 2005 20:52:51 +0000 (20:52 +0000)]
Fix for correct handling of relative filenames.
Now relative filenames that are not below the .blend file
in the directory hierarchy can be used.

  The relative filenames are not updated if the blend file
  is moved to another dir or saved into another dir (save as)
  We will rely on the smartness of the users for this.

my first official commit - thanks Ton!

15 years agoBugfix #3242
Ton Roosendaal [Mon, 24 Oct 2005 20:47:28 +0000 (20:47 +0000)]
Bugfix #3242

Ipo WIndow, "Make single user" button crashed. Forgot to recode 2 weeks ago

15 years agoMade it so that number of editmode unsteps can successfully be set to zero.
Chris Want [Mon, 24 Oct 2005 20:11:16 +0000 (20:11 +0000)]
Made it so that number of editmode unsteps can successfully be set to zero.

15 years agoBugfix #3238
Ton Roosendaal [Mon, 24 Oct 2005 20:03:53 +0000 (20:03 +0000)]
Bugfix #3238

ALT+C on mesh without modifier crashed.

15 years agoBugfix #3210
Ton Roosendaal [Mon, 24 Oct 2005 19:22:04 +0000 (19:22 +0000)]
Bugfix #3210

Included a patch by Pablo Marrol! selecting with ALT+CTRL combos
didnt check if there was actually a Mesh in editmode.

15 years agoBugix #3200
Ton Roosendaal [Mon, 24 Oct 2005 19:13:15 +0000 (19:13 +0000)]
Bugix #3200

DAG_object_flush_update() always used scene layers, causing updates to go
wrong with 3d windows with "Lock" off (allowing local layer and camera).

This fixes a larger amount of potential issues.

Also: fixed menu title for adding IK constraint to Bone (CTRL+I).

15 years agoFix for Bug #3217
Johnny Matthews [Mon, 24 Oct 2005 18:17:35 +0000 (18:17 +0000)]
Fix for Bug #3217

Just needed to mark a few more edges.

15 years agoThe handy Shift Space for maximise a window space
Matt Ebb [Mon, 24 Oct 2005 12:53:24 +0000 (12:53 +0000)]
The handy Shift Space for maximise a window space
wasn't being too handy in the text editor, so I've disabled
it here now.

15 years agoBugfix (based on user mailing me): In editmode, "remove doubles" crashes
Ton Roosendaal [Mon, 24 Oct 2005 09:00:33 +0000 (09:00 +0000)]
Bugfix (based on user mailing me): In editmode, "remove doubles" crashes
when it uses subsurf display. Was missing a DAG update.

15 years agoAutohandles in Ipo Window still could overshoot. Added a new clamping to
Ton Roosendaal [Sun, 23 Oct 2005 21:36:24 +0000 (21:36 +0000)]
Autohandles in Ipo Window still could overshoot. Added a new clamping to
ensure the handles never result in a curve that goes beyond the neighbour
control points.

15 years agoFixed backwardstransform.blend bug from orange dudes.
Martin Poirier [Sun, 23 Oct 2005 21:34:20 +0000 (21:34 +0000)]
Fixed backwardstransform.blend bug from orange dudes.
It was literally two lines of code.

This probably fixes a lot of the "constraining transform goes backward" problems.
Was a dumb oversight on my part.

15 years agoBugfix: select Vertex Group in Outliner now updates 3d view properly.
Ton Roosendaal [Sun, 23 Oct 2005 19:27:45 +0000 (19:27 +0000)]
Bugfix: select Vertex Group in Outliner now updates 3d view properly.

15 years agoThe ctrl+click extrude now calculates a rotation, so you can do wild quick
Ton Roosendaal [Sun, 23 Oct 2005 19:16:37 +0000 (19:16 +0000)]
The ctrl+click extrude now calculates a rotation, so you can do wild quick
It detects the rotation based on the average of all half-selected edges and
the extrude vector. The first rotation might go wrong on extruding parts
of very irregular shapes, but in general it does it fine. Of course, single
vertex clicking or entire shape clicking doesn't rotate.

15 years agoupdated SConstruct and Makefile so that if you compile the gameengine, is always...
Erwin Coumans [Sun, 23 Oct 2005 17:55:19 +0000 (17:55 +0000)]
updated SConstruct and Makefile so that if you compile the gameengine, is always enables bullet, independent of sumo/ode.
So for the 2.4 release, both bullet AND sumo will be enabled. You can choose in the world buttons which physics engine is active for a scene.

sorry if this breaks your builds!

15 years agoRemoved DAG update for armature after inserting keys in pose mode.
Ton Roosendaal [Sun, 23 Oct 2005 16:18:42 +0000 (16:18 +0000)]
Removed DAG update for armature after inserting keys in pose mode.
That caused un-keyed positions to flip back.

15 years agoOne Constraint function missed the new MINMAX (floor) type, caused the
Ton Roosendaal [Sun, 23 Oct 2005 16:13:04 +0000 (16:13 +0000)]
One Constraint function missed the new MINMAX (floor) type, caused the
last commit (add constraint menu) to fail on adding floor constraints.

15 years agoNew: Hotkey/menu access in 3D window to add constraints. Works in PoseMode
Ton Roosendaal [Sun, 23 Oct 2005 12:18:32 +0000 (12:18 +0000)]
New: Hotkey/menu access in 3D window to add constraints. Works in PoseMode
as well as for Objects. Hotkey: CTRL+ALT+C (bit clumsy I know, but I like
to use the Ckey).

Constraints are added to the active Object or Bone.
Based on selection context, the menu has three versions:

Pose Mode:
  - if another bone is selected, bone becomes target
  - else if another Object is selected, Object becomes target
  - else it adds a new Empty as target
Object Mode
  - if another Object is selected: Object becomes target
  - else it adds a new Empty as target

Same works this way now for CTRL+I, "Add IK".

To be solved: ALT+C in PoseMode is "Clear Constraints", but in Object Mode
it does "Convert" still...

15 years agoAnother useful tool for efficient usage of WeightPaint:
Ton Roosendaal [Sun, 23 Oct 2005 11:03:51 +0000 (11:03 +0000)]
Another useful tool for efficient usage of WeightPaint:

Press SHIFT+LMB, and it shows a menu with all Vertex Groups the vertices of
the indicated face has, also allowing selection of Groups.

15 years agoNew: Option to show the paths of Bones over time.
Ton Roosendaal [Sun, 23 Oct 2005 10:08:19 +0000 (10:08 +0000)]
New: Option to show the paths of Bones over time.

In PoseMode, press Wkey or use the Pose pulldown menu. It calculates the
positions of all selected Bone end points, over the time as indicated with
the Scene start/end frame. This then is drawn as a path, with little black
dots on every frame, and a white dot on every 10 frames.

Paths are not saved in files, and not calculated automatic yet on changes.

To make this relative fast, but also reliable, I had to add a new method
in the Dependency graph system, to find exactly (and only) these parents
of an Object that influence its position. This is needed because the path
should show the actual global coordinates of the entire animation system.

15 years agofixing zero-size array
Nathan Letwory [Sun, 23 Oct 2005 09:11:48 +0000 (09:11 +0000)]
fixing zero-size array
(source\blender\src\editmesh_add.c(122) : error C2466: cannot allocate an array of constant size 0
warning:: ISO C forbids zero-size array `mval')

15 years agofixing most of #3096
Jens Ole Wund [Sat, 22 Oct 2005 22:50:09 +0000 (22:50 +0000)]
fixing most of #3096
by 'eating' contol messages
still there is an issue on how transparent/opaque floating panels should be for messages
... and i am wondering if that should move to 'regular' buttons

15 years agoLong on the wishlist!
Ton Roosendaal [Sat, 22 Oct 2005 19:34:31 +0000 (19:34 +0000)]
Long on the wishlist!

- CTRL+click in EditMesh now extrudes selection. If no selection, it adds
  a new vertex. Try it on a full selected monkey. Fun! :)
- CTRL+click now also adds the new stuff aligned with the view, as if you
  had translated it to the mouse cursor. Only new vertices are added with
  respect to 3D cursor location.

15 years agoVarious stuff in one commit;
Ton Roosendaal [Sat, 22 Oct 2005 18:47:38 +0000 (18:47 +0000)]
Various stuff in one commit;

- Added (BKE_utildefines.h) POINTER_TO_INT(poin) and INT_TO_POINTER(int)
  defines, to help fixing issues with switch to 64 bits systems. This
  assumes that a) not more than 16GB mem is used and b) that address
  space is below the 1<<35 value. The latter has to be confirmed, but it
  seems to conform the current 64 bits generation of OSs (for mallocs).

  Needless to say; use long if you want to store pointers! This is for
  temporal fixing.

- Added editmesh version for mesh-octree lookups, not used yet.

- Fix: ESC on armature posemode restored the actions, should not happen

- Fix: If in NLA an action was 0 frame long, it caused draw error

- Fix: Click on name in Action Window now activates Bones

- Fix: "Snap to" options in Armature editmode now use X-axis mirror edit.

15 years agoAutokey option crashed on Transform... was still using defines from before
Ton Roosendaal [Sat, 22 Oct 2005 15:03:29 +0000 (15:03 +0000)]
Autokey option crashed on Transform... was still using defines from before
the object-action-ipo-nla recode 2 weeks ago.

15 years agoNew: X-axis mirror weightpainting.
Ton Roosendaal [Sat, 22 Oct 2005 14:05:25 +0000 (14:05 +0000)]
New: X-axis mirror weightpainting.

- Set the button in Paint Panel, Edit buttons context
- It assumes the mesh to be near-perfectly mirrored. Current threshold is
  set to 0.0001 (maximum difference allowed).
  In order to evaluate proper mirroring, a new option will be added in
  Mesh editmode later.
- When the flipped group doesn't exist yet, it creates the group
- Of course this doesn't work for mirror modifier!

New: Select/activate flipped bone or vertex group
- Press SHIFT+F in PoseMode or WeightPaint mode to get the flipped bone.
  Is especially to see while painting if the mirror copying works OK.

New: "Apply Envelope to VertexGroup" uses X-mirror option too.

Todo; check on mirror vertex painting, and mirror Mesh editmode....

The implementation is based on a 8x8x8 Octree, where vertex locations are
stored. Vertices on the threshold boundary of an Octree node are filled in
the neighbour nodes as well, ensuring that the lookup works with threshold.
The current size of the Octree gives good speedup, even for 128k vertices
it only needs 256 lookup cycles per checked vertex.
Same code could be used for the bevel tool for example.

int mesh_octree_table(Object *ob, float *co, char mode)

- mode 's' or 'e' is "start octree" or "end octree"
- mode 'u' is "use", it then returns an index nr of the found vertex.
  (return -1 if not found)

15 years ago-bug fixed
Jens Ole Wund [Fri, 21 Oct 2005 22:58:12 +0000 (22:58 +0000)]
-bug fixed
-symtom: looks like rigged SB mesh follows weird goal settings
-cause: arbitary initialisation of 'edge spring rest length' ... must have happend by introducing 'modifyer stacK'

15 years agoA tweak for text follow curve -- the old comment in the code says
Chris Want [Fri, 21 Oct 2005 20:30:09 +0000 (20:30 +0000)]
A tweak for text follow curve -- the old comment in the code says
"why not 0.5?", so I am setting it to 0.5 since it looks way
better that way (I think somebody should really revisit this code
at some point).

15 years ago- documentation updates:
Ken Hughes [Fri, 21 Oct 2005 17:20:54 +0000 (17:20 +0000)]
- documentation updates:
  -- add Key module to index page
  -- include cross references for Object.colbits in material descriptions
     within Object, NMesh and Mesh modules

15 years ago1. Moved Edgeloop Delete to Delete Menu out of Edge Specials
Johnny Matthews [Fri, 21 Oct 2005 14:51:17 +0000 (14:51 +0000)]
1. Moved Edgeloop Delete to Delete Menu out of Edge Specials
2. Edgeloop Delete will pop the undo stack if it fails
3. Small Tweak on CTRL-Subdivide selection

15 years ago- Bugfix #3227: throw exception in NMesh if face data doesn't contain 3 or
Ken Hughes [Fri, 21 Oct 2005 13:52:44 +0000 (13:52 +0000)]
- Bugfix #3227: throw exception in NMesh if face data doesn't contain 3 or
  4 vertices

15 years agoBugfix: #3189, #3208, UV Mirror (MKEY) didn't work.
Brecht Van Lommel [Thu, 20 Oct 2005 23:36:24 +0000 (23:36 +0000)]
Bugfix: #3189, #3208, UV Mirror (MKEY) didn't work.

15 years agoBugfix: #3149, Parent rotation influences DoF / rotation limits
Brecht Van Lommel [Thu, 20 Oct 2005 23:07:43 +0000 (23:07 +0000)]
Bugfix: #3149, Parent rotation influences DoF / rotation limits

The rotation of the parent of the root in an IK chain was included
in the segment's basis, leading to the DoF / rotation limits to be
computed on the wrong basis.

15 years agoCrash fix (now discovered myself!). On sampling wpaint color (ctrl+lmb),
Ton Roosendaal [Thu, 20 Oct 2005 21:37:57 +0000 (21:37 +0000)]
Crash fix (now discovered myself!). On sampling wpaint color (ctrl+lmb),
when no vertex groups exist, it was referencing illegal memory.

15 years agoAnother memory error found, when deleting bones in editmode, it didn't
Ton Roosendaal [Thu, 20 Oct 2005 21:02:04 +0000 (21:02 +0000)]
Another memory error found, when deleting bones in editmode, it didn't
correctly free constraints.

To ensure the UI not to show any deleted data, after leaving editmode it
now also redraws nla, action and ipo.

15 years agoMemory error 'end corrupt' reports for deform groups... can't find it yet,
Ton Roosendaal [Thu, 20 Oct 2005 20:38:08 +0000 (20:38 +0000)]
Memory error 'end corrupt' reports for deform groups... can't find it yet,
but this code ensures the strcpy() is using BLI_strncpy now, and it uses
more clear names for the mallocs.

15 years agoBugfix; using weightpaint changed the default lighting setup (specular).
Ton Roosendaal [Thu, 20 Oct 2005 19:27:47 +0000 (19:27 +0000)]
Bugfix; using weightpaint changed the default lighting setup (specular).

15 years agoCurve and Lattice deform Modifiers now accept optional Vertex Group name
Ton Roosendaal [Thu, 20 Oct 2005 18:52:29 +0000 (18:52 +0000)]
Curve and Lattice deform Modifiers now accept optional Vertex Group name
to finetune deform further as well.
Note that curve deform requires object buttons 'track' and 'up' axes set
properly. Curve deform can twist/flip a lot, making Vertex Group based
deform hard to set up.

15 years agofix for Game engine bug #1961 furnished by Josh Nimoy.
Jean-Luc Peurière [Thu, 20 Oct 2005 18:05:06 +0000 (18:05 +0000)]
fix for Game engine bug #1961 furnished by Josh Nimoy.


Although the fix is not perfect (lacks screen requisition safeguards),
it does indeed allow to run game engine fullscreen

15 years agoAnother option for more Armature deform control;
Ton Roosendaal [Thu, 20 Oct 2005 16:31:46 +0000 (16:31 +0000)]
Another option for more Armature deform control;

The "Use VGroup" or "Use Envelope" options now are in Modifier Panel
for Armature deform.
If Modifiers are in use, they override the Armature settings for it.
(Cannot get rid of the Armature panel options yet, since Blender still
allows parenting to be deforming too, which is displayed as a Virtual
modifier now)

This now allows to - for example - make a Envelope deform on a Lattice,
and have same Armature use vertexgroups on Mesh.

Next; vertexgroup option for Lattice & Curve deform

15 years ago- fix bug calculating number of edges to create in mesh.edges.extend()
Ken Hughes [Thu, 20 Oct 2005 15:10:43 +0000 (15:10 +0000)]
- fix bug calculating number of edges to create in mesh.edges.extend()
  (thanks to guitargeek for catching)

15 years ago- Fix for Wkey menu in WeightPaint modus; it didn't work when the armature
Ton Roosendaal [Thu, 20 Oct 2005 14:58:46 +0000 (14:58 +0000)]
- Fix for Wkey menu in WeightPaint modus; it didn't work when the armature
  is a modifier only (Armature not parented to Mesh).
  Note; if multiple Modifier/Armatures work, it uses only the first still.

- Armature option 'draw axes' now scales axes to 0.25 of bone length.

15 years agoNew option; "Lock Time to Other Windows" for Ipo, Action, NLA and Time
Ton Roosendaal [Thu, 20 Oct 2005 14:41:10 +0000 (14:41 +0000)]
New option; "Lock Time to Other Windows" for Ipo, Action, NLA and Time
windows. If set (in View pulldown), it synchronizes the horizontal scale of
the current window with the other Windows with this option set. That way
you always have these windows showing an identical part of the time you
work on.

Also added because Action Window now displays its content relative to
NLA strips.

15 years agoAdding some simple but very convenient selection
Matt Ebb [Thu, 20 Oct 2005 10:31:02 +0000 (10:31 +0000)]
Adding some simple but very convenient selection
functionality for the UV editor:

* A "Select->Pinned UVs" command (Shift P) that
selects all the visible pinned UVs
* A "Select->Border Select Pinned" tool (Shift B) that
works just like the normal border select tool, but only acts on pinned UVs

This is really useful when using LSCM, I only want to
touch the pinned UVs and then recalculate.

15 years agoUV window, without an image, now draws a nice zoom-resistant grid.
Ton Roosendaal [Thu, 20 Oct 2005 10:03:27 +0000 (10:03 +0000)]
UV window, without an image, now draws a nice zoom-resistant grid.
It uses the themecolor for backdrop.

The units are in powers of 4, with a minimum grid cell size of 16 pixels.
(Another Orange request!)

15 years agoUninitialized variable, caused OSX to work, but not the other OS's!
Ton Roosendaal [Thu, 20 Oct 2005 08:15:02 +0000 (08:15 +0000)]
Uninitialized variable, caused OSX to work, but not the other OS's!
(for Mesh rip)

15 years agoNew Mesh tool: "Rip".
Ton Roosendaal [Thu, 20 Oct 2005 07:47:10 +0000 (07:47 +0000)]
New Mesh tool: "Rip".

This tool allows to insert gaps/seams in a Mesh, based on the selection
(1 vertex or a row of edges) and the position of the mouse (to indicate
the part that gets grabbed). Shortcut: Vkey.

Special Orange request!

15 years ago- New additions to Mesh module
Ken Hughes [Wed, 19 Oct 2005 21:24:18 +0000 (21:24 +0000)]
- New additions to Mesh module
  - new methods from NMesh (transform, getFromObject, findEdges)
  - new methods for deleting groups of verts, edges and faces
  - new methods for accessing mesh editing tools: fill, flipNormals,
    recalcNormals, remDoubles, smooth, subdivide, toSphere
- Added PVertType to Types module (not my favorite name; any suggestions?)

15 years agoOverflow was possible for vertex index numbers in deformgroups, causing
Ton Roosendaal [Wed, 19 Oct 2005 11:15:36 +0000 (11:15 +0000)]
Overflow was possible for vertex index numbers in deformgroups, causing
the table with bones in deform code not to work. Added a check for amount
of Bones. (Orange bug!)

15 years agoThree fixes in 1 commit; (reports 3183 3201 3203)
Ton Roosendaal [Mon, 17 Oct 2005 19:03:16 +0000 (19:03 +0000)]
Three fixes in 1 commit; (reports 3183 3201 3203)

- added redraw of Oops/Outliner on selecting in Databrowse
- Ipo Record in ipo window had copy paste error, causing in potential mem
- Ipo Record now creates a new Ipo again