17 years agoadded outline.c :)
Jens Ole Wund [Sat, 9 Oct 2004 20:46:29 +0000 (20:46 +0000)]
added outline.c :)

17 years agobugfix: #1607 Missing entry in Lamp Types
Stephen Swaney [Sat, 9 Oct 2004 05:41:03 +0000 (05:41 +0000)]
bugfix: #1607  Missing entry in Lamp Types

added Lamp types 'Area' and 'Photon'.
updated docs.

17 years agoMore outliner stuff;
Ton Roosendaal [Fri, 8 Oct 2004 16:03:43 +0000 (16:03 +0000)]
More outliner stuff;

- added Images in overview
- added Scripts in overview, if clicked it makes it active in open Text
- Padplus/Padminus keys now open one level deeper or less

- fix: Akey didn't really open all...
- fix: click on item of non-active scene, activates new scene

17 years agoOutliner options;
Ton Roosendaal [Fri, 8 Oct 2004 09:27:08 +0000 (09:27 +0000)]
Outliner options;

- Added in pulldown the current view commands, including the 'show
  hierachy' option, which shows only the full object tree
- You now can activate data by clicking on the hidden icons (displayed in
  a row of a collapsed item)
- Added selection and display of active NLA strips
- Cleanup; white text in outliner only for active object
- Made hierachy helplines 1 pixel wide and black, looks nicer

17 years agoAccidentally committed work in progress/experiment with panel tab colors.
Ton Roosendaal [Thu, 7 Oct 2004 22:50:21 +0000 (22:50 +0000)]
Accidentally committed work in progress/experiment with panel tab colors.
Was not meant for cvs yet!

17 years agoMore outliner features;
Ton Roosendaal [Thu, 7 Oct 2004 21:45:04 +0000 (21:45 +0000)]
More outliner features;

- Made visualization of object hierarchy more clear with lines; this
  solves the sometimes confusing mix of 'children objects' and
  'linked data'.
- Enter editmode on click, also shows editing context buttons
- SHIFT+click on a item closes/opens all below that item
- Added constraints and Hooks (watch fun icon!)

Note; global undo doesnt restore former view for outliner... it does not
save the GUI, remember? :)

17 years agoAnother step in the Big Bpy Cleanup.
Stephen Swaney [Thu, 7 Oct 2004 19:25:40 +0000 (19:25 +0000)]
Another step in the Big Bpy Cleanup.

- move static declarations and data definitions out of headers.
  the BGL module still need cleaning.

- move declarations out of modules.h and into appropriate .h files.
  modules.h still exists as a container for the few modules that
  need to #include almost everything.

- all files now have a $Id tag and have been formatted by indent

there are no changes to executable code.

pre-commit versions are tagged with bpy-cleanup-pre-20041007
for the sake of paranoia.

17 years agoAie... changed a define and now the silly ENUM doesnt work. :)
Ton Roosendaal [Thu, 7 Oct 2004 16:16:03 +0000 (16:16 +0000)]
Aie... changed a define and now the silly ENUM doesnt work. :)

17 years agoUpdated icons file (png). Has selection mode icons, and grey versions for
Ton Roosendaal [Thu, 7 Oct 2004 15:20:50 +0000 (15:20 +0000)]
Updated icons file (png). Has selection mode icons, and grey versions for

17 years ago- Outliner now sorts Objects alphabetically
Ton Roosendaal [Thu, 7 Oct 2004 15:20:08 +0000 (15:20 +0000)]
- Outliner now sorts Objects alphabetically
  (i tried sort 'by type', but thats very unclear... need think over)
- Vertex Groups are visualized in Outliner (and selectable)
- Armature Bones are visualized & editable too

In general; Outliner now also supports indirect data (Structs with no ID)

- changed weirdo NLA icon into something that makes sense. (Thnx sten!)

17 years agoTypo in code that keeps undo tree on a maximum amount. Onnly happens when
Ton Roosendaal [Thu, 7 Oct 2004 11:43:25 +0000 (11:43 +0000)]
Typo in code that keeps undo tree on a maximum amount. Onnly happens when
the stack has undo elements from another object type, and when you edit
sufficient steps in editmode.

Crash tutorial by Bassam Kurdali, who was totally flabbergasted about it!

17 years agoMade the outliner use leftmouse (as it is right now for default
Matt Ebb [Thu, 7 Oct 2004 03:04:20 +0000 (03:04 +0000)]
Made the outliner use leftmouse (as it is right now for default
rightmouse select) for activating, expanding the tree, etc
regardless of the mouse button selection user pref.

17 years ago- Fix: enter/exit posemode used wrong pointer, could crash
Ton Roosendaal [Wed, 6 Oct 2004 21:48:29 +0000 (21:48 +0000)]
- Fix: enter/exit posemode used wrong pointer, could crash
- enter/exit posemode now updates outliner view too

- New: outliner option "Show same type". Shows only object types as
  current active one. Nice to browse all lamps, mballs, armatures, etc

17 years ago- Outliner: new items (on first show) come up collapsed now
Ton Roosendaal [Wed, 6 Oct 2004 20:44:11 +0000 (20:44 +0000)]
- Outliner: new items (on first show) come up collapsed now
- Outliner: click on Armature data goes in posemode

And long wanted, and found out is just a threeliner in code:

- Posemode: click-select-drag or grab-gesture switches to 'rotate'
  automatic when no bone can be translated.

17 years agoAdded new files for outliner view in OOPS window
Nathan Letwory [Wed, 6 Oct 2004 19:39:07 +0000 (19:39 +0000)]
Added new files for outliner view in OOPS window

17 years agoAdded #ifdef INTERNATIONAL around ftf call and include file...
Ton Roosendaal [Wed, 6 Oct 2004 19:26:33 +0000 (19:26 +0000)]
Added #ifdef INTERNATIONAL around ftf call and include file...

17 years agoLast fix for previous commit;
Ton Roosendaal [Wed, 6 Oct 2004 19:21:57 +0000 (19:21 +0000)]
Last fix for previous commit;

New option "passepartout" for drawing a darkened area around viewborder
in Camera view. Provided by Wybren van Keulen.
Added button in F10 buttons, just above "DispView". Would like feedback
if this is a temporal or real feature :)

17 years agoAdd #ifdef WIN32 block so outliner compiles on windows, too.
Nathan Letwory [Wed, 6 Oct 2004 19:14:42 +0000 (19:14 +0000)]
Add #ifdef WIN32 block so outliner compiles on windows, too.

17 years agoadd outliner.c so new outliner stuff gets actually compiled in :)
Nathan Letwory [Wed, 6 Oct 2004 19:04:11 +0000 (19:04 +0000)]
add outliner.c so new outliner stuff gets actually compiled in :)

17 years agoVersion 1.0 of the new Outliner
Ton Roosendaal [Wed, 6 Oct 2004 18:55:00 +0000 (18:55 +0000)]
Version 1.0 of the new Outliner

The outliner is a hierarchical diagram displaying a list of data in Blender
and its dependencies. The 'databrowse' doesn't really show it, and Oops is
too chaotic still. And most of all, the former two don't offer much tools.

After discussions on irc, Matt came with this design proposal;
Which is closely followed for the implementation.

The current version only shows all 'library data' in Blender (objects,
meshes, ipos, etc) and not the 'direct data' such as vertex groups or NLA.

I decided to make it inside the Oopw window, as an option. You can find the
option in the "View" pulldown, or directly invoke it with ALT+SHIFT+F9
Here's a quick overview of the Outliner GUI:

- Header pulldown has options what it can show (Visible = in current layers)
- click on triangle arrow to open/close
- press AKEY to open/close all
- Leftmouse click on an item activates; and does based on type a couple of
  extra things:
  - activates a scene
  - selects/activates the Object
  - enters editmode (if clicked on Mesh, Curve, etc)
  - shows the appropriate Shading buttons (Lamp, Material, Texture)
  - sets the IpoWindow to the current IPO
  - activates the Ipo-channel in an Action
- Selected and Active objects are drawn in its Theme selection color
- SHIFT+click on Object does extend-select
- Press DOTkey to get the current active data in center of view

- rightmouse selection; for indicating operations like delete or duplicate
- showing more data types
- icon (re)design...
- lotsof options as described in Matts paper still...

17 years agoremoved 3 unused vars.
Kent Mein [Wed, 6 Oct 2004 14:35:08 +0000 (14:35 +0000)]
removed 3 unused vars.


17 years agosmall update in naming scheme for cygwin
Nathan Letwory [Tue, 5 Oct 2004 08:57:05 +0000 (08:57 +0000)]
small update in naming scheme for cygwin

17 years agoenable 'scons release' for cygwin
Nathan Letwory [Tue, 5 Oct 2004 07:50:49 +0000 (07:50 +0000)]
enable 'scons release' for cygwin

17 years agoCleanup of Rounded Theme;
Ton Roosendaal [Mon, 4 Oct 2004 12:37:16 +0000 (12:37 +0000)]
Cleanup of Rounded Theme;

- pixel aligned clean AntiAliased outlines
- menu decoration integrated

And a fix for not drawing menu menubuttons pressed when clicking

17 years agocorrect doc error for Curve.getControlPoint()
Stephen Swaney [Mon, 4 Oct 2004 04:35:52 +0000 (04:35 +0000)]
correct doc error for Curve.getControlPoint()

17 years agoFix for new UI system and vertexpaint/faceselect/weightpaint/texturepaint
Ton Roosendaal [Sun, 3 Oct 2004 20:02:22 +0000 (20:02 +0000)]
Fix for new UI system and vertexpaint/faceselect/weightpaint/texturepaint

If backbuffer is in use for selection codes, the system switches back to
frontbuffer drawing temporally. Is easier solution now.

Next commit; fix for new 'zbuffer clipped selection', which also doesnt
work after using a pulldown or popup menu.

17 years agoTest for people which copybuffer method is best.
Ton Roosendaal [Sun, 3 Oct 2004 16:54:05 +0000 (16:54 +0000)]
Test for people which copybuffer method is best.

G.rt==2: uses a glReadPixel and glDrawPixel together

Otherwise it uses glCopyPixel (supposed to be faster :)

17 years agoLots of small changes, all for UI in Blender;
Ton Roosendaal [Sun, 3 Oct 2004 13:49:54 +0000 (13:49 +0000)]
Lots of small changes, all for UI in Blender;

----- Killed UI frontbuffer draw
The interface toolkit was drawing all live updates (while using menus/buttons)
in the frontbuffer. This isn't well supported cross-platform, so time to be
killed once. Now it uses *only* glReadPixels and glCopyPixels for frontbuffer

Live updates or menus now are drawn in backbuffer always, and copied to
front when needed.

NOTE: it was tested, but needs thorough review! On PC systems I suspects
backbuffer selection to screw up (check!). On SGI/SUN workstations it
should work smooth; but I need evidence

----- Smaller fixes;

- AA fonts were garbled on ATI systems. Now the AA fonts are drawn exact
  on pixel positions. Needs the new FTGL libb too, patch is on maillist
- Rounded theme uses antialiased outlines
- Pulldown and popup menus have nice softshadow now
- New button type 'PULLDOWN', thats the one that callsup a pulldown menu.
  Should be added to themes, as is the full menu/pulldown drawing
- Screendump for 1 window does the full window now, including header
- Empty pulldowns (for example running blender without scripts) give no
  drawing error anymore

For review & fun;
- added curved lines as connectors, for Oops window

17 years agoProjectfile (MSVC 7.0) update for new softbody files
Nathan Letwory [Fri, 1 Oct 2004 21:48:46 +0000 (21:48 +0000)]
Projectfile (MSVC 7.0) update for new softbody files

17 years agoProjectfile (MSVC 6.0) update for new softbody files
Martin Poirier [Fri, 1 Oct 2004 15:23:41 +0000 (15:23 +0000)]
Projectfile (MSVC 6.0) update for new softbody files

17 years agoAccidentally previous commit went out, while i tried to abort it. :)
Ton Roosendaal [Fri, 1 Oct 2004 14:49:38 +0000 (14:49 +0000)]
Accidentally previous commit went out, while i tried to abort it. :)
This is a fix for propert circular clipping for circleselect, when it
uses backbuffer selecting

17 years ago*** empty log message ***
Ton Roosendaal [Fri, 1 Oct 2004 14:48:12 +0000 (14:48 +0000)]
*** empty log message ***

17 years agoAdded 2 files for softbody plus sconscript!
Ton Roosendaal [Fri, 1 Oct 2004 14:10:30 +0000 (14:10 +0000)]
Added 2 files for softbody plus sconscript!

17 years agoOK. Here's the long awaited first step (V0.01!) of SoftBody. It is called
Ton Roosendaal [Fri, 1 Oct 2004 14:04:17 +0000 (14:04 +0000)]
OK. Here's the long awaited first step (V0.01!) of SoftBody. It is called
from within mesh_modifiers (kernel deform.c). It copies vertices to a
temporal particle system (struct SoftBody with BodyPoint structs) to do
physics tricks with it.

For each frame change the delta movements (based on standard ipo anim or
even other deforms (later) are applied to the physics system. How to apply
and calculate satisfying results is not my thing... so here I'll commu-
nicate with others for.

Since it's in the modifier stack, the SoftBody code can run entirely on
original data (no displists!).

Right now I've implemented 2 things;

- "Goal" which is a per vertex value for how much the current position
  should take into account (goal=1 is without physics). This is a powerful
  method for artists to get control over what moves and not. Right now i
  read the vertex color for it.
- And some spring stuff, which now only works based on force moving it to
  the originial location. This doesnt work with 'goal'... erhm.

- You can re-use physics vars from engine, used right now is (in Object)
  - damping
  - springf (spring factor)
  - softflag (to set types, or activate softbody for it

- The SoftBody pointer in struct Object is only runtime, nothing saved in

To prevent all users going to complain it doesn't work, I've hidden the
functionality. :)
The buttons to set softbody 'on' only show now (psst psst) when the object has
name "soft" as first 4 characters. You can find the buttons in the F7 Particle
Interaction Panel (which should be renamed 'physics properties' later or so.

Demo file:

17 years agoHeader redraw added for 'select mode menu'. Also checked more files for it.
Ton Roosendaal [Fri, 1 Oct 2004 10:10:09 +0000 (10:10 +0000)]
Header redraw added for 'select mode menu'. Also checked more files for it.

Reminder, the allqueue() function needs as last arg a '1' if you want header
to be refreshed too!

17 years ago- fixed error in lasso select (evaluated lasso coords one too many!)
Ton Roosendaal [Fri, 1 Oct 2004 09:54:47 +0000 (09:54 +0000)]
- fixed error in lasso select (evaluated lasso coords one too many!)
- made ctrl+tab menu for selectmode only pop up in editmode mesh
- changed lasso code in zbuffer-select mode, that it also accepts lines
  as lasso

17 years ago- Improved memory system for pupmenu(), which now stores 255 entries max.
Ton Roosendaal [Fri, 1 Oct 2004 07:51:12 +0000 (07:51 +0000)]
- Improved memory system for pupmenu(), which now stores 255 entries max.
  Meaning menus come back to previous selection almost always. Also fixed
  annoying bug that caused Mirror menu (M in editmode) to start at 2nd item

- New hotkey (test :) CTRL+TAB in editmode gives (and shows!) current
  selectmode. I prefer this over cycling, since the menu is informing you
  what happens.

- To enforce pupmenus to start at specific item, use pupmenu_set_active()

- pupmenu_col() to be done

17 years agoTweak the bpy 'import site failed' msg.
Stephen Swaney [Fri, 1 Oct 2004 05:28:14 +0000 (05:28 +0000)]
Tweak the bpy 'import site failed' msg.
A half-hearted attempt to make the World's Scariest Warning Msg
just a tad less scary.

17 years ago- Made the 'zbuf clip select' in editmode default when reading on old file
Ton Roosendaal [Thu, 30 Sep 2004 22:29:19 +0000 (22:29 +0000)]
- Made the 'zbuf clip select' in editmode default when reading on old file
- Added transparent wires in solid draw for editmmode, to denote selecting
  clicks "through". Switching this and the zbuf-clip mode is actually nice!

- little annoyance; removed object centerpoint drawing in editmode.

17 years agoRecoded how 'handles' were implemented; these were extra wireframe edges
Ton Roosendaal [Thu, 30 Sep 2004 20:38:35 +0000 (20:38 +0000)]
Recoded how 'handles' were implemented; these were extra wireframe edges
actually, adding vertices and edges to displist.

Now the subsurfer gives editvertices a pointer to the subsurfed vertex
location; allowing not only vertices in 'optimal' draw to show correct, but
also gives proper handling of borderselect and lasso for edges. :)

17 years ago- Added undo menu for MetaBalls in edit mode
Jiri Hnidek [Thu, 30 Sep 2004 18:04:25 +0000 (18:04 +0000)]
- Added undo menu for MetaBalls in edit mode

17 years agoSolved crash with;
Ton Roosendaal [Thu, 30 Sep 2004 16:35:40 +0000 (16:35 +0000)]
Solved crash with;
- linked duplicate mesh
- subsurf on
- subdiv levels at 0
- new selectmode face + select clipping

Also found error in backbface draw when faces were hidden

17 years agoSpecial request; Lasso Select (thanks andy for nagging! :)
Ton Roosendaal [Thu, 30 Sep 2004 14:27:20 +0000 (14:27 +0000)]
Special request; Lasso Select (thanks andy for nagging! :)
Is committed now for further test;

What works:
- Hold CTRL while leftmouse-draw (gesture) for lasso-select
- Hold also SHIFT for lasso-deselect
- In Object mode it only selects on object centers now
- In Mesh edit mode it works on same level as borderselect

- other editmodes or objects in general

Also fixed crash with circle-selecting outside of window edge.
Also put back wire-extra draw for curves (previous trial broke mball wire)
Turned borderselect, circle, lasso into dashed lines for visual language.

17 years agowrong name!
Nathan Letwory [Thu, 30 Sep 2004 14:09:17 +0000 (14:09 +0000)]
wrong name!

17 years agoadd editmesh_undo.c and windowTheme.c/h so everything links nicely again
Nathan Letwory [Thu, 30 Sep 2004 12:48:56 +0000 (12:48 +0000)]
add editmesh_undo.c and windowTheme.c/h so everything links nicely again

17 years agoPatch/proposal from matt ebb: on changes in material color/shading or lamp
Ton Roosendaal [Wed, 29 Sep 2004 22:29:43 +0000 (22:29 +0000)]
Patch/proposal from matt ebb: on changes in material color/shading or lamp
it redraws 3d window appropriate. That it didnt do that was again some
convention from 1995 :)
Result is actually very nice, with cool visual feedback.

I've coded it very friendly, with checks for minimal redraws to do. If thats
still giving interactive flow issues, let me know!

17 years ago- added support for MetaBall undo in edit mode (Ctrl-Z ... undo) (Ctrl-Y/Ctrl-Shift...
Jiri Hnidek [Wed, 29 Sep 2004 22:28:14 +0000 (22:28 +0000)]
- added support for MetaBall undo in edit mode (Ctrl-Z ... undo) (Ctrl-Y/Ctrl-Shift-Z ... redo)

17 years ago- Fixed some small bug due to one of previous commit.
Jiri Hnidek [Wed, 29 Sep 2004 22:22:51 +0000 (22:22 +0000)]
- Fixed some small bug due to one of previous commit.
  MetaBalls are displayed correctly in wireframe mode again

17 years ago- Previous commit broke selection of non-subsurf meshes :)
Ton Roosendaal [Wed, 29 Sep 2004 21:44:12 +0000 (21:44 +0000)]
- Previous commit broke selection of non-subsurf meshes :)
- fixed crash reported by SimonC on linked dupli meshes, editmode, set
  subsurf on, crash...

17 years agoTwo small fixes;
Ton Roosendaal [Wed, 29 Sep 2004 21:11:13 +0000 (21:11 +0000)]
Two small fixes;

- draw extra wire on solid displayed curve objects (cyclic filled curves)
  now doesnt draw wires of filled faces
- set glPolygonOffset much more narrow now, since we dont need it for zbuf
  value selecting

17 years ago- Removed printf from previous commit
Ton Roosendaal [Wed, 29 Sep 2004 20:38:23 +0000 (20:38 +0000)]
- Removed printf from previous commit
- fixed small counter error in backbuffer color codes, when edge+faces
are drawn

17 years agoAdded code to selection-flush to make sure fgons are selected/deselected
Ton Roosendaal [Wed, 29 Sep 2004 20:04:51 +0000 (20:04 +0000)]
Added code to selection-flush to make sure fgons are selected/deselected
when changing vertex/edge selection

17 years agofix doc errors pointed out by wavk:
Stephen Swaney [Wed, 29 Sep 2004 18:24:08 +0000 (18:24 +0000)]
fix doc errors pointed out by wavk:
get/setMode() should be get/setFlag(), bitfield order was incorrect.


17 years agoPooh pooh! This backbuffer system for selection codes works much easier on
Ton Roosendaal [Wed, 29 Sep 2004 18:08:04 +0000 (18:08 +0000)]
Pooh pooh! This backbuffer system for selection codes works much easier on
osx with AUX buffers, than on other systems with GL_BACK buffer...

Now i've added a check in force_draw to also redraw the backbuffer, if
needed. ANother weak point in the sublooping system in blender.

17 years agoFix for reported error in circle selection...
Ton Roosendaal [Wed, 29 Sep 2004 16:44:16 +0000 (16:44 +0000)]
Fix for reported error in circle selection...
It had a clumsy if() check... meaning it went to normal selection mode
when zbuffer-clipped selection failed.

17 years agoAdded Dump 3dView and Dump Screen to the File menu
Kent Mein [Wed, 29 Sep 2004 16:27:12 +0000 (16:27 +0000)]
Added Dump 3dView and Dump Screen to the File menu
with their shortcuts.


17 years agoFound potential crash in undo for Curve/Surface; the global var "lastnu"
Ton Roosendaal [Wed, 29 Sep 2004 11:32:08 +0000 (11:32 +0000)]
Found potential crash in undo for Curve/Surface; the global var "lastnu"
wasn't restored on undo.

17 years agoTwo fixes;
Ton Roosendaal [Wed, 29 Sep 2004 10:49:19 +0000 (10:49 +0000)]
Two fixes;

- borderselect draws cleaner info in bottom/left corner window
- OGL render (in view3d header) option didn't work on successive renders.
  was due to removing hack that reopened the window each time. But now it
  needed to be assigned correctly to blender's 'mywindow' system.

17 years agoBorderselect and circleselect now use backbuffer method too.
Ton Roosendaal [Tue, 28 Sep 2004 22:05:16 +0000 (22:05 +0000)]
Borderselect and circleselect now use backbuffer method too.
Maybe its time to make this a default now?

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...