Commit Graph

2313 Commits

Author SHA1 Message Date
4e8b2babdc Linestyle (dashed, using glStipple) seems not to work proper on
circle selecing. I can't find clues (thanks k-rich for help!) what it
exactly causes...seems like inverted draw + glStipple + draw circle
somehow confuses a driver... we can live without i guess?

This commit is to verify it now works ;)
2004-10-12 22:49:24 +00:00
1f4cb9a285 Fix for bug #1500
Ray_transp on curve objects (filled polys) didnt work well, normals
were not pointing outside all nicely
2004-10-12 17:22:56 +00:00
35a4e078a7 Swapped 1 line of code, missed the declaration in the subloop... 2004-10-12 16:10:12 +00:00
5ae1191a12 Added safety test for occurance of zero scaled areas in Blender. This
totally screws up opengl calls...
If it detects a zero area now, it removes it and prints warning in terminal
2004-10-12 15:47:15 +00:00
c957ec93df Do better checking for hidden faces in uv editor, sometimes unwanted uv's got
pinned.
2004-10-12 15:34:26 +00:00
0f95db92c6 Draw Seams in subsurf optimal mode. They were already subdivided correctly,
just needed to be drawn.
2004-10-12 15:23:00 +00:00
42ecc3c56d Face selection in uv face select mode, with hidden faces, was broken:
there was no check for hidden tfaces in backbuffer draw.
2004-10-12 15:15:10 +00:00
3a2d57856b Extrude crashed on extruding verts/edges only, due to lack of pointer
check in theeths commit of 20h ago. :)

Theeth; the signal I added (for normal) was hackish, as noted in comments!
Hopefully in new transform that all will be nice.
2004-10-12 15:04:05 +00:00
676f3b3782 Join triangles to quads (alt+j) tool didnt set face selection flags. 2004-10-12 12:46:05 +00:00
2521a8b577 Bug fix 1432;
When you PAD-enter on a popup-number button (like for add circle) it
accidentally de/increased the value before assigning an "OK". Fixed.

Also: restored functionality that allows to use Enter keys as a mouse
button click. This de/increases values now, opens menus, etc. Not in
pupup or pulldown menus though!
2004-10-12 09:06:28 +00:00
Stephen Swaney
be32f6d5b8 bugfix: #1624 Can not switch layers of some objects through python.
All Bases were not getting updated with new layer.
2004-10-11 20:33:51 +00:00
dbf5076b98 Moved headerprint to editscreen (for logical placement and reusability).
Made extrude along normals more sane. Now behave like a move along an arbitrary axis (including Ctrl/Shift applications and typemode). Also prints "Along faces normal" in the header, to tell the user what's happening.
2004-10-11 18:42:18 +00:00
f03725037a - selection option for vertexgroups didnt use proper new flags
- outliner bugs:
  - shift+click on icons opened new window types
  - click on world of other scene, makes that scene active
  - deleting objects from multiple scenes crashed
2004-10-11 18:35:42 +00:00
Stephen Swaney
afbf2c25ce fix memory leak in Object.GetSelected().
bugfix: #1631 Memory Leak in newMatrixObject
  PyMem_Malloc()s not followed with PyMem_Free().
  allocation error checking contributed by Tom Musgrove.
2004-10-11 17:05:14 +00:00
b024faabe5 Outliner features:
- Rename!
CTRL+leftmouse click on name, makes it a text button. Works for all items as
currently being displayed.
Most work was doing the Bones, which is a nightmare :) But it uses same
code as buttons in Armature-Editmode now, without even needing EditMode :)
When renaming a bone, the Outliner makes the Object active though.

- PageUp / PageDown keys
Do what you expect.
2004-10-11 11:54:14 +00:00
2d833b3722 Forgot about PC's using backbuffer draw for selecting (no AUX as on OSX),
so loopselect mode needs refresh of backbuffer during loops
2004-10-10 22:02:07 +00:00
acf754e9e2 Fixes in editmesh:
- ALT+B loop edge select loop
- SHIFT+R loop face select loop
(both work with ALT+select too)

- CTRL+R loop cut
- Kkey menu, loop select/cut and knife

- and ALT+select on edge always selects a loop now
2004-10-10 19:41:43 +00:00
7b99fb79c3 Fix for reported Mesh+Subsurf+Optimal+particles, make linked duplicate, and
editmode crashed.

Cause: the stricter rules for when displaylists should be made failed on
the check for Effects (like particles).
2004-10-10 16:54:25 +00:00
20e8d2defc .. take the proper example for edges in addfacelist()
may be different from exaple ..
2004-10-10 13:55:57 +00:00
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