blender-staging.git
15 years agoI'll break this commit into two sections in the moto files
Kent Mein [Fri, 25 Mar 2005 16:31:05 +0000 (16:31 +0000)]
I'll break this commit into two sections in the moto files
I got rid of a few warnings about blah shadows a previous declaration.

In the gameengine files I fix the following:
removed some unused vars
removed dos style line breaks
added newlines to last line in a couple of files to remove warnings.

Kent

15 years agoAdjusted tooltips for RGB and Grad buttons on particle settings panel. User
Chris Burt [Fri, 25 Mar 2005 16:05:31 +0000 (16:05 +0000)]
Adjusted tooltips for RGB and Grad buttons on particle settings panel. User
pointed out in bug tracker that these weren't entirely accurate.

15 years agoQuickly hacked together a fix for game engine compiling. There were two
Chris Burt [Fri, 25 Mar 2005 14:57:25 +0000 (14:57 +0000)]
Quickly hacked together a fix for game engine compiling. There were two
missing files in Kester's new commits. This commit adds these two files so
that compiling can continue as it is intended to. Emilie M. found a
home for the files rather quickly, Ton recieived the files from Erwin via
email, and we all tested. Works great! Thanks to everyone that helped!

15 years agoSmall fix for the following warning:
Kent Mein [Fri, 25 Mar 2005 14:48:29 +0000 (14:48 +0000)]
Small fix for the following warning:
../include/MT_Quaternion.h:62: warning: declaration of 'angle' shadows a member
of 'this'

Kent

15 years ago - removed unused variable
Daniel Dunbar [Fri, 25 Mar 2005 14:28:51 +0000 (14:28 +0000)]
 - removed unused variable

15 years agoTransform fix; in PoseMode you now can do multiple chains again.
Ton Roosendaal [Fri, 25 Mar 2005 13:31:59 +0000 (13:31 +0000)]
Transform fix; in PoseMode you now can do multiple chains again.

15 years agoadded an #include <stdlib.h> to fix this:
Kent Mein [Fri, 25 Mar 2005 13:18:13 +0000 (13:18 +0000)]
added an #include <stdlib.h> to fix this:
KX_RayCast.h:92: error: `NULL' was not declared in this scope

Kent

15 years agoA couple of wee transform featurettes;
Ton Roosendaal [Fri, 25 Mar 2005 11:17:59 +0000 (11:17 +0000)]
A couple of wee transform featurettes;

- center of rotation for camera in cameraview rotate has to remain the
  camera center itself, drawing the dashed helpline then doesn't work,
  since it's behind the camera clipplane. Just disabled that line.

- made MMB switch for cameraview grab to become quadratic, for a dolly
  this feels OK, and makes it possible to move in small and large scenes.

- restored SHIFT modifier for translation and scaling. This based on old
  convention that allowed precision editing on top of the transform you
  already applied before pressing SHIFT.
  Solved it with a new flag (T_SHIFT_MOD), since the G.qual cannot be
  used. Transform() innerloop has to detect the SHIFT event itself.
  Also coded it with storing the mouseposition while SHIFT event happened.
  Hope Martin can approve! :)

- Martin's last commit made Manipulator Translate not work, it passed on
  a zero translation to the constrainter, causing NaN's. Nicely catched the
  exception.

- Fixed 'Trackball' to accept number input too

15 years agoPatch from Erwin Coumans: Abstract the physics engine.
Kester Maddock [Fri, 25 Mar 2005 10:35:31 +0000 (10:35 +0000)]
Patch from Erwin Coumans: Abstract the physics engine.

Reenable ODE in the physics engine buttons.

15 years agoBig patches:
Kester Maddock [Fri, 25 Mar 2005 10:33:39 +0000 (10:33 +0000)]
Big patches:
Erwin Coumans: Abstract the physics engine
Charlie C: Joystick fixes
Me: Moved the ray cast (shadows, mouse sensor & ray sensor)

15 years agoCommented out some old cruft in the Makefile which seemed to be unrelated
Chris Burt [Fri, 25 Mar 2005 04:25:54 +0000 (04:25 +0000)]
Commented out some old cruft in the Makefile which seemed to be unrelated
to the Cygwin platform. This produced some silly error message about files
which haven't existed in the CVS repository for many months now. I can
remember seeing this message for at least a year and since it has *never*
changed I decided to investigate. Looks like unmaintained part of the
build system that nobody pays attention to but just in case I've left it
in tact with the following comment:

This code below seems outdated and doesn't even seem to apply to the
Windows platform. I've commented it out until someone can take a look at it
and confirm or deny. If it breaks anything blame Chris Burt / Desoto

Hopefully that's clear enough, but I really think this is a trivial change
and if after review nobody minds I'll simply erase the offending code.

15 years agoSince Cygwin isn't compatible with all of this fancy AVI codec business we
Chris Burt [Fri, 25 Mar 2005 03:47:19 +0000 (03:47 +0000)]
Since Cygwin isn't compatible with all of this fancy AVI codec business we
need to do a check to be sure that we're not attempting to compile AVI
codec related features on Cygwin.

Prior to Rob's commit today, this setting wasn't exposed to Cygwin by
default because it was hidden by a WITH_QUICKTIME ifdef but when Rob
cleaned up today he removed that and the WIN32 ifdef inspired Cygwin and
the free tools to try and compile these pieces. This resulted in an
undefined reference to get_avicodec_settings.

Rob: Please review this change to be sure its compatible with the rest of
your integration of the avicodec and quicktime. It seems to go flawlessly
here but without your OK I'm not comfortable making this permenant. I based
this modifcation on other instances of this check for FREE_WINDOWS so it
should be just fine.

As always if it breaks something blame Ton. :P

15 years agoaxisProjection can take care of zero-length vector so we don't need to check anymore...
Martin Poirier [Fri, 25 Mar 2005 03:28:08 +0000 (03:28 +0000)]
axisProjection can take care of zero-length vector so we don't need to check anymore. Was giving some problems with cameras looking perfectly down.

Also removed all NEWTRANSFORM defines, using the new code all the time now.

15 years agoReworked the camera dolly/parallel axis constraint code a bit. Works pretty much...
Martin Poirier [Thu, 24 Mar 2005 21:32:52 +0000 (21:32 +0000)]
Reworked the camera dolly/parallel axis constraint code a bit. Works pretty much like the Shrink/Fatten code, meaning pull the mouse toward you pulls the camera, push pushes it away.

Also added a T_CAMERA flag for camera grab, which gets set on TransData conversion.

15 years agoBug fix 2303
Ton Roosendaal [Thu, 24 Mar 2005 21:01:12 +0000 (21:01 +0000)]
Bug fix 2303

The gamma functions in gammaCorrectionTables.c cannot be used to correct
and correct back with identical results... causing banding in rendering
pictures with halos.

15 years agoTransform fixes;
Ton Roosendaal [Thu, 24 Mar 2005 18:47:09 +0000 (18:47 +0000)]
Transform fixes;

- Camera translate in camera view, with MMB, works again. Code needs
  verification by Martin... it does it different now too.
- Camera rotate in camera view works again. MMB switches to 'trackball',
  as formerly. Isn't consistant with other rotate+MMB though...
- rotate camera in cameraview around cursor doesn't 'feedack' anymore

Martin; I only use the TransInfo->persinv[4][4] now, but I think it's
safe to use viewmat and viewinv too?

15 years agoFunction std_rmouse_transform() works with function pointer to denote
Ton Roosendaal [Thu, 24 Mar 2005 13:13:00 +0000 (13:13 +0000)]
Function std_rmouse_transform() works with function pointer to denote
what todo. With the new Transform(), using different args, it's not
easy to do it with single function pointer.

For the time being, the function pointer isn't used for the 3d window.

15 years agoBug fix #2311
Ton Roosendaal [Thu, 24 Mar 2005 09:37:06 +0000 (09:37 +0000)]
Bug fix #2311

File name (40) and dirname (80) were too short in sequence data. Made it
compliant using defines FILE_MAXFILE and FILE_MAXDIR.
Also replaced all strcpy() and strcat() with strncpy/strncat, with the
defines in it.
Oh, also fixed plugin path length for sequence, was just 80!

Bug fix #2366

Restored old convention that made using SHIFT+CTRL while using button-
sliders go with 0.1 stepsize of CTRL.
(noticed too late that Chris Burt assigned to self... sorry!)

15 years agoBug fix #2337
Ton Roosendaal [Wed, 23 Mar 2005 22:19:51 +0000 (22:19 +0000)]
Bug fix #2337

SHIFT+Z shaded view could display Shadeless overflows, due to lack of
clipping float to a char. :)

15 years agobug fix 2353
Ton Roosendaal [Wed, 23 Mar 2005 21:20:27 +0000 (21:20 +0000)]
bug fix 2353

Mesh object with hooks, which was used as duplivertor, didn't render the
duplicated objects on correct locations.
It did show OK in 3d window though, was due to not synced drawing and
render convertor code.

15 years agoRemoved a couple of redundant "FTF_api.h" includes,
Rob Haarsma [Wed, 23 Mar 2005 21:10:03 +0000 (21:10 +0000)]
Removed a couple of redundant "FTF_api.h" includes,
removed leftovers from Freeimage/Imagemagick experiments
and removed stuff from a Quicktime for linux implementation.

Also removed the (win32) Fullscreen button from the UI and
disabled the corresponding commandline option. The code is
still present to reenable the option whenever the ATI issues
get solved.

15 years agoMoved init of new gridview variable, for adaptive grid steps, out of
Ton Roosendaal [Wed, 23 Mar 2005 21:08:15 +0000 (21:08 +0000)]
Moved init of new gridview variable, for adaptive grid steps, out of
function that was only called in ortho... grid snapping otherwise can
not work. Thanks i-Alexander for reporting!

15 years agobug fix #2367
Ton Roosendaal [Wed, 23 Mar 2005 19:21:43 +0000 (19:21 +0000)]
bug fix #2367

Activate object in oops, while in posemode (or even editmode) was possible,
potentially causing all kinds of nasty stuff.

15 years agoFix for bug #1444
Daniel Dunbar [Wed, 23 Mar 2005 19:00:57 +0000 (19:00 +0000)]
Fix for bug #1444
 - this changed creasing behavior at vertices with >2 adjacent creased
   edges. Hope no one minds (new behavior should be nicer).

15 years ago- Fix for CTRL (and possible ALT, SHIFT) as hotkey; now also works while
Ton Roosendaal [Wed, 23 Mar 2005 18:50:03 +0000 (18:50 +0000)]
- Fix for CTRL (and possible ALT, SHIFT) as hotkey; now also works while
  moving mouse around :)
- Shift+D duplicate uses new transform

15 years agoa fix for: https://projects.blender.org/tracker/index.php?func=detail&aid=1173&group_...
Kent Mein [Wed, 23 Mar 2005 18:33:52 +0000 (18:33 +0000)]
a fix for: https://projects.blender.org/tracker/index.php?func=detail&aid=1173&group_id=9&atid=126

blender now does a little more homework to figure out what type of avi file is
being loaded.

Kent

15 years agoBug fix #2375
Ton Roosendaal [Wed, 23 Mar 2005 16:55:22 +0000 (16:55 +0000)]
Bug fix #2375

Akey in ipowindow didn't deselect anymore. Or worse... each main refresh
in ipowindow selected all ipos!

Was related to trying to fix mess from jK's commit last year... now its
scientifically ok again! :)

15 years agoBug fix #2349
Ton Roosendaal [Wed, 23 Mar 2005 15:40:50 +0000 (15:40 +0000)]
Bug fix #2349

Outliner click on mesh in screen without 3d window crashed. NULL pointer!

15 years agoNew feature, since long on todo;
Ton Roosendaal [Wed, 23 Mar 2005 14:24:43 +0000 (14:24 +0000)]
New feature, since long on todo;

The grid function (transform translate, snap-to) now uses the grid step as
displayed in the 3d window, so it depends on how much you zoomed in/out.

The threshold for it is a bit tricky... it follows the drawing, but the
blending in/out of grid makes it sometimes not obvious.  might need slight
tweak?

15 years agoMonkey got accidentally 'recalcnormalled'. Causing eyes to have normals
Ton Roosendaal [Wed, 23 Mar 2005 13:09:22 +0000 (13:09 +0000)]
Monkey got accidentally 'recalcnormalled'. Causing eyes to have normals
pointing inside. Fixed!

15 years agoBug #2444
Ton Roosendaal [Wed, 23 Mar 2005 12:47:23 +0000 (12:47 +0000)]
Bug #2444

Jkey, for showing spare render page, didn't work when using ztransp
material, or buttons F5 open or shaded view.... quite strange eh!
Caused by init-render-material setting R.flag to use Ztransp render.
Globals causing havock yes...

15 years agoTransform stuff for TEST!
Ton Roosendaal [Wed, 23 Mar 2005 11:49:54 +0000 (11:49 +0000)]
Transform stuff for TEST!

- 4th rotation widget styling, activate with Scene buttons, Anim panel, "rt"
  on "4".
- drawing constraint lines replaced with widget compatible styling.
  (functionality unchanged)

Fix;
- click on center for Rotate widget didn't switch to local/normal in all
  cases

15 years agoUpdated channel listing for help with compiling Blender to reflect (once
Chris Burt [Tue, 22 Mar 2005 23:38:34 +0000 (23:38 +0000)]
Updated channel listing for help with compiling Blender to reflect (once
again) the existence of #blendercompilers. Also added link to updated
compiling guide found here:

http://www.blender3d.org/cms/Building_with_Cygwin.524.0.html

Thanks to Tom M. and joeedh for pointing out that it should be updated.

15 years agoSmall fix; when pulldown menus are too large to display (they get aligned
Ton Roosendaal [Tue, 22 Mar 2005 15:56:58 +0000 (15:56 +0000)]
Small fix; when pulldown menus are too large to display (they get aligned
with top/bottom to active button) the menu aligns from bottom of blender
window.

This already happened for File->Export menu

15 years ago- Removed temporal hack that switched manipulator type on G, R, S hotkeys.
Ton Roosendaal [Tue, 22 Mar 2005 15:01:36 +0000 (15:01 +0000)]
- Removed temporal hack that switched manipulator type on G, R, S hotkeys.
  That was blocking immediate hotkey access for normal blendering.
- New, experimental, hotkey to switch: CTRLKEY! Added code in such a way
  it detects a CTRL key press and release without using it as modifier.
  Pressing CTRL will cycle through the 3 manipulator types.

- Fix for yesterday's commit; click on centerpoint for switching
  orientation happened too on a click for other widgets. Not nice...

15 years ago - Nothing to see hear, move along, move along.
Daniel Dunbar [Tue, 22 Mar 2005 14:57:14 +0000 (14:57 +0000)]
 - Nothing to see hear, move along, move along.

15 years agoReordered some of the includes to fix STL issues.
Kent Mein [Tue, 22 Mar 2005 13:34:31 +0000 (13:34 +0000)]
Reordered some of the includes to fix STL issues.

For details, see:
http://www.blender.org/modules.php?op=modload&name=phpBB2&file=viewtopic&t=5867

Kent

15 years agoAdded call in creating transform data Mesh editmode to calculate vertex-
Ton Roosendaal [Tue, 22 Mar 2005 11:10:04 +0000 (11:10 +0000)]
Added call in creating transform data Mesh editmode to calculate vertex-
normals for the ALT+S "shrink/fatten" option.

15 years agoadd files for Daniel Dunbar's new CCGSUBSURFLIB work to SCons build.
Stephen Swaney [Tue, 22 Mar 2005 07:45:20 +0000 (07:45 +0000)]
add files for Daniel Dunbar's new CCGSUBSURFLIB work to SCons build.
This commit *only* adds the new files.

Since this is an experimental feature, it is NOT enabled by default.

At the moment, you can turn it on by editing the toplevel SConstruct
file.  NOTE:  this is a hack.  it will be done properly later!

To enable this experimental feature,
add the following line after the line that starts with 'extra_flags = ['

    extra_flags.append( '-DUSE_CCGSUBSURFLIB' )

15 years ago - Hacked in blender style creasing support to new subsurfs.
Daniel Dunbar [Tue, 22 Mar 2005 06:11:25 +0000 (06:11 +0000)]
 - Hacked in blender style creasing support to new subsurfs.

I would like to have proper creasing (following what appears to be
the informal standard in the subdivision surface literature) but
I do not know when I will get to this or how complicated it will
be. With this patch CCGSubSurfs should now have the same capabilities
as regular subsurfs (barring possible bugs) and so replacing the
old implementation is a reasonable possibility.

15 years agoBPython:
Willian Padovani Germano [Tue, 22 Mar 2005 04:28:36 +0000 (04:28 +0000)]
BPython:
-- Stephane Soppera (thanks) reported libc stat function fails for paths ending with "\" under win with free VC++ compiler toolkit 2003:
    removed final '/' (BLI_make_file_string changes the '/' to '\\\\' for win) slashes from relevant paths, that should take care of it .  Note: here (linux, glibc, gcc 3.3.3) stat doesn't have this problem.  Also checking if U.pythondir ends with a slash and, if so (as long as its length > 2 to), removing the slash, for the same reason.
-- small cosmetic changes in BPY_menus.c for debug msgs and in header_scripts (added a separator in the Scripts win -> Scripts menu).

15 years agoTransform widget update
Ton Roosendaal [Mon, 21 Mar 2005 22:51:05 +0000 (22:51 +0000)]
Transform widget update

- now support for global/local/normal orientation.
- LMB click on center switches orientation mode
- in object mode, local (now) only displays on single object selected
- in editmode, Normal orientation is derived from faces selected
- if no normal can be found, it shows local orientation

Currently implemented, for test, in Mesh editmode and PoseMode.

Note for PoseMode; the 'translation widget' shows on "IK" bones but
doesn't translate, it rotates instead. Pretty interesting to use the
translate widget for it...least cluttered display I think.

Note for Matt; I tried MMB click for switching orientation... it's just
weird that way... such clicks, repeatedly, with mousewheels isnt nice
either.

15 years agoAdded option to use new subsurf module added by Daniel Dunbar. Simply add:
Chris Burt [Mon, 21 Mar 2005 22:32:02 +0000 (22:32 +0000)]
Added option to use new subsurf module added by Daniel Dunbar. Simply add:

export NAN_NEW_SUBSURF=true

to your user-def.mk file.

15 years agoSize flipping, for kaito. Move pointer to the other side (horizontal) of the pointer...
Martin Poirier [Mon, 21 Mar 2005 20:35:00 +0000 (20:35 +0000)]
Size flipping, for kaito. Move pointer to the other side (horizontal) of the pointer to see. (Does affects size member, so just object position and edit mode)

15 years agoFix for possible divide by zero error in Rotate.
Martin Poirier [Mon, 21 Mar 2005 19:16:39 +0000 (19:16 +0000)]
Fix for possible divide by zero error in Rotate.

Fix for MMB behavior when two axis were exactly on one another or very close. It now defaults like this: X, Y, Z (meaning if as near as X as Y, it chooses X). This could be fixed further.

15 years agoCreated initConstraint. It basicly just checks if the CON_APPLY has been set up ...
Martin Poirier [Mon, 21 Mar 2005 18:25:17 +0000 (18:25 +0000)]
Created initConstraint. It basicly just checks if the CON_APPLY has been set up (by the BIF_setConstraint calls for example) and calls startConstraint. This must be done because startConstraint uses data initialised when starting transform so it needs to be called after that.
Also changed some strcpy into strncpy.

15 years agoAdded string to BIF_setSingleAxisConstraint() function for headerprint.
Ton Roosendaal [Mon, 21 Mar 2005 17:52:45 +0000 (17:52 +0000)]
Added string to BIF_setSingleAxisConstraint() function for headerprint.
Needed for martin to further work on print stuff

15 years agoShrink/Fatten behavior change. This time for good I hope.
Martin Poirier [Mon, 21 Mar 2005 17:36:21 +0000 (17:36 +0000)]
Shrink/Fatten behavior change. This time for good I hope.

Technically, it now works by getting the mouse motion in 3D (just like Translation/Grab), projecting it on the vertical view axis, using the vector length as the shrink/fatten factor. If the motion is downward (on the screen), shrink, if it is upward, fatten.
In layman terms: move up to fatten, down to shrink and it adapts to the viewport zoom, like Translation.

I changed to snapgrid factors to match those of Translation to, so it really acts like grabbing.

15 years agoTransform:
Ton Roosendaal [Mon, 21 Mar 2005 16:36:43 +0000 (16:36 +0000)]
Transform:

- cleaner code for selection of handles in transform widget. in ortho views
  selecting the center handle defaults, to prevent Inf. overflows for
  perpendicular handles. While holding SHIFT it works the opposite!

- removed redraws on modifier (CTRL, SHIFT) key release. that ensures you
  can apply to grid nicely (functioned that way in all blender releases)

15 years agoMore transform widget goodies;
Ton Roosendaal [Mon, 21 Mar 2005 14:20:04 +0000 (14:20 +0000)]
More transform widget goodies;

- added 'ghosting' for while using translate/scaling widget
- added 'pie chart' ghost to denote angle while using rotate widget
- added settings to tweak widget in User menu (InfoWindow) "View & Control"
  - Size: total widget size as percentage of window size
  - Handle: as percentage of widget radius
  - Hotspot: for clicking handles, in pixels
  - Fized Size: option to make Widget size independent of window size
  Not sure if all of these are useful to keep, but makes for good testing
  in this stage.

Also: made #define to use new transform to be set TRUE by default now. :)

15 years agoScripts (making some changes to the scripts dir):
Willian Padovani Germano [Mon, 21 Mar 2005 05:26:52 +0000 (05:26 +0000)]
Scripts (making some changes to the scripts dir):
- moved bpydata/ to scripts/bpydata/ and added a config/ subdir to it;
- created scripts/bpymodules for py modules (also got rid of those "mod_"'s appended to the files);
- updated scripts accordingly.

This will require you to "reinstall" (just copy the scripts/ dir over your older one) if you have a .blender/scripts/ dir somewhere.  Otherwise some scripts won't work.  You can use the updated "Help->System->System Information" script here to check all is fine.  An installer script yet to be written will help users with these issues, specially to make the user defined dir have the same structure expected from the default scripts dir, so the basic facilities (module search; saved config data; scripts: installer, help browser, config editor) are also available for a user's own collection of written and downloaded scripts.

BPython:
- slikdigit's crash was because he had no <home or blender exe location>/.blender/:
  proper check added and also now if all else fails the <cvsblender>/release/scripts/ dir is also searched for scripts.  All this registration dirs stuff is a little messy (installation!), so please report any troubles (I only tested on linux).
- slight change in error report in BPY_interface.c's BPY_menu_do_python; remembering to set globaldict pointer to NULL there, too.
- moved bpy_gethome() to EXPP_interface.[ch]
- "//" as user defined python dir is ignored while looking for scripts, considering it's only a default some users use, not really meant for a scripts dir.

15 years ago - update new conversion to DLM routine to use match subsurf
Daniel Dunbar [Mon, 21 Mar 2005 04:22:58 +0000 (04:22 +0000)]
 - update new conversion to DLM routine to use match subsurf
   (means optim, seams, selection should work same now, but I am
   not super familiar with all this stuff so can't test very well).

   These hacks to the DLM structure are disgusting btw Ton. What
   a waste of memory! All the information that is so meticulous to
   kept and managed in the old structure is essentially explicit (or
   easily made so) in the new one.

15 years ago - remove some duplicate prototypes, causes problems for some compilers
Daniel Dunbar [Mon, 21 Mar 2005 02:03:42 +0000 (02:03 +0000)]
 - remove some duplicate prototypes, causes problems for some compilers

15 years ago - Part of CCGSubSurf integration, this is the actual blender side of the
Daniel Dunbar [Mon, 21 Mar 2005 01:37:14 +0000 (01:37 +0000)]
 - Part of CCGSubSurf integration, this is the actual blender side of the
   integration.

15 years ago - Initial integration of CCGSubSurf library into blender. The lib is
Daniel Dunbar [Mon, 21 Mar 2005 01:34:27 +0000 (01:34 +0000)]
 - Initial integration of CCGSubSurf library into blender. The lib is
   only in one C file and not worth dropping in extern but presumably
   will be synced with public CCGSubSurf release I hope to be making
   soon.
 - Currently the implementation must be enabled by defining
   USE_CCGSUBSURFLIB somewhere with your build system. The code should
   be considered highly experimental.

15 years ago - switch BLI_memarena to use stdlib malloc/free (alloc errors
Daniel Dunbar [Mon, 21 Mar 2005 00:48:19 +0000 (00:48 +0000)]
 - switch BLI_memarena to use stdlib malloc/free (alloc errors
will be caught by containing structure)
 - fixed off-by-one bug (reallocated one byte before necessary)

15 years ago - another BLI_winstuff.h removal
Daniel Dunbar [Mon, 21 Mar 2005 00:47:21 +0000 (00:47 +0000)]
 - another BLI_winstuff.h removal

15 years agoWarp was acting weird if the cursor wasn't centered in the data space, that is fixed.
Martin Poirier [Mon, 21 Mar 2005 00:39:09 +0000 (00:39 +0000)]
Warp was acting weird if the cursor wasn't centered in the data space, that is fixed.
Helpline for warp was wrong in edit mode if the object wasn't centered on global space.
Boundbox calculation for warp is done in view space now, so it is always maximised since aligned with the view.

Switch the negative/positive switch for Shrink/Fatten from horizontal motion to vertical motion. Pull down to shrink, pull up to fatten. This could still use some work.

BugFix: Constraint center was wrong with MMB (was bypassing the fix I commited the other day).
BugFix: Changing modes while in transform and switching to local constraints in edit mode crashed. This was due to resetting the TransInfo flag in initTransModeFlags. Now done correctly in initTrans.

15 years ago - kill some warnings (open/seek/read/write need io.h on win32)
Daniel Dunbar [Sun, 20 Mar 2005 20:48:40 +0000 (20:48 +0000)]
 - kill some warnings (open/seek/read/write need io.h on win32)

15 years ago - apologies, accidentally commited code w/ game engine disabled
Daniel Dunbar [Sun, 20 Mar 2005 20:36:46 +0000 (20:36 +0000)]
 - apologies, accidentally commited code w/ game engine disabled

15 years agoAdding some docs for material insertIpoKey additions
Johnny Matthews [Sun, 20 Mar 2005 19:52:15 +0000 (19:52 +0000)]
Adding some docs for material insertIpoKey additions

15 years agoNew Material method: insertIpoKey( key_type )
Stephen Swaney [Sun, 20 Mar 2005 18:28:36 +0000 (18:28 +0000)]
New Material method:  insertIpoKey( key_type )
inserts material ipo key at current frame.
contributed by Johnny Matthews.

15 years agoThree rotate manipulators to play with;
Ton Roosendaal [Sun, 20 Mar 2005 17:25:00 +0000 (17:25 +0000)]
Three rotate manipulators to play with;

G.rt = 0: one handle for each rotate axis
G.rt = 2: traditional half-circle rotate handles
G.rt = 3: mixed version

15 years agocorrect bad reference to getDrawMode.
Stephen Swaney [Sun, 20 Mar 2005 12:34:36 +0000 (12:34 +0000)]
correct bad reference to getDrawMode.

15 years ago- Fixed flipped orientation of getViewViewvector(), was opposite in ortho
Ton Roosendaal [Sun, 20 Mar 2005 09:45:54 +0000 (09:45 +0000)]
- Fixed flipped orientation of getViewViewvector(), was opposite in ortho
  versus perspective.
  Note for Martin; still an issue with defining what positive/negative
  rotation is in perspective... needs more math here!
- Added Transform Widgets for PoseMode
- made adding bones in EditMode setting G.moving, so it doesn't draw other
  selected objects nor Widgets

Warning in commit of Martin yesterday: Trackball and initTrackball were
declared static, whilst also in transform.h. Quez; why are these functions
exported in the .h file?

15 years agoAdding some docs for Object insertIpoKey additions
Johnny Matthews [Sun, 20 Mar 2005 03:50:56 +0000 (03:50 +0000)]
Adding some docs for Object insertIpoKey additions

15 years agoAdding some docs for Text3d additions
Johnny Matthews [Sun, 20 Mar 2005 03:42:04 +0000 (03:42 +0000)]
Adding some docs for Text3d additions

15 years agoTon broke a couple of things in his last commit including PET in rotation mode and...
Martin Poirier [Sun, 20 Mar 2005 02:00:16 +0000 (02:00 +0000)]
Ton broke a couple of things in his last commit including PET in rotation mode and local axis constraints on objects.
Bringing that back and enabling PET in trackball rotate.

Changed the rotation manipulator drawing code to really align the Trackball rotate ball with the view (using getViewVector) so that it always looks centered on the selection.
This was particularly ugly in perspective mode with a selection far from the center of the screen: http://www.clubinfo.bdeb.qc.ca/~theeth/screenie.jpg

Moved getViewVector from transform_constraints.c to transform_generics.c since it is not really a constraint related function. Also made it independant on the TransInfo structure so it might be useful elsewhere too.

15 years agoNew Bpy Object method: insertIpoKey()
Stephen Swaney [Sat, 19 Mar 2005 23:47:39 +0000 (23:47 +0000)]
New Bpy Object method:  insertIpoKey()
inserts Object IPO key for LOC, ROT, SIZE, LOCROT, or LOCROTSIZE
Contributed by Johnny Matthews (guitarGeek)

15 years ago- added helper lines in rotation widget
Ton Roosendaal [Sat, 19 Mar 2005 22:03:14 +0000 (22:03 +0000)]
- added helper lines in rotation widget
- switched to Local mode for widgets by default, will be a key/button later

15 years agofix warning: initialization makes integer from pointer without a cast
Stephen Swaney [Sat, 19 Mar 2005 21:28:40 +0000 (21:28 +0000)]
fix warning: initialization makes integer from pointer without a cast

15 years ago - remove all obsolete inclusions of BLI_winstuff.h (due to recent changes)
Daniel Dunbar [Sat, 19 Mar 2005 21:08:13 +0000 (21:08 +0000)]
 - remove all obsolete inclusions of BLI_winstuff.h (due to recent changes)

NOTE: BLI_winstuff.h was meant to be a wrapper around windows.h to handle
undefining various crap that windows.h defines. Platform specific headers
should only have to be included in a few places. This reduces the number
of inclusions of BLI_winstuff.h to 16 which is a much more reasonable
number (than the 144 or whatever it used to be)

15 years ago - add some windows specific defines to BIF_gl.h so that OpenGL can
Daniel Dunbar [Sat, 19 Mar 2005 20:48:39 +0000 (20:48 +0000)]
 - add some windows specific defines to BIF_gl.h so that OpenGL can
   be used without including windows.h - this is the main reason windows.h
   is included in so many places and this change allows most of those
   inclusions to die.

15 years agoGlobal G.moving got nice define flags, and additional meaning.
Ton Roosendaal [Sat, 19 Mar 2005 20:27:13 +0000 (20:27 +0000)]
Global G.moving got nice define flags, and additional meaning.

- move object mode
- move editmode/pose mode
- move with widgets

15 years ago - part of BLI_winstuff.h cleanup
Daniel Dunbar [Sat, 19 Mar 2005 20:19:10 +0000 (20:19 +0000)]
 - part of BLI_winstuff.h cleanup

15 years agoSome cleaning up of BLI_winstuff.h usage
Daniel Dunbar [Sat, 19 Mar 2005 20:04:25 +0000 (20:04 +0000)]
Some cleaning up of BLI_winstuff.h usage
 - removed reference in render.h (really bad, shouldn't include a platform
   specific header so widely unless really necessary)
 - added M_PI, M_PI_2, M_SQRT, M_SQRT_2 defines to BLI_arithb.h... this is
   a better place as it is more the "standard" blender math header. left
   in winstuff.h as well for the moment for simplicity
 - other changes are patches to code so everything works ok with this
   shuffling.

15 years agoLittle fix; while Transform() in editmode, and other objects were select,
Ton Roosendaal [Sat, 19 Mar 2005 20:00:23 +0000 (20:00 +0000)]
Little fix; while Transform() in editmode, and other objects were select,
these objects were drawn in transform color (white usually)

15 years agoNew version of rotate handlers. I like it! Now the rest of you ;)
Ton Roosendaal [Sat, 19 Mar 2005 18:54:45 +0000 (18:54 +0000)]
New version of rotate handlers. I like it! Now the rest of you ;)

15 years agoBPython:
Willian Padovani Germano [Sat, 19 Mar 2005 18:23:05 +0000 (18:23 +0000)]
BPython:
- Added Blender.Run(script) + doc update (forgot to mention in my previous commit).

Trying to fix two mistakes from my previous commit:

- nmesh.transform(): forgot yesterday that affine vectors have 4th component = 0, now updated normals transformation accordingly.

- As Ton pointed, recursive parsing of scripts dirs in search of scripts was a mess.  I simply forgot about the "//" trick and much worse, to protect against worst cases ("/", for example). Now the code uses BLI_convertstringcode to take care of "//", doesn't process if dir = "/" and there are limits:

max depth for traversing subdirs = 4
max dirs in the tree = 30.

I'll work more on this, check more, but these changes were tested and should make the code safer, of course, so I'm committing.  Sorry about the mess, I should take lessons on defensive programming ...

15 years agoFix for building on win32
Johnny Matthews [Sat, 19 Mar 2005 17:15:25 +0000 (17:15 +0000)]
Fix for building on win32

15 years agoAdded transform_manipulator.c to the windows MSVC 6.0 projectfile
Roel Spruit [Sat, 19 Mar 2005 14:13:45 +0000 (14:13 +0000)]
Added transform_manipulator.c to the windows MSVC 6.0 projectfile

15 years agoAdded curly braces around an #ifdef NEWTRANSFORM.
Stephen Swaney [Sat, 19 Mar 2005 13:26:03 +0000 (13:26 +0000)]
Added curly braces around an #ifdef NEWTRANSFORM.
Needed when NEWTRANSFORM was not defined.

15 years agoTransform widgets; Scale and Rotate versions
Ton Roosendaal [Sat, 19 Mar 2005 12:17:06 +0000 (12:17 +0000)]
Transform widgets; Scale and Rotate versions

To use; press the (temporal) icon in header. Switching widget types is by
pressing G, R or S once, if current widget type is different it switches,
otherwise it goes to normal Transform().

Widgets need a bit test for picking accuracy, correct drawing etc.
The rotate widget has a center button for 'trackball' rotate. That latter
can also be used for hotkey-based rotate.

In current code, all widgets remain in "Global" space, also in editmode.
Also widget updates while using normal transform has to be done.

2 Bugfixes:
- rotate in PoseMode had error for 2d 'around' center
- transform in postemode could crash, due to typo (& or |)

15 years agoBPython:
Willian Padovani Germano [Sat, 19 Mar 2005 06:24:55 +0000 (06:24 +0000)]
BPython:

- Scripts:
    fixed error in "Save Current Theme" which prevented it from automatically updating script registration in menus.
    cosmetic changes in a couple of Campbell's sel_same.py script strings + more descriptive name for its new menu place (3d view, face mode -> select menu).
    small updates to help_browser.py script.

 The above changes are related to this:
- Added new script menu entries: Render (for exporters to renderers), Themes, FaceSelect (this already at the proper place).  Updated Scripts win->Scripts menu so it won't show all available entries, only  the ones we mean to see there.
- Updated menu registration so that scripts folders can become trees.  The release/scripts/ dir should be updated soon with subdirs like converters/, modifiers/, generators/ or whatever -- better discuss first (or is it? /me afraid of long irc discussions during meetings :) ).

- Modules:
    Blender: added 'udatadir' option to .Get() function and added var Blender.mode to tell if Blender is in bg or interactive mode.
    NMesh: added Campbell's nmesh.transform(matrix, recalc_normals = False) method (reworked, so my fault if it doesn't work).

- Bugs fixed:
    #2123: http://projects.blender.org/tracker/?func=detail&atid=125&aid=2123&group_id=9
    Reported by Ken Hughes (thanks!), who also found the exact problem later (it was in Text.Load, not with script links -- if only I had checked emails these days ... lost > 1 hour today to find the problem: passed filename to M_Text_Load was later being written over by a function called by add_text).  Also saw that Text.Load wasn't checking existence of passed filename (duh!), now it does.

    #1655: http://projects.blender.org/tracker/?func=detail&atid=125&aid=1655&group_id=9
    Reported by Chris Want (thanks!): command line "blender -P script" not working properly for bg mode ("blender -b blendfile -P script").
    Had to make some small updates to get it working (bg mode for scripts was never explicitely handled, it worked due to collateral effects, let's say), interested readers can check the report after I update it or the API_intro.py doc file.  After more testing we can make further updates.  Updated many places to not call redraws if in bg mode, now it is officially available.  Blender outputs its own info when rendering in bg mode, if that is considered a nuissance we'll have to add a few "if (during_script())" calls outside bpython.

- Removed a few warnings here and there and also updated docs.

15 years ago- patch submitted by guitargeek
Joseph Gilbert [Sat, 19 Mar 2005 03:24:00 +0000 (03:24 +0000)]
- patch submitted by guitargeek
-includes:
*Text3d accessors - ablity to manipulate FONT objects through python
*update to Object.link - calls text_to_curve upon ob_font link for drawing
*update to constant.h - constant type checking define
*update to curve.c - clamp values on getters/setters
*clean up of Text3d module

15 years ago- adds /GR to compiler options for generating run time type info for c++ classes...
Joseph Gilbert [Fri, 18 Mar 2005 16:12:17 +0000 (16:12 +0000)]
- adds /GR to compiler options for generating run time type info for c++ classes in the debug release
- add support for new transform files

15 years agoIndividual Element (object) center for Rotate and Resize. Note that using this in...
Martin Poirier [Fri, 18 Mar 2005 15:08:02 +0000 (15:08 +0000)]
Individual Element (object) center for Rotate and Resize. Note that using this in edit mode is a bit useless right now, but we have some surprises in our bozo bin :P

Transform can switch mode on the fly again (GRS).

Fixed a bug with the BIF constraint call, needed to call startConstraint and normalise the space matrix (this affected the manipulator).

15 years agoForgot to cvs add a file!
Ton Roosendaal [Thu, 17 Mar 2005 21:46:05 +0000 (21:46 +0000)]
Forgot to cvs add a file!
Also did the SConscript file.

MSVC users have to add this!

15 years agoSo! Finally a show-off of the *power* of Martin P's work! :)
Ton Roosendaal [Thu, 17 Mar 2005 21:31:49 +0000 (21:31 +0000)]
So! Finally a show-off of the *power* of Martin P's work! :)

- Made framework for 3d Transform Manipulators (widgets)
- The Manipulators act like '2d buttons', by default with LeftMouse and with
  while-hold-move-release
- Implemented now: Translation Widget, which allows:
  - four hotspots for axis grab or view-aligned grab
  - center defined by 'around' setting
  - SHIFT+LMB gives planar constraint on other 2 axes
  - works in Object mode and Edit mode (not posemode yet)

Enable it with (temporal) icon in 3D header. All other 'normal' transforms
then keeps working btw.

On the todo for this widget:
- choice for Global, Local or Normal orientation

The way the widgets are going to work is in review still. Commit is also for
Matt for his proposal/paper on topic.
Some notes regarding this project;

- no life updates (on mouse over) like 3DS, I think that's neurotic
- on click, dominant axis changes to theme defined "Transform" color, other axes disappear, like maya
- manipulater size is fixed preset, independent zoom.
- manipulator follows selection, and is located based on 'around' mode

Unresolved;

- in maya, when you select 2 or more objects, the manipulator draws on the 'active' object, also interesting
- what to do with G,R,S hotkeys? It could switch the manipulator "mode"...
- header button/menu for manipulator mode?

15 years agofixed example of use the GetScreenInfo
Joilnen Leite [Thu, 17 Mar 2005 14:41:36 +0000 (14:41 +0000)]
fixed example of use the GetScreenInfo
.

15 years agoNeeded to normalise the axis orientation matrix.
Martin Poirier [Thu, 17 Mar 2005 13:55:48 +0000 (13:55 +0000)]
Needed to normalise the axis orientation matrix.
This fixed the scaling bug intrr and LetterRip reported.

15 years agoAck, typo in previous commit, bugfix for confusing edge selection. Passed
Ton Roosendaal [Thu, 17 Mar 2005 12:01:07 +0000 (12:01 +0000)]
Ack, typo in previous commit, bugfix for confusing edge selection. Passed
a face pointer to edge function... tsk tsk!

15 years agoTrying a little something with the MMB behavior.
Martin Poirier [Thu, 17 Mar 2005 02:34:25 +0000 (02:34 +0000)]
Trying a little something with the MMB behavior.

Constraint selection is now based on mouse motion (instead of pointer position).

What that means is that if you simply click MMB, it works exactly like it did with old transform (in 90% of the case, the last 10% is when MMB click was unpredictable in old transform because of extreme viewport orientation)

Also, since this means you don't really have a referential on which to base yourself, it draws a dashed line representing the mouse motion, starting at the center of the axis lines.

Please test and discuss, if this is better than before or not.

15 years agoFixed constraint center calculation. Much smarter to do it when calculating transform...
Martin Poirier [Wed, 16 Mar 2005 21:55:57 +0000 (21:55 +0000)]
Fixed constraint center calculation. Much smarter to do it when calculating transformation center...

Fixed Extrude constraint. Needed to premul the normal by the object's matrix to but it in global space.

Also, moved the Locking Axis modifier (for constraints) from Alt to Shift. Alt was conflicting with middle mouse button emulation (reported in the test builds forum).

Tilt Transformation.

15 years agoOptimising transformations in PET mode.
Martin Poirier [Tue, 15 Mar 2005 17:31:46 +0000 (17:31 +0000)]
Optimising transformations in PET mode.

Sorting elements in TransData array according to their distance. That means we can always stop loops when it finds the first element that doesn't apply. That makes PET factor calculation and actual transformations faster since it stops at the first element outside of the area.

The Sorting algo is a no swap version of quicksort using the start of each subset as the pivot (random would be better and easy to implement. Need 3 additional lines of code really).

15 years agoBug fix #2320
Ton Roosendaal [Tue, 15 Mar 2005 12:30:58 +0000 (12:30 +0000)]
Bug fix #2320

Silly 2.36 bug! In FaceSelect mode, other solid objects didn't show. Bad!

Additional; when using Halo material, and setting 'X Alpha', and disabling
Halo option, the 'Only Shadow' option turned on... uses same bit...
No time for real fix here, so for now the bit is always cleared after
disabling Halo.

15 years agoMatrix multiplcations for Multiple Object local constraints for Resize was done backw...
Martin Poirier [Mon, 14 Mar 2005 23:24:37 +0000 (23:24 +0000)]
Matrix multiplcations for Multiple Object local constraints for Resize was done backward. Didn't show in my test case because they were too crude. Fixed now. (in essence, resize with multiple selected objects and local constraint was not good)

15 years agoome more warnings cleaning
Jean-Luc Peurière [Mon, 14 Mar 2005 20:10:22 +0000 (20:10 +0000)]
ome more warnings cleaning

15 years agoBugfix #2324
Ton Roosendaal [Mon, 14 Mar 2005 20:09:57 +0000 (20:09 +0000)]
Bugfix #2324

Somehow, not proven how, edges can be selected in a mesh, and not faces or
vertices. When entering editmode these selection flags are checked too.

15 years agoThis commit reverses the OpenEXR specific stuff in the OpenEXR commit I
Kent Mein [Mon, 14 Mar 2005 14:56:40 +0000 (14:56 +0000)]
This commit reverses the OpenEXR specific stuff in the OpenEXR commit I
did last friday.  A patch will be available in the patches tracker
that will have the current stuff there until everything is working.

Kent