Commit Graph

130 Commits

Author SHA1 Message Date
7047817c36 Added crease value in NKey menu editmode 2004-07-28 16:45:00 +00:00
76616c266e Added new selection outline as option in View->View Properties panel. And
while working there added 3d cursor there as well.
I admit it isn't the best location ever, but let's do the threaded
discussions after 2.34 is out. :)
2004-07-28 13:21:27 +00:00
1564409217 Uncommited dashed lines to indicated 1x1 zoom. While it did look nice and useful, it caused some rather nasty slowdown on some 3D cards. It was decided to push the feature as well as further discussions on it (zooming indicator in corner or others means of showing zoom level) for after 2.34. 2004-07-27 23:24:56 +00:00
db4941128e Bug #1459
New buttons in editmode for mball forgot to check on NULL pointer.
2004-07-21 17:44:44 +00:00
b42c714d75 Give the correct N key panel name when in vertex paint + edit mode (#1451 thanks Desoto for the report! ) 2004-07-19 00:24:56 +00:00
146021ea2e Details, details...
* Renamed the paint color picker panel to 'Paint' instead of 'Transform Properties'

* Minor label edits to the pivot icon menu
2004-07-16 02:10:29 +00:00
Alexander Ewering
665a2f8fdd Oops. Forgot to restore setlinestyle(0); after drawing the dotted grid. 2004-07-15 16:40:01 +00:00
Alexander Ewering
f25b0df751 Commit for the 4 aforementioned "features":
- "Global Pivot": Maintains a global Pivot and Align mode setting for
   all 3d views when enabled, instead of seperate settings per 3d view

 - "Auto Perspective": Switch to ortho mode automatically on 1/3/7, and
   to Perspective when the view is rotated with the mouse

 - "Align mode": As suggested on the list, when enabled, transformations
   on several objects only transform their locations, not their sizes or
   rotations.

 - Grid dotted when not 1:1

***ATTENTION***! The User Interface parts of these features have not been
committed, as I work on my own modified UI here. The three features need
toggle buttons to turn them on and off.

I used the following 3 buttons (first two features are in userprefs,
third as a 3d view setting):

        uiDefButBitS(block, TOG, USER_AUTOPERSP, B_DRAWINFO, "Auto Persp",
            (xpos+edgespace+(3*medprefbut)+(3*midspace)+smallprefbut+2),y3+10,smallprefbut,buth,
            &(U.uiflag), 0, 0, 0, 0,
            "Automatically switch between orthographic and perspective");

        uiDefButBitS(block, TOG, USER_LOCKAROUND, B_DRAWINFO, "Global Pivot",
            (xpos+edgespace+(4*midspace)+(4*medprefbut)),y3+10,smallprefbut,buth,
            &(U.uiflag), 0, 0, 0, 0,
            "Use global pivot setting for all 3d views");

    uiDefIconButS(block, TOG|BIT|10, B_AROUND, ICON_ALIGN,
                xco+=XIC,0,XIC,YIC,
                &G.vd->flag, 0, 0, 0, 0, "Translate only (align)");

Someone needs to add these to the interface in an appropriate manner!

Thanks.
2004-07-15 13:31:18 +00:00
4e9ddbdc4c Added colorpicker in Panel for:
- Transform properties 3d win, while Vertex/Texture paint is on
- Paint panel in UV window

Note; both use the same GVP struct to store current color in. Also the
function used now to add picker isn't complete... might need further
thinking over. Consult me when you like them in more places.
2004-07-10 17:40:40 +00:00
9282827720 New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)

  Thanks to them for the new contributions!

  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)

BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".

The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.
2004-07-03 05:17:04 +00:00
09d3007b71 Two stupid fixes for warnings:
First one was for drawview.c I gave some types to things that didn't have them
example
-static void view3d_panel_background(cntrl)     // VIEW3D_HANDLER_BACKGROUND
+static void view3d_panel_background(short cntrl)       // VIEW3D_HANDLER_BACKGR

For edit.c I added a newline to the end of the file.

Weee

Kent
2004-06-29 20:34:10 +00:00
e750478ce3 The revised patch from Leon for new particle effects.
New is that objects can have a force field, and Meshes can even deflect
(collide) particles. This is in a new sub-menu in Object buttons F7

The full instructions where on the web, Leon mailed it me and I will put
it in CMS tomorrow. For those who like to play with it now, here are demo
files:

http://download.blender.org/demo/test/

Quite some changes where in the integration though... so previous created
particle deflectors will not work. Changes to mention now are:
- gravity is renamed to 'force field'
- force field and deflector options are in Object now, not in Mesh
- the options also have its own struct, doesnt add to Object by default
- force fields are possible for all object types, but only work on center.
  So empty objects are typical for it.

Work to do:
- add draw method in 3d win to denote forcefield objects
- check on the UI (panel with different size?)
- add 'recalc' button in deflector panel
2004-06-26 18:18:11 +00:00
b106d1b8b6 Added Panel support in Sequence window, and converted old Nkey menu for it. 2004-06-16 20:25:56 +00:00
4091851043 Replace all glFinish() with glFlush().
This is supposed to fix gradual slowdown of Blender interface on ATI cards.
2004-06-16 11:34:45 +00:00
506b78bfbb * Big, mundane clean up and edit of (error/ok/etc)
messages and pupmenu()s. Edited spelling and grammar,
 stylistic consistency, etc.

I added the guidelines and rationale that I used to the
 CMS here:
http://www.blender3d.org/cms/Language_and_terminology.338.0.html

Next step is to get icons in there, to make it easier to see
 at a glance what sort of message (and how much attention
 should be paid to it, or if it can be dismissed with a flick
 of the mouse, eg. boring remove doubles notifications)

mockup: http://mke3.net:9000/blender/ui/controls/error_ok_icons.png
2004-06-05 05:55:15 +00:00
2a41593932 - added some "Transform Properties" for MetaElem (Metaball in edit mode, N key). It is locx, loxy, locz, dx, dy, dz and stiffness 2004-05-30 14:12:14 +00:00
934bdb5ee9 When pressing ALT+A, i noticed other windows advance 1 frame. This is
caused by swapbuffers system, which redraws the other windows when the
CFRA timer already advanced 1 frame.

Added an extra redraw to fix this. Could fix report #964, will wait for
JWalton to verify.
2004-05-07 11:59:41 +00:00
039719f3a1 Bug fix 823
Animated metaballs didn't update correctly when changing frame, this when
they were parented (for example) to an object with Ipo.
The fix consists of three things:

- the test_displist() call doesn't remake displist anymore, but frees it.
  this works, because when drawing an mball object it checks for a displist
  and creates one when needed
- the main drawing routine drawview3d() now has a separate loop where first
  all objects are updated with where_is_object(), then they're drawn.
  This effectively solves lag for mballs. Might improve other lags too!
- included in NumPad-9 call to test_displist() too, to force a full upgraded
  3d view
2004-04-08 12:00:58 +00:00
c8fadc65dc Bug #1003
Using Nkey in 3d window, you could create a parent-loop, which hangs
Blender.
Added here that it checks loops, as for normal CTRL+P parenting.
2004-04-06 19:16:14 +00:00
9206a1eba6 - replaced G.{edve,eded,edvl} with G.editMesh, atm just a structure to
hold the three lists, nothing major, but gives a place to hang data
    off of and a single "mesh" structure to pass around for editing
    functions.
2004-03-28 08:46:35 +00:00
334999e9b8 - just a typo in button. sizeZ should be sizeY!
(bug 1070)
2004-03-25 15:32:37 +00:00
aea517832b NURBS CV Weight button fix for the Editing window and Properties floating panel.
Upped both limit to 100. (in 2.23, the limit in the Nkey window was 100).
Corrected the minimum of the Properties panel (was -10 which made no sense).
2004-01-29 00:47:35 +00:00
Chris Want
e8aaea0b63 Armature related fixes and cleanups:
* Armatures that had constraint targets inside other armatures
  weren't transform()-ing correctly

* Issues with lattice deformed objects that are parents of bones
  when rendering an animation. Seems to be mostly OK now with the
  exception of the first rendered frame -- weird bugs like this have
  plagued blender for ages, which leads me to believe that
  RE_rotateBlenderScene() is a piece of garbage that nobody understands
  (especially me).

* made a few helper functions to clean up some repeated code related
  to clearing constraint status and rebuilding displists.
2004-01-27 06:08:37 +00:00
1f364149d6 - Nurbs curve/surface Nkey editmode now displays the W value again!
was lost in 2.30 makeover.
2004-01-24 16:56:12 +00:00
b0479d893f * Preferences for displaying the grid floor, X axis, Y axis,
Z axis. (ported from tuhopuu2)

Controls are found in the 3D View Properties panel (with
the rest of the grid settings). This is more flexible for
people like me who hate the grid getting in the way when
modelling - turning off the grid floor and turning on the Z
axis gives a setup like in Wings 3D or Clay.

* Cleaned up the 3D View Properties and Background Image panel's layout while I was adding the new buttons (including change over to UiDefButBit).
2004-01-24 05:06:12 +00:00
Chris Want
f237bb28bf Bug Fix: bones get updated after using NKEY in pose mode (not really
useful, but anyways ...).
2004-01-23 02:25:51 +00:00
4a8f52f619 Converted the Userpreference buttons to zr's new ButBit calls.
Also added USER_*  to each define located in DNA_userdef.h.
2004-01-13 14:50:45 +00:00
Chris Want
a5a01ed549 Armature speed ups, Part I
--------------------------

Major speed up for armatures during times when you aren't
posing a figure.

Background: the calculation of poses generated by actions and the
calculation of displists were getting somewhat out of sync.
This was being remedied by 'clearing the constraint done flag'
of the pose channels and recalculating the displists every time
the 3d view was redrawn, making life slow and unpleasant.
Commenting out the code that was doing this, then reinserting
the 'clearing the constraint done flag' at the right times
made things a bit more perky.
2004-01-02 23:29:34 +00:00
10c0f4ae9f - bug fix #828
Blender crashed when assigning background image to 3d window, when no
  buttons window was visible. This caused by copying code from old location
  with still using some variables of the 'button space' struct.

  Solved by creating these variables in View3d 'space' as well, and using
  these instead. Could also remove old coder /* comment */ that there was
  a unknown bug in the code there. :)
2003-12-31 13:48:45 +00:00
b269f6f466 - since the Object Transform panel in 3d window has sufficient space,
made all buttons display 3 digits after dot, instead of 2.
2003-12-29 20:12:21 +00:00
3489a56a32 - fix for reported error in drawing 3d window buttons Panel when you have
VertexPaint or FaceSelect mode on.
  The error was caused by not resetting to 2d buttons matrix after drawing
  the color codes for selection in backbuffer.
2003-12-01 13:01:18 +00:00
90541541c3 Added all necessary BPY_extern.h include files to the .c files.
Updated the Make environment to point to the correct location. The include
paths were still pointing to source/blender/bpython/include while it should be
source/blender/python.
I did not encounter the build problems because I'm always working with the
autoconf build environment.
2003-11-23 14:28:46 +00:00
fbc58ed007 - added button aligning code for most other panels... still unfinished
next step first is cleaning up design in panels itself.
2003-11-22 22:22:16 +00:00
Chris Want
e7d3e24a0e Got rid of many #include "BPY_extern.h"
Homework from Michel: do grep BPY source/blender/src/*
and see if there is anything that needs fixing.
2003-11-22 20:21:59 +00:00
711af5cf5e - fixed an oldie! When using a spotlamp in 'potato' textured drawmode, the
normal opengl light didnt work proper anymore.
2003-11-20 17:51:37 +00:00
4a5ae4a55f Fix for undo... it didn't do the UV coords (tface) nor the vertexpaint
colors. This because of the pretty weird (ab)use of load & make editmesh...

For each added undo step, the load_editmesh was fed with an empty mesh
to assign data to, without knowledge of what was in the original mesh.
That way UV and color data got lost.

Solved it in 2 steps:

1. removing the ->tface pointer from EditVlak, and make TFace a builtin
  struct inside EditVlak. This didnt cost much extra mem, since it already
  stored UV and color. This enabled some pretty cleanup in editmesh.c as
  well, storing tface pointers was cumbersome.
2. for each undo step, it then generates always a tface and mcol block to
  link to the undo Mesh.
  Even when it wasn't in the actual Mesh, at exit editmode the original
  Mesh is used as reference anyway, and undo-meshes are freed correctly.

The enormous commit is because I had to change the BLI_editVert.h file, and
found it was included in about every file unnecessary. I removed it there.
ALso found out that subsurf has code ready (unfinished) to make UV coords for
the displaylist in EditMode as well, nice to know for later...
2003-11-19 22:00:14 +00:00
d8f8605098 - Bug fix: at osx, default AA font couldnt be written in .b.blend
(unless you manually install font)
- Bug fix: string for AA font was only 64 chars... made 256.

- Changed API for buttons aligning... it now detects automatic what rows
  are, or collums, and aligns buttons. This makes call easier:
  uiBlockBeginAlign(block);
  ... defBut....
  uiBlockEndAlign(block);
  Only works when you provide buttons in row order!
- made sure only 'rounded' theme uses this align stuff
- still work in progress.. I commit now because I leave to denmark for 2 days!

http://www.blender.org/bf/rt.jpg  <- now also groups with rows+collums
2003-11-14 15:49:26 +00:00
a291ea6683 - Added button align code:
uiBlockBeginAlign(block, 'v');  'v'= vertical. 'h'=horizontal
  ..... (button def calls)
  uiBlockEndAlign(block);

  this will allow new themes to have buttons nicely drawn together.
- added new rounded draw theme, to test & illustrate the above.
- only did parts of button code with align... rest for later
- fixed 'minimal' theme to make it usable (with some decoration)
- put back 'oldskool' theme... but it just looks plain ugly! remove?

Lazy people: http://www.blender.org/bf/rt.jpg
check the top header, or Nkey menu, to see the meaning of 'align'.
2003-11-14 00:44:48 +00:00
a149109a5e - added panel backdrop for buttonswin to themes
- made hilite of headers a tinsy bit subtler
- opengl render (icon 3d window) uses theme for backdrop
2003-11-08 23:18:32 +00:00
185ea29d2a - removed all buttons to choose for 'image selector'. where loading images
is meant, a ctrl+click will invoke image selector still.
- this as discussed a while ago at meeting; the image selector is highly
  unstable, and causes bug reports for each release we do.
- removed reference to 'save runtime' from file menu.
- added icons to fileselect buttons in f10 menu
2003-11-08 10:47:50 +00:00
13c95a6e85 bug fix: audio hangs on OSX when playback with ALT+A
reason: mixbuffer size was not correctly initialized in .blend. Doing this
for struct UserData has some extra quirks, so better not do it with
checking for version (if version<2.27 etc) but always (if U.mix==0 etc).

I mail this to committers list as well.
2003-11-06 14:13:49 +00:00
5bd910ae2c - added buttons for NKEY menu editmode curve, nurbs, armature
- same for PoseMode
2003-10-28 16:26:51 +00:00
0311189fb8 - fixed printing in headers (during modes) for when there is no header...
(uhh.. i mean, then it doesnt print!)
- put back axis icon of 3d win to left/bottom corner.
  it was only moved for tests with an extended header to the left...
2003-10-26 21:09:33 +00:00
f0f851d963 - restored default one 'solid' light
- subsurd level '0' is possible again.
  however; it was changed to '1' because convert-to-mesh crashes. the
  subsurf code doesnt give a result when level is '0', causing the convert
  routines to either crash, or deliver empty mesh...
  I added a warning in the convert routine now, and dont do anything then.
- changed all glFlush() in glFinish() in editobject.c, which seems to be
  the right magical call to show frontbuffer drawing.
2003-10-26 20:45:52 +00:00
f9e231beb0 Background image offset buttons 2003-10-25 22:59:15 +00:00
f3532c7be5 Split the 'background and settings' panel in 3d window in 2 parts.
Instructions for how to add panels there:

- add a handler define code in BIF_space.h
- create a menu item that invokes a add_blockhandler()
- add to view3d_blockhandlers() the correct handler for it

- plus create a panel itself, just copy one... it needs some stuff
  to get working, docs for that are for later
2003-10-25 22:03:19 +00:00
9ea73362ae New feature!
You now can adjust the way the default 'solid opengl' drawing happens.
It provides three lights now, all still located around your viewpoint.
In the UserSettings menu you can set them on/off, give location and
color / specularity.

Very nice to enhance modeling in solid drawmode :)

By default blender starts with 2 lights on now, but this is something we
can define in the default .b.blend later on.
2003-10-25 16:53:50 +00:00
9a625925da Cleaned up new constraint line drawing while grab/rot/scale
- uses callback mechanism to tell main drawing routine what to do
- for that reason it doesn't use frontbuffer drawing anymore
  and it shows up in all 3d windows as well
- it uses the same colors as for the grid axes (I tweaked it a bit,
  this is based at themecolors, and also should work in different
  background and grid color)
- I disabled drawing lines through every object or every vertex.
  The current display method is clear and not distracting
- when in 'local' transform (double press X/Y/Z), it displays a nice
  axis in the center of transform for vertices.
  In object-mode, local transform differs per object, so constraint lines
  and axes are drawn for each individually...

Also:

- fixed an old bug in rotate transform(). Using a constraint for
  rotation (X, Y, Z) didn't work for multiple objects at all!
2003-10-23 16:15:05 +00:00
dbdc116909 - fixed bug: 'header select' themecolor had no alpha, causing antialiased
lines not drawn (triangles in buttons for example)
- correct colors for channels in texture buttons
- fixed bug: using proportional editing, the extra wire draw had incorrect
  matrix
- fixed bug: drawing in imagewindow didnt work anymore... was a very old
  one! the wrong pointer was read, and it accidentally went OK, until now
- selecting vertices with multiple 3d wins open works again
2003-10-22 17:34:51 +00:00
389b06c91e More fixes in object drawing:
- transparent faces in editmode don't write in zbuffer anymore (prevents
  drawing errors) but still read (so behind the subsurf faces for example)
- improved drawing 'handles' for subsurf editing
- going in editmode to Solid view, will draw extra wire always, including
  transparent faces when set
- works in all combos... http://www.blender.org/docs/ton/subsurf.html

- fixed error; padplus/padminus didnt work in buttonswindow anymore
- improved buttonswin: when dragging window edge, the buttons dont
  rescale, but stay same size
2003-10-22 09:06:30 +00:00