17 years agoRemoved nantechnologies from identifierstring :)
Ton Roosendaal [Tue, 28 Sep 2004 20:59:14 +0000 (20:59 +0000)]
Removed nantechnologies from identifierstring :)

17 years agoCleaned the apply deform code in Blender. Now also using the modifier code.
Ton Roosendaal [Tue, 28 Sep 2004 16:18:22 +0000 (16:18 +0000)]
Cleaned the apply deform code in Blender. Now also using the modifier code.
Right now, it works for Meshes (all deformers including Curve) and for
Curve/Surfaces (only hooks).

More follows.

17 years agoLast of the beautifying for subsurf+optimal editing; selectmode 'face' now
Ton Roosendaal [Tue, 28 Sep 2004 14:53:44 +0000 (14:53 +0000)]
Last of the beautifying for subsurf+optimal editing; selectmode 'face' now
draws on click the optimal outline correctly

17 years agoCrash fix;
Ton Roosendaal [Tue, 28 Sep 2004 13:58:23 +0000 (13:58 +0000)]
Crash fix;
- wireframe view
- editmode cube
- subsurf + optimal on
- set new selectmode 'face'

thanks sirdude & sgefant!

17 years agoMore maintenance due to new selection code;
Ton Roosendaal [Tue, 28 Sep 2004 12:04:10 +0000 (12:04 +0000)]
More maintenance due to new selection code;

- fgons draw correctly again in face selectmode
- on select, fgons dont draw wrong selection dot

17 years agoTwo small fixes thanks to test:
Ton Roosendaal [Tue, 28 Sep 2004 11:19:57 +0000 (11:19 +0000)]
Two small fixes thanks to test:
- backbuf draw vertices did still use pointsize 1.0, making them hard to
- wire frontbuf draw on select used un-initialized color

17 years agoChanged valence rule for edgeloop, so it treats fgons OK.
Ton Roosendaal [Tue, 28 Sep 2004 10:50:22 +0000 (10:50 +0000)]
Changed valence rule for edgeloop, so it treats fgons OK.

17 years agoEek! Commit for 'making transform aware for mesh select mode' caused all
Ton Roosendaal [Tue, 28 Sep 2004 10:16:13 +0000 (10:16 +0000)]
Eek! Commit for 'making transform aware for mesh select mode' caused all
other editmodes to crash in transform()!

17 years agoRecode of 'zbuffer selection'. I first was too afraid using the backbuffer
Ton Roosendaal [Tue, 28 Sep 2004 09:43:37 +0000 (09:43 +0000)]
Recode of 'zbuffer selection'. I first was too afraid using the backbuffer
selection method, since there's too much trash in drawobject.c and displists...
But, I couldn't stand the zbuf selection to miss edges too often. Right now
both methods are still in the code, and can be reviewed.

Please note for test:
- borderselect and circle-select still use old method
- new selection works directly on faces & edges
- subsurf optimal draw and selection works fine now

To detect the closest vertex or edge, i use the old 'spiral selection' code,
which is extremely accurate. If your mouse is close to an edge, it should
find it.

Most evidently I need to test speed... also, the disadvantage of backbuf
selection is the limited depth, which can be 16 bits (65 k faces) on systems.

17 years agoPicky, picky: Removed the question mark from the end of
Matt Ebb [Tue, 28 Sep 2004 05:04:55 +0000 (05:04 +0000)]
Picky, picky: Removed the question mark from the end of
'Quit Blender?' as per language guidelines

17 years agofully qualify variable names to fix bug under Solaris.
Stephen Swaney [Mon, 27 Sep 2004 23:04:10 +0000 (23:04 +0000)]
fully qualify variable names to fix bug under Solaris.
reported by Casey Corn.

17 years ago- fixed error in copying selection from faceselectmode to editmode
Ton Roosendaal [Mon, 27 Sep 2004 20:19:16 +0000 (20:19 +0000)]
- fixed error in copying selection from faceselectmode to editmode
- removed ancient convention that switches to wire then

17 years agoFaceloop select recoded, also nonmodal (no loop). It works by clicking with
Ton Roosendaal [Mon, 27 Sep 2004 19:22:15 +0000 (19:22 +0000)]
Faceloop select recoded, also nonmodal (no loop). It works by clicking with
ALT on an edge, in face-select mode. Holding shift again extends selection.

Current UI access can need rethink though. But I also think the loop tools
deserve to be accessible without menu, for speed/workflow. So what's good

BTW: both tools don't do triangle meshes (yet)

17 years agoAdded edgeloop selection as mode-less loop-less option.
Ton Roosendaal [Mon, 27 Sep 2004 17:05:30 +0000 (17:05 +0000)]
Added edgeloop selection as mode-less loop-less option.
Hotkey: ALT+select (ALT+CTRL for single button mouse)

Hold shift to extend selection, or to deselect

It correctly does edges on boundaries and loose edges too.

17 years agoTransform() now is edge/face selection aware too.
Ton Roosendaal [Mon, 27 Sep 2004 15:08:12 +0000 (15:08 +0000)]
Transform() now is edge/face selection aware too.
Theeth; i've done the changes as local as possible, and lotsa comments :P

17 years agoBug fix: on scene append of curve deformer displist causes crash...
Ton Roosendaal [Mon, 27 Sep 2004 10:39:18 +0000 (10:39 +0000)]
Bug fix: on scene append of curve deformer displist causes crash...
Crash is solved now, but create displist fails.

17 years ago- improvement for edge/face select
Ton Roosendaal [Mon, 27 Sep 2004 10:12:45 +0000 (10:12 +0000)]
- improvement for edge/face select
  - edges now sample on three locationsm gives more hits
  - own version of glPolygonOffset remains cumbersome... but for select
    now the selection routine gets more offset than draw.

- first attempt to clean drawobject.c and displists
  - generic call for draw object in backbuf for select purposes, cleans up
    a lot in the other calls.
  - also to verify if we can (in future) use this for vertex/edge/face
    select, but the whole drawobject code works against me... this is
    for another refactory (incl. displist) and out of the focus for now

- subsurf.c: now creates new faces in order of original. Not used yet, but is
  handy to recover the original order for selection/paint purposes.

17 years agoNew drawmethod for creases editing (draw creases option) in editmode.
Ton Roosendaal [Sun, 26 Sep 2004 19:55:02 +0000 (19:55 +0000)]
New drawmethod for creases editing (draw creases option) in editmode.

It draws a 2 pixel line, growing from center of edge, to denote sharpness.
This works nicely with the new selection modes.

Please note that subsurf-optimal still draws original edge then... but
this didnt work before neither. :)

17 years agoFix for the beloveled bevel. ;)
Ton Roosendaal [Sun, 26 Sep 2004 18:33:29 +0000 (18:33 +0000)]
Fix for the beloveled bevel. ;)
Still could use cleanup for flags though.

17 years agoTwo bugs:
Ton Roosendaal [Sun, 26 Sep 2004 17:53:21 +0000 (17:53 +0000)]
Two bugs:

- when adding creases in editmode, and separating that part, displists
  did weird things... separate is hackish anyway
- draw faces (transparant) didnt do triangles correctly

17 years agoNew strict 'hide' rules for editmesh & new selectmodes
Ton Roosendaal [Sun, 26 Sep 2004 17:15:52 +0000 (17:15 +0000)]
New strict 'hide' rules for editmesh & new selectmodes

- vertex hidden, always means edge is hidden too
- edge hidden, always means face is hidden too
- face hidden, only means face hides

This means, that in face mode you can hide a face, whilst in edge mode
the edges will still display.

Please note, that when you have no edges saved in a Mesh, it also doesnt
store the hide flags for it, causing in/out editmode too reset hidden

17 years agoQuick commit to fix crash in hide option editmode subsurf... the hide flags
Ton Roosendaal [Sun, 26 Sep 2004 14:22:54 +0000 (14:22 +0000)]
Quick commit to fix crash in hide option editmode subsurf... the hide flags
still are not doing it OK... later!

17 years agoAdded initialize code for zbuffer-select option, where it reads larger
Ton Roosendaal [Sun, 26 Sep 2004 13:45:25 +0000 (13:45 +0000)]
Added initialize code for zbuffer-select option, where it reads larger
parts of zbuffer on border/circle select.
Should speed up quite some.

17 years agoFix for crashes when mixed faces/edges were hidden. Not all combos were
Ton Roosendaal [Sun, 26 Sep 2004 13:44:15 +0000 (13:44 +0000)]
Fix for crashes when mixed faces/edges were hidden. Not all combos were
correctly checked on in subsurf.c

17 years agoindentation commit -> use hard tabs (as decided in meeting)
Nathan Letwory [Sun, 26 Sep 2004 10:56:38 +0000 (10:56 +0000)]
indentation commit -> use hard tabs (as decided in meeting)

17 years agoCorrect lib order for linuxers.
Nathan Letwory [Sun, 26 Sep 2004 10:42:16 +0000 (10:42 +0000)]
Correct lib order for linuxers.

17 years agouser_options_dict from appit() were missing bs_globals.
Nathan Letwory [Sun, 26 Sep 2004 09:14:46 +0000 (09:14 +0000)]
user_options_dict from appit() were missing bs_globals.

17 years agonote to all: actually adding+commited new files does help a lot.
Nathan Letwory [Sat, 25 Sep 2004 20:45:44 +0000 (20:45 +0000)]
note to all: actually adding+commited new files does help a lot.


17 years agoThis commit makes a structural change to SConstruct. Many of the functionality for...
Nathan Letwory [Sat, 25 Sep 2004 20:44:57 +0000 (20:44 +0000)]
This commit makes a structural change to SConstruct. Many of the functionality for it has been split of in a new package bs. This structural change is in preperation for changes Michel has planned against the option jungle.

More information on the wiki:

17 years agoAnother round in the Great BPy Cleanup:
Stephen Swaney [Sat, 25 Sep 2004 20:30:40 +0000 (20:30 +0000)]
Another round in the Great BPy Cleanup:
Run everything thru indent to cleanup spaces vs tabs.
Clean up some of the comments by hand.
BGL.c was not touched due to all that macro wackyness.

There are no functional changes to the code.
Pre-indent versions of source are tagged with
tag bpy-cleanup-20040925 , just in case.

17 years agoTwo more fixes:
Ton Roosendaal [Sat, 25 Sep 2004 17:57:46 +0000 (17:57 +0000)]
Two more fixes:

- face centers didnt recalculate at vertex-smooth, vertex-sphere and so
- on edge extrude (meaning the new faces), it now copies face data (material
  index, smooth, tface) from the face that shared an edge

17 years agoInteger version of glReadBuffer with GL_DEPTH_COMPONENT...
Ton Roosendaal [Sat, 25 Sep 2004 16:38:51 +0000 (16:38 +0000)]
Integer version of glReadBuffer with GL_DEPTH_COMPONENT...
reported were errors with ati-linux on using float here.

Code is still there, and can be easily switched back (  if(0) or if(1) !)

17 years agoOption 'all edges' didnt work anymore... fixed
Ton Roosendaal [Sat, 25 Sep 2004 16:07:16 +0000 (16:07 +0000)]
Option 'all edges' didnt work anymore... fixed

17 years agoZbuf-selection fix: while drawing vertices, it accepted writing in zbuf
Ton Roosendaal [Sat, 25 Sep 2004 15:15:26 +0000 (15:15 +0000)]
Zbuf-selection fix: while drawing vertices, it accepted writing in zbuf
for it too... giving (sometimes) no selection, and possible for linux the
solution too!

17 years agoTwo small fixes for previous commit;
Ton Roosendaal [Sat, 25 Sep 2004 14:21:09 +0000 (14:21 +0000)]
Two small fixes for previous commit;

- new zbuf-clipped select was always on
- drawing the 'floor' now doesnt write in zbuffer when in editmode

17 years agoTwo nice workflow improvements;
Ton Roosendaal [Sat, 25 Sep 2004 13:42:31 +0000 (13:42 +0000)]
Two nice workflow improvements;

- Zbuffer clipped selection
Based on same algos as for drawing (blender polygon offset) vertices, edges
and faces now are clipped for draw and selection when Zbuffer is used.
Note that it works for endpoint vertices of edges, and for facecenters.
Also works for border and circle-select

- Optimal draw subsurfs
This now draws optimal with faces and edges selected/unselected, hiding the
original 'cage' (mesh) completely.
TODO: edge select, which still uses original (invisible) edge.

17 years agoAll kinds of fixes for new selection modes
Ton Roosendaal [Fri, 24 Sep 2004 18:17:23 +0000 (18:17 +0000)]
All kinds of fixes for new selection modes

- circle-select now works
- delete options for edge/face select work as to be expected.
  should check on a better set of choices in menu though
- assign material / select material options work for new modes
- shift+f fill didnt leave proper select flags...
- border select on face-gones (fgons) works
- 'draw normals' and fgons works now

17 years agoNew: Fake Polygons, or Face-polygons, or FGons nicked for now.
Ton Roosendaal [Fri, 24 Sep 2004 16:06:20 +0000 (16:06 +0000)]
New: Fake Polygons, or Face-polygons, or FGons nicked for now.
Just select a bunch of faces (selection should be valid flat poly) and
press FKEY. Works in fact as selection-group optimizing. Nice in solid

Further some small additional fixes in the whole debugging process.
Found old error in loopselect for triangles, subdivision code, and
selection still.

NOTE: subdivide still works on vertex level only.

17 years ago- basic code for fake-polygon support (called FGon in code). Disabled now
Ton Roosendaal [Fri, 24 Sep 2004 12:40:37 +0000 (12:40 +0000)]
- basic code for fake-polygon support (called FGon in code). Disabled now
- hide flags now save correctly in mesh, to restore after going in/out
- after an extrude, faces/edges could have wrong select flags
  (only in vertex select mode)
- new rule for addfacelist(); this now copies edges too, if an example
  is provided. That prevents a lot of awkward code, still testing if it
  goes as desired though...

17 years agoFixed bug #1581, toolbox wasn't correctly opening the edit mode
Matt Ebb [Fri, 24 Sep 2004 11:45:42 +0000 (11:45 +0000)]
Fixed bug #1581, toolbox wasn't correctly opening the edit mode
transform properties panel.

17 years agoVery bad typo, causing wrong blocks to be freed when the undostack is
Ton Roosendaal [Fri, 24 Sep 2004 09:51:16 +0000 (09:51 +0000)]
Very bad typo, causing wrong blocks to be freed when the undostack is
full. Gives crashes on exit...

17 years agoMSVC 6.0 projectfiles fixes for new editmesh and bpython files.
Martin Poirier [Thu, 23 Sep 2004 23:03:19 +0000 (23:03 +0000)]
MSVC 6.0 projectfiles fixes for new editmesh and bpython files.

17 years agoFix for loopcut, didn't work after reconstruct...
Ton Roosendaal [Thu, 23 Sep 2004 22:54:18 +0000 (22:54 +0000)]
Fix for loopcut, didn't work after reconstruct...

17 years agoThree bugfixes, thnx to irc testing! :)
Ton Roosendaal [Thu, 23 Sep 2004 22:17:52 +0000 (22:17 +0000)]
Three bugfixes, thnx to irc testing! :)

- separate crashed
- wrong button for 'face dot' theme
- deselect vertex on mouseclick didnt work

17 years agomake sure this also builds on Windows.
Nathan Letwory [Thu, 23 Sep 2004 21:27:16 +0000 (21:27 +0000)]
make sure this also builds on Windows.

17 years agoLittle thing; added recalc normals after subdivide, for face centers.
Ton Roosendaal [Thu, 23 Sep 2004 21:06:56 +0000 (21:06 +0000)]
Little thing; added recalc normals after subdivide, for face centers.
We have to check on this all over very well.

17 years agoEditMesh refactory + undo recode
Ton Roosendaal [Thu, 23 Sep 2004 20:52:51 +0000 (20:52 +0000)]
EditMesh refactory + undo recode

The changelog is very long... it's on the web too:

EditMesh refactor notes (user)

**** New selection modes

When entering Edit Mode for a Mesh, you now have the choice for three selection modes. These are shown as icons in the 3D header (hotkey is being searched for!).

- Vertex Select
Select vertices as usual, fully compatible with how previous version work

- Edge Select
Vertices are not drawn anymore, and selections happen by default on the edges. It is a true edge select, meaning that you can select three out of four edges in a face, without automatic having the 4th edge selected.

- Face Select
Instead of vertices, now selection 'points' are drawn in the face centers. Selected faces also get a colored outline, like for edges. This also is true face select, for each face individual regardless selection status of its vertices or edges.

While holding SHIFT, and press a selection mode, you can also combine the above choices. Now selection becomes mixed, and will behave as expected.
For example; in Edge+Face select mode, selecting the 4 edges of a face will select the face too.

The selection modes and optional drawing modes (like transparant faces, normals, or solid drawing) all work together. All of Blender's mesh editing tools now react to the correct selection mode as well.
Most noticeable it's in:

**** Extrude

Extruding in Edge or Face Select mode allows much more precise control over what's extruded and what should be excluded. Try for example a checker pattern selection, and extrude it.

New is the fixed translation when faces are extruded. This always follows the (averaged) face normal(s) of the old face(s), enabling much easier working in 3D views . A single 'G' (Grab) or 'R' (Rotate) or 'S' (Scale) will change transform modus as usual.

**** Other things to note

- Hiding edges/faces will also behave different based on Select Mode.
- while editing, normals of faces are updated always now
- Border select (BKEY) has 2 different rules for edges; when one edge is fully inside of the border, it will only select edges that are fully inside. Otherwise it selects each edge intersecting with the border.
- in face mode, adding vertices, edges or a circle is invisible...
- "Add monkey" now works as a normal primitive (rotated and on 3d cursor)
- Mesh undo was fully recoded, hopefully solving issues now with Vertex Keys and Groups
- Going in and out of editmode was fully recoded. Especially on larger models you'll notice substantial speed gain.

**** Todo

Add 'FaceSelect mode' functionality in EditMode, including zbuffered selection, display and editing of UV texture.

EditMesh refactor notes (coder)

**** Usage of flags in general
The "->f" flags are reserved for the editmesh.c and editmesh_lib.c core functions. Actually only selection status is there now.
The "->f1" and "->f2" flags are free to use. They're available in vertex/edge/face structs. Since they're free, check carefully when calling other functions that use these flags... for example extrude() or subdivide() use them.

**** Selection flags
EditVert: eve->f & SELECT
EditEdge: eed->f & SELECT
EditFace: efa->f & SELECT

- Selection is only possible when not-hidden!
- Selection flags are always up-to-date, BUT:
  if selection mode >= SELECT_EDGE vertex selection flags can be incorrect
  if selection mode == SELECT_FACE vertex/edge selection flags can be incorrect
  This because of shared vertices or edges.

- use for selecting vertices:
  eve->f &= SELECT
- use for selecting edges always:
  void EM_select_edge(eed, 1)  // 1 = select, 0 = deselect
- use for selecting faces always:
  void EM_select_face(efa, 1)  // 1 = select, 0 = deselect

- To set the 'f' flags in all of the data:
  void EM_set_flag_all(int flag);
  void EM_clear_flag_all(int flag);

- the old faceselectedOR() and faceselectedAND() are still there, but only
  to be used for evaluating its vertices

**** Code hints for handling selection

If the selectmode is 'face'; vertex or edge selections need to be flushed upward. Same is true for 'edge' selection mode. This means that you'll have to keep track of all selections while coding... selecting the four vertices in a face doesn't automatically select the face anymore.

However, by using the above calls, at least selections flush downward (to vertex level). You then can call:

void EM_selectmode_flush(void);

Which flushes selections back upward, based on the selectmode setting. This function does the following:

- if selectmode 'vertex': select edges/faces based on its selected vertices
- if selectmode 'edge': select faces based its selected edges

This works fine in nice controlled situations.

However, only changing the vertex selections then still doesn't select a face in face mode! If you really can't avoid only working with vertex selections, you can use this call:

void EM_select_flush(void);

Now selection is flushed upward regardless current selectmode. That can be destructive for special cases however, like checkerboard selected faces. So use this only when you know everything else was deselected (or deselect it). Example: adding primitives.

**** Hide flags
EditVert: eve->h
EditEdge: eed->h
EditFace: efa->h

- all hide flags are always up-to-date
- hidden vertices/edges/faces are always deselected. so when you operate on selection only, there's no need to check for hide flag.

**** Unified undo for editmode

New file: editmode_undo.h
A pretty nice function pointer handler style undo. Just code three functions, and your undo will fly! The c file has a good reference.

Also note that the old undo system has been replaced. It currently uses minimal dependencies on Meshes themselves (no abuse of going in/out editmode), and is restricted nicely to editmode functions.

**** Going in/out editmode

As speedup now all vertices/faces/edges are allocated in three big chunks. In vertices/faces/edges now tags are set to denote such data cannot be freed.

ALso the hashtable (lookup) for edges uses no mallocs at all anymore, but is part of the EditEdge itself.

17 years ago- Cam fixed bug reported by Manuel Bastioni (thanks)
Jiri Hnidek [Tue, 21 Sep 2004 09:09:58 +0000 (09:09 +0000)]
- Cam fixed bug reported by Manuel Bastioni (thanks)
- I fixed one bug too.

17 years ago- Blender: added option 'scriptsdir' to Blender.Get();
Willian Padovani Germano [Tue, 21 Sep 2004 05:28:17 +0000 (05:28 +0000)]
- Blender: added option 'scriptsdir' to Blender.Get();
- small updates to the docs;
- Object: small fix to getMatrix: check during_script() to avoid undesired loops; added old behavior (pre 2.34) as option: .getMatrix('oldlocal');
- tentative fix for bug #1275: scene REDRAW scriptlinks were not being executed (the call to do so was missing):
    added the call in drawview.c, in drawview3dspace().  This causes the scriptlink to be called for each visible view3d, but that's what happens with object redraw scriptlinks, too.  Anyway, this is still a test.  The place was chosen based on the idea that a scene redraw scriptlink is like an object redraw one, but for all objs in the scene at once.

- Window.Theme: new submodule, to get/set theme options in Blender;
- Added the script (Help menu for now), to save the current theme in Blender as an executable script (currently shown in the Scripts->Misc menu).

There's more work to do for themes, like defining a proper place for them in the interface, adding documentation (for now the added script and the ones it generates can give a pretty good idea of how to use the new module), probably extending themes to support SpaceScript and so on.

17 years agoAdded Hos' NLA move up/down to the NLA Strip menu. Also enabled
Matt Ebb [Tue, 21 Sep 2004 04:09:07 +0000 (04:09 +0000)]
Added Hos' NLA move up/down to the NLA Strip menu. Also enabled
'Strip Properties' there again.

17 years agoAdded the panel context choices in the 'Panels' menu (buttons
Matt Ebb [Tue, 21 Sep 2004 03:35:36 +0000 (03:35 +0000)]
Added the panel context choices in the 'Panels' menu (buttons
window). Helps for vertical layouts where the tabs are off screen.

17 years agotest commit
Alfredo de Greef [Mon, 20 Sep 2004 23:59:09 +0000 (23:59 +0000)]
test commit
Bugfix for anim crash with xml export and no export dir set.
Alternate relative path using blender function, but wouldn't be surprised
if it still is a problem in some cases for some (windows) users.

17 years agoNew bpy method for World module to set World for current scene:
Stephen Swaney [Mon, 20 Sep 2004 16:22:32 +0000 (16:22 +0000)]
New bpy method for World module to set World for current scene:

Contributed by Campbell Barton (ideasman)

17 years agoFix link ordering for blenderplayer.
Kester Maddock [Mon, 20 Sep 2004 10:41:16 +0000 (10:41 +0000)]
Fix link ordering for blenderplayer.

17 years agoMatt's lamp submenu.
Martin Poirier [Sun, 19 Sep 2004 19:27:57 +0000 (19:27 +0000)]
Matt's lamp submenu.

And reorganized the #includes in editobject by "modules"

17 years agoRemoved all calls to object_wave in code, and moved it into the
Ton Roosendaal [Sun, 19 Sep 2004 17:44:20 +0000 (17:44 +0000)]
Removed all calls to object_wave in code, and moved it into the
mesh_modifier() in deform.c.

Now wave works on top of hooks, before lattice/curve deform and armature.
But together!

17 years agoFix for scalling bug with Stretch To constraint (practicly same bug as Track To last...
Martin Poirier [Sun, 19 Sep 2004 15:07:16 +0000 (15:07 +0000)]
Fix for scalling bug with Stretch To constraint (practicly same bug as Track To last week, but deeper ramifications since stretch to affects scalling).

Quick description of bug: scalling armature had a weird effect on stretch to bone size.

17 years agoEditmesh spliting project files fix (MSVC 6.0)
Martin Poirier [Sun, 19 Sep 2004 14:33:33 +0000 (14:33 +0000)]
Editmesh spliting project files fix (MSVC 6.0)

17 years agoMoved the 'Load UI' option from the File menu to the
Matt Ebb [Sun, 19 Sep 2004 14:08:04 +0000 (14:08 +0000)]
Moved the 'Load UI' option from the File menu to the
fileselect window header.

17 years agoUpdate project files to compile and link with newest changes (editmesh refactoring)
Nathan Letwory [Sun, 19 Sep 2004 13:46:43 +0000 (13:46 +0000)]
Update project files to compile and link with newest changes (editmesh refactoring)

17 years agoService: SConscript file!
Ton Roosendaal [Sun, 19 Sep 2004 11:50:38 +0000 (11:50 +0000)]
Service: SConscript file!

17 years agoPart one of editmesh.c refactoring. The huge file has been split in
Ton Roosendaal [Sun, 19 Sep 2004 11:47:49 +0000 (11:47 +0000)]
Part one of editmesh.c refactoring. The huge file has been split in
logical parts, and include files altered to denote internal and external

include/editmesh.h: internal calls for editmesh_xxx.c files
include/BIF_editmesh.h: external calls for these files

src/editmesh.c: basic alloc/lists and in/out editmode, undo, separate
src/editmesh_lib.c: basic utility calls for all editmesh_xxx.c (no UI)
src/editmesh_add.c: add prim, add duplicate, add vertex/edge/face (UI)
src/editmesh_mods.c: selecting, transforming (UI)
src/editmesh_loop.c: loop tools like knife, loop select, loop subdiv (UI)
src/editmesh_tools.c: other tools (extrude, spin, etc) (UI)

And a new file:

src/meshtools.c: tools for Mesh outside of editmode (normals, draw flags)

17 years ago- Cam (ideasman) improved speed of exporting
Jiri Hnidek [Sun, 19 Sep 2004 10:41:04 +0000 (10:41 +0000)]
- Cam (ideasman) improved speed of exporting
- I fixed indentation

17 years agoConvert and use actuators with no target object set.
Kester Maddock [Sun, 19 Sep 2004 01:33:08 +0000 (01:33 +0000)]
Convert and use actuators with no target object set.

Certain actuators (Add Object/Replace Mesh/Scene/Track To) used to always require a target, or they would not influence the scene.  If the actuator target is always set from Python, this could be annoying.

17 years ago- Cam added function getUniqueName, which preserve overwriting of existing mesh.
Jiri Hnidek [Sat, 18 Sep 2004 21:04:23 +0000 (21:04 +0000)]
- Cam added function getUniqueName, which preserve overwriting of existing mesh.
- I removed fixed identing. It uses only tab for identing so Cam will not be fussed anymore:-).

17 years agoEvil commit! Nothing really changed except;
Ton Roosendaal [Sat, 18 Sep 2004 20:15:37 +0000 (20:15 +0000)]
Evil commit! Nothing really changed except;

- EditVlak -> EditFace
- variables called 'evl' -> 'efa'
- functions with 'vlak' in it now have 'face'

Just thought was nice starter for editmesh recode...

17 years agoOne small part of the Great Bpy Code Cleanup.
Stephen Swaney [Sat, 18 Sep 2004 18:47:03 +0000 (18:47 +0000)]
One small part of the Great Bpy Code Cleanup.
Add cvs $Id tag to files

17 years agoFor the Bass* people: pad plus/ pad minus moves nla strips up/down in
Chris Want [Sat, 18 Sep 2004 18:36:11 +0000 (18:36 +0000)]
For the Bass* people: pad plus/ pad minus moves nla strips up/down in
the nla editor.

Release note blurb:

Selected nla strips may be reordered down or up in the nla editor using
numpad plus/minus.

17 years ago- redo now also ctrl+y.
Ton Roosendaal [Sat, 18 Sep 2004 18:34:50 +0000 (18:34 +0000)]
- redo now also ctrl+y.
- made undo/redo display of previewrender nice

17 years agoFound little bug in undo system for editing Font objects. Causing
Ton Roosendaal [Sat, 18 Sep 2004 13:58:35 +0000 (13:58 +0000)]
Found little bug in undo system for editing Font objects. Causing
crash at undo after editing.

17 years agoOSX only: the Apple key now is a normal modifier in code, so can be
Ton Roosendaal [Sat, 18 Sep 2004 13:25:29 +0000 (13:25 +0000)]
OSX only: the Apple key now is a normal modifier in code, so can be
detected as others, LR_COMMANDKEY

Unline previous commit, Apple key doesnt map to control anymore, but is
handled separate where needed. Now only for undo (Apple-Z)

17 years agoAnother step in the undo evolution.
Ton Roosendaal [Sat, 18 Sep 2004 12:12:45 +0000 (12:12 +0000)]
Another step in the undo evolution.

- Made unified API for undo calls, to be found in space.c
  BIF_undo_push(char *str)
  These calls will do all undo levels, including editmode and vpaint.

  The transition is work in progress, because mesh undo needs recode.

- New global hotkey CTR+Z for undo
  Note: 'shaded draw mode' still is SHIFT+Z, the old CTRL+Z was to recalc
  the lighting in shaded mode, which already became much more interactive,
  like during/after any transform().
  Recalc hotkey now is SHIFT+ALT+Z

  CTRL+<any modifier>+Z is redo.

- For OSX users; the Apple-key ("Command") now maps to CTRL as well. This
  disables the one-mouse-button hack for rightmouse btw, will be fixed in
  next commit. At least we can use Apple-Z :)

- Old Ukey for undo is still there, as a training period... my preference is
  to restore Ukey to "reload original data" as in past, and only use new
  CTRL+Z for undo.

- Added undo_push() for all of editobject.c and editview.c. Meaning we can
  start using/testing global undo in the 3d window. Please dont comment on
  missing parts for now, first I want someone to volunteer to tackle all of

- Since the global undo has a full 'file' in memory, it can save extremely
  fast on exit to <temp dir>/quit.blend. That's default now when global undo
  is enabled. It prints "Saved session recovery to ..." in console then.

- In file menu, a new option is added "Recover Last Session". Note that this
  reads the undo-save, which is without UI.

- With such nice new features we then can also kill the disputed
  Cancel/Confirm menu on Q-KEY.

- Added fix which initializes seam/normal theme color on saved themes.
  They showed black now.... (Note: that's in usiblender.c!)

17 years agoFixed PyObject_IsMT_Matrix
Kester Maddock [Sat, 18 Sep 2004 06:03:15 +0000 (06:03 +0000)]
Fixed PyObject_IsMT_Matrix

17 years agocurve_modifier() call was in makeDispList() already, and called twice,
Ton Roosendaal [Fri, 17 Sep 2004 21:30:53 +0000 (21:30 +0000)]
curve_modifier() call was in makeDispList() already, and called twice,
causing initrender to free illegal pointer...

17 years agoupdated the documentation on how to add new image types which consisted of:
Kent Mein [Fri, 17 Sep 2004 11:31:17 +0000 (11:31 +0000)]
updated the documentation on how to add new image types which consisted of:
removed autoconf stuff and replaced with scons info.
Added info on how to make your format showup in the thumbnail viewer.


17 years agoFixed crash caused by new (strict) rule for displists. Reminder: to signal
Ton Roosendaal [Fri, 17 Sep 2004 10:36:43 +0000 (10:36 +0000)]
Fixed crash caused by new (strict) rule for displists. Reminder: to signal
that a displist has to be recalculated, you only have to free it.

In the init_render_mesh() not all situations were checked OK.
Thanks Basse for finding it!

17 years agoBug fix in code committed for hooks; mesh check for displist was on
Ton Roosendaal [Thu, 16 Sep 2004 19:31:43 +0000 (19:31 +0000)]
Bug fix in code committed for hooks; mesh check for displist was on
wrong location... causing tremendous slowdowns!

Note: in previous commit some WIP slipped in.. not dangerous. Plus it
has a text typo fix (beaty)

17 years agoBug 1568
Ton Roosendaal [Thu, 16 Sep 2004 17:57:14 +0000 (17:57 +0000)]
Bug 1568

Wrong usage of B_NOP code in button events (xxxx | B_NOP), which is useles
since it is defined as -1.

Reminder for all: use a B_NOP if you want a button event not to be passed
on to the event queues.

17 years agoBug fix #1525
Ton Roosendaal [Thu, 16 Sep 2004 15:32:38 +0000 (15:32 +0000)]
Bug fix #1525

RayTransp didnt work on Nurbs anymore (2.34 error).
Just a normal flip problem...

17 years agoMore Material settings: mirror and transparency.
Stephen Swaney [Tue, 14 Sep 2004 20:03:01 +0000 (20:03 +0000)]
More Material settings: mirror and transparency.
Contributed by Joilnen B. Leite (pidhash)

17 years agoLot of code... 2 new features:
Ton Roosendaal [Tue, 14 Sep 2004 19:03:11 +0000 (19:03 +0000)]
Lot of code... 2 new features:

1) Curve deform
Works simple as expected, but keep track of the rotation axis
in F7 buttons (Track X Y Z)
Only Mesh deform supported now.

Code changes:
- centralized deformation calls in curve_modifiers() mesh_modifiers()
etcetera. Here also other effects can be added like wave. Now the
evaluation order is fixed, but should become optional. It also doesnt
use the Displist anymore as deform-input. That latter part is unfinished
This code also is used for Hooks and will be needed for softbody

- made convention stricter that displists are being checked on in
drawobject(), this to prevent routines to make new displists recursively
(like armature does). Now a freedisplist() is sufficient to signal that
a new displaylist should be made.

2) Object Hooks
Support for Hooks is added to Mesh, Lattice, Curve and Surface objects.
For Armatures this would require some more work & research.
Main goal for this feature is to provide quick & simple access to the
underlying geometry in Objects on Object level, supporting hierarchies and
Ipos etc.

17 years agoA more correct and simple fix to the me->medge==NULL problem from my last
Brecht Van Lommel [Mon, 13 Sep 2004 23:37:24 +0000 (23:37 +0000)]
A more correct and simple fix to the me->medge==NULL problem from my last

17 years agoAdd two new options for appending *objects*:
Nathan Letwory [Mon, 13 Sep 2004 06:57:24 +0000 (06:57 +0000)]
Add two new options for appending *objects*:

1) append in current active layer (off by default)
2) append at 3d cursor (off by default). When more than one object is selected this will first calculate the bounding box of the centers of the objects, and then use the distance of the bounding box center to the 3d cursor to transform all objects.

17 years agoFix for error in last commit: forgot to check if me->medge==NULL when making
Brecht Van Lommel [Sun, 12 Sep 2004 22:35:49 +0000 (22:35 +0000)]
Fix for error in last commit: forgot to check if me->medge==NULL when making
LSCM seam groups.

17 years agoEmilie and Chris work on the Constraint UI (alignement).
Martin Poirier [Sun, 12 Sep 2004 19:06:01 +0000 (19:06 +0000)]
Emilie and Chris work on the Constraint UI (alignement).

17 years ago- bug fix #1560
Jiri Hnidek [Sat, 11 Sep 2004 13:45:17 +0000 (13:45 +0000)]
- bug fix #1560

- Cam did some speedup: he replaced eval() with float() and int()

- it fix some other minor bugs too

17 years agoFix for bug #1591: Bones with TrackTo constraint do not scale properly when armature...
Martin Poirier [Wed, 8 Sep 2004 12:12:52 +0000 (12:12 +0000)]
Fix for bug #1591: Bones with TrackTo constraint do not scale properly when armature object is resized.

17 years agodangeling pointer fix :)
Jens Ole Wund [Tue, 7 Sep 2004 20:45:09 +0000 (20:45 +0000)]
dangeling pointer fix :)

17 years agoGot rid of quite a lot of warnings. Lot of them MSVC-ism dealing with const casting.
Martin Poirier [Tue, 7 Sep 2004 01:39:44 +0000 (01:39 +0000)]
Got rid of quite a lot of warnings. Lot of them MSVC-ism dealing with const casting.
Some implicit cast warnings and more importantly, changed the parameter type to int for functions passing the particles random number seed around. No need to use floats there, it's an int anyway.

Effect.c is now warning free (on MSVC 6.0 at least)

17 years agoAdded some align block where needed. (Sorting buttons and Link/Append)
Martin Poirier [Tue, 7 Sep 2004 01:26:44 +0000 (01:26 +0000)]
Added some align block where needed. (Sorting buttons and Link/Append)

17 years agoFix for bug #1582: LSCM mesh splitting based on seams gives incorrect results in...
Brecht Van Lommel [Mon, 6 Sep 2004 14:30:28 +0000 (14:30 +0000)]
Fix for bug #1582: LSCM mesh splitting based on seams gives incorrect results in some setups.

The algorithm used before to split up the mesh before unwrapping was based on
vertices, resulting in leakage in some setups. Now it's edge based, allowing to
select only two edges of a triangle, and not automatically selecting the third.

17 years agoAdd theme colour for "Draw Normals"
Nathan Letwory [Mon, 6 Sep 2004 08:10:56 +0000 (08:10 +0000)]
Add theme colour for "Draw Normals"

17 years agoSmall patch by Joilnen Leiter:
Nathan Letwory [Mon, 6 Sep 2004 07:58:11 +0000 (07:58 +0000)]
Small patch by Joilnen Leiter:

Cancel window split with RMB

17 years agoBugfix for the render window not popping to the front when it already existed,
Brecht Van Lommel [Sun, 5 Sep 2004 22:51:50 +0000 (22:51 +0000)]
Bugfix for the render window not popping to the front when it already existed,
under linux / x11 / KDE.

The new behaviour in 2.34, not recreating the render window on re-render,
revealed that raising windows did not work under some window managers.  Now the
"net wm extensions" are used if available, otherwise it will work the same way
as before (e.g. Gtk+ does this as well).

More info:

17 years agoAll constraints (except FollowPath) now check if subtarget (bone) is valid and disabl...
Martin Poirier [Sun, 5 Sep 2004 21:20:03 +0000 (21:20 +0000)]
All constraints (except FollowPath) now check if subtarget (bone) is valid and disable constraint if not. Previously, this only worked with IK Solver.
The problem was that it defaulted to the armature object as target but didn't clear the subtarget field. This makes it clear that there's a problem.

17 years agoStretch To constraint
Martin Poirier [Sun, 5 Sep 2004 20:21:16 +0000 (20:21 +0000)]
Stretch To constraint

Read today's meeting minutes for a description.

Bjornmose: We'll need some example and screenshots for the dev pages of If you can do some, neat, if not, I'll do them.

Matt, Emilie and Chris: Please review UI addition. Pixel alignement and all that fun stuff has not be overly looked for (though I did some cleaning by adding alignment blocks).

17 years agoUpdate msvc7 project files:
Nathan Letwory [Sun, 5 Sep 2004 17:18:49 +0000 (17:18 +0000)]
Update msvc7 project files:

* Add Sound module
* Add files for global undo

17 years agoQuit confirm dialog
Martin Poirier [Sun, 5 Sep 2004 15:43:45 +0000 (15:43 +0000)]
Quit confirm dialog

17 years agoTypo in ListBase -> listBase
Ton Roosendaal [Sun, 5 Sep 2004 14:18:45 +0000 (14:18 +0000)]
Typo in ListBase -> listBase

17 years agoAdding undo files to projectfiles (MSVC 6.0)
Martin Poirier [Sun, 5 Sep 2004 14:18:39 +0000 (14:18 +0000)]
Adding undo files to projectfiles (MSVC 6.0)