Commit Graph

47594 Commits

Author SHA1 Message Date
851c5781be - Added Outliner selection
As a means to indicate items in the Outliner to do operations on, you can
select with RMB items. Works like FileSelect here. Since selection in
Outliner is only on outliner level, no further UI updates happen. That is
reserved for LMB actions.

Implemented right now are only few operations... they can be called up with
the WKEY (the famous spare key :)
- if objects selected, a menu appears with choices
- if materials or textures selected, a meny appears to unlink them

If you make mixed or confusing selections you get a warning message.

TODO: add selection color in theme, and of course more operations.
2004-10-10 11:33:19 +00:00
7028b1eb99 Small cleanups in circle select code.
Brought back two hacks from previous code:
- do an 'activate window' for each event that happens. this might be not
  needed, see below
- also set glReadbuffer at GL_FRONT for inverse draw

And added an escape out of circle select on INPUTCHANGE, when you activate
another window. So the old hack to activate current window might be
redundant.

Purpose for now; get reports solved about wrong circle selection drawing
2004-10-10 10:32:32 +00:00
76eab0cf16 fixed subdividing bug with addfacelist(..) rule for edges
still needs revision on bevel and rotate edge
2004-10-09 20:49:55 +00:00
Stephen Swaney
073120c2b1 bugfix: #1607 Missing entry in Lamp Types
added Lamp types 'Area' and 'Photon'.
updated docs.
2004-10-09 05:41:03 +00:00
d0ca4c9efa More outliner stuff;
- added Images in overview
- added Scripts in overview, if clicked it makes it active in open Text
  Window
- 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
2004-10-08 16:03:43 +00:00
c659758a38 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
2004-10-08 09:27:08 +00:00
74603782f6 Accidentally committed work in progress/experiment with panel tab colors.
Was not meant for cvs yet!
2004-10-07 22:50:21 +00:00
1b46679eff 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? :)
2004-10-07 21:45:04 +00:00
Stephen Swaney
0fdc0ce297 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.
2004-10-07 19:25:40 +00:00
14ae3362c5 Aie... changed a define and now the silly ENUM doesnt work. :)
Fixed!
2004-10-07 16:16:03 +00:00
45f1a534b6 - 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!)
2004-10-07 15:20:08 +00:00
1e1c2e7287 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!
Thanks.
2004-10-07 11:43:25 +00:00
fd91939db0 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.
2004-10-07 03:04:20 +00:00
b94b922d23 - 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
2004-10-06 21:48:29 +00:00
25c52c19e9 - 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.
2004-10-06 20:44:11 +00:00
ce884d2596 Added #ifdef INTERNATIONAL around ftf call and include file... 2004-10-06 19:26:33 +00:00
684cafb01a 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 :)
2004-10-06 19:21:57 +00:00
Nathan Letwory
141cd6b81a Add #ifdef WIN32 block so outliner compiles on windows, too. 2004-10-06 19:14:42 +00:00
Nathan Letwory
6203abff06 add outliner.c so new outliner stuff gets actually compiled in :) 2004-10-06 19:04:11 +00:00
d5e0c065bc 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;
http://mke3.net/blender/interface/layout/outliner/
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


TODO;
- rightmouse selection; for indicating operations like delete or duplicate
- showing more data types
- icon (re)design...
- lotsof options as described in Matts paper still...
2004-10-06 18:55:00 +00:00
d5e1d1844a removed 3 unused vars.
Kent
2004-10-06 14:35:08 +00:00
2324dc7a37 Cleanup of Rounded Theme;
- pixel aligned clean AntiAliased outlines
- menu decoration integrated

And a fix for not drawing menu menubuttons pressed when clicking
2004-10-04 12:37:16 +00:00
Stephen Swaney
086ab43712 correct doc error for Curve.getControlPoint() 2004-10-04 04:35:52 +00:00
010200f9b5 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.
2004-10-03 20:02:22 +00:00
b7ac42a4c6 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 :)
2004-10-03 16:54:05 +00:00
3a840670a5 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
access.

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
2004-10-03 13:49:54 +00:00
5798123bc7 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
2004-10-01 14:49:38 +00:00
5ef1c75dbe *** empty log message *** 2004-10-01 14:48:12 +00:00
f2b785296e Added 2 files for softbody plus sconscript! 2004-10-01 14:10:30 +00:00
04f5baee3a 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
  file

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:
http://www.blender.org/bf/softbody.blend
2004-10-01 14:04:17 +00:00
d818141744 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!
2004-10-01 10:10:09 +00:00
2f91c66d85 - 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
2004-10-01 09:54:47 +00:00
19c2d34967 - 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
2004-10-01 07:51:12 +00:00
Stephen Swaney
820a83dda8 Tweak the bpy 'import site failed' msg.
A half-hearted attempt to make the World's Scariest Warning Msg
just a tad less scary.
2004-10-01 05:28:14 +00:00
30ef2326b9 - 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.
2004-09-30 22:29:19 +00:00
8ae56af0cf 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. :)
2004-09-30 20:38:35 +00:00
742e00db3f - Added undo menu for MetaBalls in edit mode 2004-09-30 18:04:25 +00:00
fb6aee54e6 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
2004-09-30 16:35:40 +00:00
9e0456d36e 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

Not:
- 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.
2004-09-30 14:27:20 +00:00
67d6cd9fcb 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!
2004-09-29 22:29:43 +00:00
b5f98248a3 - added support for MetaBall undo in edit mode (Ctrl-Z ... undo) (Ctrl-Y/Ctrl-Shift-Z ... redo) 2004-09-29 22:28:14 +00:00
18b439a599 - Fixed some small bug due to one of previous commit.
MetaBalls are displayed correctly in wireframe mode again
2004-09-29 22:22:51 +00:00
2c3e294ed5 - Previous commit broke selection of non-subsurf meshes :)
- fixed crash reported by SimonC on linked dupli meshes, editmode, set
  subsurf on, crash...
2004-09-29 21:44:12 +00:00
c42f0fc5cf 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
2004-09-29 21:11:13 +00:00
6106f87776 - Removed printf from previous commit
- fixed small counter error in backbuffer color codes, when edge+faces
are drawn
2004-09-29 20:38:23 +00:00
e25d151aed Added code to selection-flush to make sure fgons are selected/deselected
when changing vertex/edge selection
2004-09-29 20:04:51 +00:00
Stephen Swaney
f2f97a5092 fix doc errors pointed out by wavk:
get/setMode() should be get/setFlag(), bitfield order was incorrect.

spellchecked Curve.py.
2004-09-29 18:24:08 +00:00
975f0fec0e 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.
2004-09-29 18:08:04 +00:00
c1aea47313 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.
2004-09-29 16:44:16 +00:00
98a012865b Added Dump 3dView and Dump Screen to the File menu
with their shortcuts.

Kent
2004-09-29 16:27:12 +00:00