16 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

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

16 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 |)

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

- 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 script strings + more descriptive name for its new menu place (3d view, face mode -> select menu).
    small updates to 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:
    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.

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

16 years ago- patch submitted by guitargeek
Joseph Gilbert [Sat, 19 Mar 2005 03:24:00 +0000 (03:24 +0000)]
- patch submitted by guitargeek
*Text3d accessors - ablity to manipulate FONT objects through python
*update to - 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

16 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

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

16 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!

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


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

16 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

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

16 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!

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

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

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

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

16 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)

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

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

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


16 years agoTransform: brought back axis constraint default after extruding. When
Ton Roosendaal [Mon, 14 Mar 2005 14:16:59 +0000 (14:16 +0000)]
Transform: brought back axis constraint default after extruding. When
choosing 'individual faces' it uses the ShrinkFatten option.

Note for Martin: center of axis is still wrong, but you know!
Note for non-testers: unfortunately axis constrainting for old
transform now doesn't work anymore. New code is much nicer, I dont restore

16 years agoNew AFFECTALL flag for numinput
Martin Poirier [Sun, 13 Mar 2005 21:42:22 +0000 (21:42 +0000)]
New AFFECTALL flag for numinput
When that flag is set, numbers typed when the cursor is on the first position will affect all positions who do not currently have something typed for them.

Enabled Skey, 2, Enter to quickly double the size of something.

All modesty asside, it's coded rather smartly so it shows the cursor in every position that it will affect and lets you tab in undefined position to type in values there.

Thanks to Samadam for reminding me that the old code permitted that.

16 years agoFixed edit mode armature bug reported by Gabio (transdata conversion wasn't setting...
Martin Poirier [Sun, 13 Mar 2005 20:17:39 +0000 (20:17 +0000)]
Fixed edit mode armature bug reported by Gabio (transdata conversion wasn't setting data center correctly).

Brought back Shrink/Fatten. Changed the behavior a bit, move the cursor to the right to move toward the normal, to the left to move backward. Please comment.
Only works with meshes, defaults to resize otherwise.

16 years agoTransform:
Ton Roosendaal [Sun, 13 Mar 2005 19:48:17 +0000 (19:48 +0000)]

Camera grab from camera mode works, but not the middlemouse-toggle, that
has to become a new "Dolly" constraint coded by Martin P! :)

16 years agoA little editing on the doc for the newest member of our Bpy module familily: Text3d.
Stephen Swaney [Sun, 13 Mar 2005 13:17:59 +0000 (13:17 +0000)]
A little editing on the doc for the newest member of our Bpy module familily: Text3d.

16 years agoMade warp use TransData members instead of G.obedit. Made it work with PET and Object...
Martin Poirier [Sun, 13 Mar 2005 02:15:32 +0000 (02:15 +0000)]
Made warp use TransData members instead of G.obedit. Made it work with PET and Objects at the same time.

16 years agoLocal axis with multiple objects wasn't working for Scaling.
Martin Poirier [Sat, 12 Mar 2005 23:15:26 +0000 (23:15 +0000)]
Local axis with multiple objects wasn't working for Scaling.

Also, splitted of Translation's applying loop (for eventually macro interface).

16 years agoNumInput is now applied correctly to constraints and prints correctly in the header.
Martin Poirier [Sat, 12 Mar 2005 20:34:02 +0000 (20:34 +0000)]
NumInput is now applied correctly to constraints and prints correctly in the header.

What that means is that you can grab/resize an object, press Xkey, type 2 (to resize/move by 2 on the x axis) and then press Ykey and the numeric value will be applied to the transformation on the Y axis.

Fixed a small glitch where constraint center wasn't readjusted for edit mode when using MMB (graphical bug only).

16 years ago*sigh* I obviously rushed this. I honestly thought that this commit would
Kent Mein [Sat, 12 Mar 2005 16:32:32 +0000 (16:32 +0000)]
*sigh*  I obviously rushed this.  I honestly thought that this commit would
not affect anyone.

if user_openexr == 'false':
defines += ['WITH_OPENEXR']

To what it was suppose to be:
user_openexr = 'false':
if user_openexr == 'true':
defines += ['WITH_OPENEXR']

This was messed up on most platforms, somewhere when adding them all
I switched to the bad version and continued with that...

I'm on irc if anyone else has any commits to clean this up.  I'm going
through things and trying to make sure its working for everyone.



16 years agoAdded a #ifdef WITH_OPENEXR around this entire file. It doesn't compile for
Ton Roosendaal [Sat, 12 Mar 2005 13:37:05 +0000 (13:37 +0000)]
Added a #ifdef WITH_OPENEXR around this entire file. It doesn't compile for
Makefiles otherwise...

16 years agodoc about set/getDupliVerts method
Joilnen Leite [Sat, 12 Mar 2005 12:31:33 +0000 (12:31 +0000)]
doc about set/getDupliVerts method

16 years agoBug fix as reported by Fish-Face/Chris Le Sueur on IRC
Ton Roosendaal [Sat, 12 Mar 2005 12:10:07 +0000 (12:10 +0000)]
Bug fix as reported by Fish-Face/Chris Le Sueur on IRC

After deleting an object, the call free_and_unlink_base() takes care of
NULLifying object pointers. But, with exception of constraints. Silly!!!

So, in the end of a function additionally the test_scene_constraints()
has to be called to prevent crashes. This was missing in join_mesh and

16 years agoadded getDupliVerts and setDupliVerts methods
Joilnen Leite [Sat, 12 Mar 2005 11:38:51 +0000 (11:38 +0000)]
added getDupliVerts and setDupliVerts methods

16 years ago - made makesdna print how many bytes of padding should be added in
Daniel Dunbar [Fri, 11 Mar 2005 21:20:33 +0000 (21:20 +0000)]
 - made makesdna print how many bytes of padding should be added in
    a struct on alignment errors, simplifies fixing.

16 years ago - dna_error wasn't set on two errors in makesdna, allowed bad compilation
Daniel Dunbar [Fri, 11 Mar 2005 21:15:20 +0000 (21:15 +0000)]
 - dna_error wasn't set on two errors in makesdna, allowed bad compilation

16 years agoGernot Ziegler's patch to add OpenEXR support to blender.
Kent Mein [Fri, 11 Mar 2005 20:16:14 +0000 (20:16 +0000)]
Gernot Ziegler's  patch to add OpenEXR support to blender.

To enable it you will need to download OpenEXR and install it.
For the Makefiles you will need to set WITH_OPENEXR=true
and set NAN_OPENEXR to point to where OpenEXR is installed.

For scons you'll need to remove config.opts to get the new options
so you can enable OpenEXR, I was not able to get blender to link
with scons so the scons stuff may need to be tweaked a little but
I think it should work.

For other platform managers  The OpenEXR stuff is similar to QUICKTIME
you need to define WITH_OPENEXR and setup the library stuff and
as you'll notice in this commit there are two extra files.


16 years agoBug fix 2301
Ton Roosendaal [Fri, 11 Mar 2005 18:55:09 +0000 (18:55 +0000)]
Bug fix 2301

Halo render had too narrow clipping for left/right or top/bottom part of
image. Was caused by fix for 2.36, incorrect clipping for distance...
distance was OK, but the old hack should be still there for X or Y clip!

16 years agoIt's fun to set flags correctly and not have everything crash down on you.
Martin Poirier [Fri, 11 Mar 2005 18:48:14 +0000 (18:48 +0000)]
It's fun to set flags correctly and not have everything crash down on you.

16 years agoBug fix 2309
Ton Roosendaal [Fri, 11 Mar 2005 18:24:15 +0000 (18:24 +0000)]
Bug fix 2309

Move calls to exit editmode and posemode to "set_scene()". Was causing
errors when, in posemode, switching to empty scene.

16 years agoFound some messed up code that assumed abgr instead of rgba
Kent Mein [Fri, 11 Mar 2005 13:00:31 +0000 (13:00 +0000)]
Found some messed up code that assumed abgr instead of rgba
In IMB_gamwarp which is used by the blur sequence plugin.
It should be fixed now.  Also fixes a warning with gcc.


16 years agoIMPORTANT NOTE: Locking axis (planar constraints) now works with ALT instead of CTRL...
Martin Poirier [Fri, 11 Mar 2005 01:33:43 +0000 (01:33 +0000)]
IMPORTANT NOTE: Locking axis (planar constraints) now works with ALT instead of CTRL. Ctrl might have caused problems in the long run, with people holding down ctrl for precision and then having to release it so to press an axis key if they don't want to lock it.

Finish adding local constraints for multiple objects: One of the objects will have its axis highlighted lighter than the others. You control this one with your mouse and the others copy the motion on their respective axis.

Code changes: the TD_OBJECT flag is now a flag in TransInfo with the new T_POSE, T_EDIT and T_TEXTURE

16 years agoBugfix 2062
Ton Roosendaal [Thu, 10 Mar 2005 20:29:28 +0000 (20:29 +0000)]
Bugfix 2062

Stringcopy to a buf[32] without checking stringsize caused errors.

All credits for Martin P who found it. I'm assistant-committer. :)

16 years agoText3d submodule document
Joilnen Leite [Thu, 10 Mar 2005 02:49:27 +0000 (02:49 +0000)]
Text3d submodule document

16 years agoMSVC 6.0 Projectfile addition (include path) to compile after the big warning hunt...
Martin Poirier [Wed, 9 Mar 2005 23:29:19 +0000 (23:29 +0000)]
MSVC 6.0 Projectfile addition (include path) to compile after the big warning hunt commit.

16 years ago- Added more space in icons image (blenderbuttons.png)
Ton Roosendaal [Wed, 9 Mar 2005 21:10:30 +0000 (21:10 +0000)]
- Added more space in icons image (blenderbuttons.png)
  It now only uses 1 extra row of 21 buttons. More can simply be added
- Added new icons for the new proportional edit options Root, Linear and
- Made sure pulldown and pop-up menu work for new prop options

- Transform fix; proportional edit circle was drawing in Object mode

16 years agoUpgraded buttons image
Ton Roosendaal [Wed, 9 Mar 2005 21:04:09 +0000 (21:04 +0000)]
Upgraded buttons image

16 years agobig warning hunt commit
Jean-Luc Peurière [Wed, 9 Mar 2005 19:45:59 +0000 (19:45 +0000)]
big warning hunt commit
lot of casts, added prototypes, missing includes and some true errors

16 years agoTransform project; restored "auto key" after transform. It now inserts
Ton Roosendaal [Wed, 9 Mar 2005 19:32:23 +0000 (19:32 +0000)]
Transform project; restored "auto key" after transform. It now inserts
always loc/rot/size ipos. The old method had a quite questionable
heuristic for detecting what changed, not sure if we want it back.

Added note in code, good candidate for later recode with dep graphs.

16 years ago- Restored 'align mode', which allows rotate/scale with only object centers
Ton Roosendaal [Wed, 9 Mar 2005 16:58:42 +0000 (16:58 +0000)]
- Restored 'align mode', which allows rotate/scale with only object centers
- commented out debug prints from theeth :)

16 years agodoc about Text3d module
Joilnen Leite [Wed, 9 Mar 2005 02:06:35 +0000 (02:06 +0000)]
doc about Text3d module

16 years ago - replaced min() by MIN2() and max() by MAX2()... my bad.
Daniel Dunbar [Tue, 8 Mar 2005 19:31:16 +0000 (19:31 +0000)]
 - replaced min() by MIN2() and max() by MAX2()... my bad.

16 years agoBug fix #2296
Daniel Dunbar [Tue, 8 Mar 2005 19:27:58 +0000 (19:27 +0000)]
Bug fix #2296
 - Background image would jitter around on ATI card when zoomed in too
   far. It appears that the driver is was multiplying the image width
   by the zoom factor at some point and clamping this number, before
   clipping the visible image. Somehow this then fed back in to clipping
   the zoom factor.

   Fix is to only tell GL to draw the smallest number of pixels (width
   and height) that would be visible on the screen. Since this is not
   a generally bad thing to do applied fix for all users of

16 years ago - switch draW_bgpic to calculate window coordinates as floats, smoother
Daniel Dunbar [Tue, 8 Mar 2005 19:18:40 +0000 (19:18 +0000)]
 - switch draW_bgpic to calculate window coordinates as floats, smoother
     zooming of background pic now.

16 years ago - replaced call to project_short_noclip with direct implementation
Daniel Dunbar [Tue, 8 Mar 2005 18:58:27 +0000 (18:58 +0000)]
 - replaced call to project_short_noclip with direct implementation
     because project_short_noclip doesn't do the calculation if
     the value would be near-clipped. For background picture we
     don't care about this.

16 years agoNew transform project;
Ton Roosendaal [Tue, 8 Mar 2005 17:29:33 +0000 (17:29 +0000)]
New transform project;

- restored 'Warp' (Shift+W). Should work like before, including type mode
  and holding ctrl/shift modifiers
- added CTRL event in queue, to only redraw when you press it. looks nicer.

16 years ago+ Local axis constraint for multiple object selection works with resize and rotate...
Martin Poirier [Tue, 8 Mar 2005 03:51:45 +0000 (03:51 +0000)]
+ Local axis constraint for multiple object selection works with resize and rotate (the easiest).

+ Refined the headerprint for Translation. Now prints only the needed info for constraint in the constraint's space (ie: if you're moving 1 unit along the local X axis, regardless of it's orientation, it will print "D: 1.000 along local X")
Still need to make numinput work like that (typing a number with a local axis constraint would move along that axis. There's some base code already though, just need a finishing touch, but it's late now)

+ Optimised PET calculations by using the TD_NOACTION flag (actually, that might have been in the last commit).

+ Added a float axismtx[3][3] member to TransData to store the orientation of the element (useful for local axis constrainst which, in edit could be moving along normals and the like).

- Fixed scaling in edit mode (was doing some matrix multiplications in the wrong order, only visible when using a constraint)

- Fixed the constraint projection matrix. It didn't work for planar constraint if the constraint space wasn't global (in a nutshell, it produced weird results for local space planes).

- Some potential bugs fixed (Note to Ton: added an ext pointer in TransInfo to point to the TransDataExtension block. With the sort done after allocation, the first td pointer doesn't necesarely point at the start of the ext block, so we needed another to free it correctly).

- Got rid of some remaining test with G.obedit.

- Moved constraint reset from init to post trans code (Ton, that means you can create constraints before calling transform, like for the menus for example).


I was getting some random segfault with the new headerprint code. Very random, couldn't reproduce with a debug version. I did some initialisation that might have been missing (though doubtful that's what caused the crashes). Was linked to using constraint though not caused by them. Probably due to some dumb late coding error.

16 years agoChanged a CRTL dependency for the debug build which generates a linker warning about...
Joseph Gilbert [Mon, 7 Mar 2005 16:32:17 +0000 (16:32 +0000)]
Changed a CRTL dependency for the debug build which generates a linker warning about missing output file which forces a full incremental link.

16 years agoTooltips for new marble buttons were from a copy/paste operation. This
Chris Burt [Mon, 7 Mar 2005 15:26:32 +0000 (15:26 +0000)]
Tooltips for new marble buttons were from a copy/paste operation. This
caused error with... well... tooltips. ;) First commit!

16 years agoSolves a build problem with MSVC scons build. Thanks kaito for pointing out the Black...
Johnny Matthews [Mon, 7 Mar 2005 14:48:13 +0000 (14:48 +0000)]
Solves a build problem with MSVC scons build. Thanks kaito for pointing out the Black box of BLI_winstuff

16 years agoBug fix #2292
Ton Roosendaal [Mon, 7 Mar 2005 12:41:23 +0000 (12:41 +0000)]
Bug fix #2292

Bumpmaps for skin on Env's dinosaurs appeared to be less nice in 2.36. This
was caused by the bugfix to make bumpmapping correct for rotations, which
should only work for flat/cube mapping. It also rotated it for sphere/tube
though, which gives less interesting bumps.

So; now the correction is skipped for tube/sphere mapping bumping.

16 years agoPatch provided by Chris Burt;
Ton Roosendaal [Mon, 7 Mar 2005 11:01:43 +0000 (11:01 +0000)]
Patch provided by Chris Burt;

Wood/marble now have three waveforms to choose from: Sine, Saw and Triangle.
The Saw wave allows for much more realistic wood, especially in combination
with a ColorBand. A release page is being constructed about it.

Added: commit in editmesh_add.c to remove circle warning in face-select mode.

16 years agofix warnings about implicit declarations.
Stephen Swaney [Mon, 7 Mar 2005 03:31:14 +0000 (03:31 +0000)]
fix warnings about implicit declarations.
overlooked by being in a hurry.

16 years agoLocal axis constraint started.
Martin Poirier [Mon, 7 Mar 2005 02:21:04 +0000 (02:21 +0000)]
Local axis constraint started.
Works with edit data and in object mode with single selections (only one object selected).

Also started adding constraint stuff in headerprints. Only for Translation for now.

Pressing X,Y,Z (and the Ctrl versions) toggle between global, local and off like it used to do.

16 years ago-Added Text3D module to project files
Joseph Gilbert [Mon, 7 Mar 2005 01:17:54 +0000 (01:17 +0000)]
-Added Text3D module to project files

16 years agoFix & further implementation of Proportional editing;
Ton Roosendaal [Sun, 6 Mar 2005 19:25:58 +0000 (19:25 +0000)]
Fix & further implementation of Proportional editing;

- made generic 'calc distance' function for it
- added generic call to sort TransData with selection first, for speedup
  of propmode calculus
- removed most propmode exceptions from code, only used for counting now
- all editmode transdata conversion function structured identical

16 years agoAdded new bpy files to MSVC 6 project files.
Simon Clitherow [Sun, 6 Mar 2005 16:57:17 +0000 (16:57 +0000)]
Added new bpy files to MSVC 6 project files.

16 years agoNew Bpy type Text3d for accessing Blender's Font objects.
Stephen Swaney [Sun, 6 Mar 2005 14:55:00 +0000 (14:55 +0000)]
New Bpy type Text3d for accessing Blender's Font objects.
Contributed by Joilnen Leite (pidhash).

16 years agoBug fix, provided by Martin Dickopp;
Ton Roosendaal [Fri, 4 Mar 2005 22:17:52 +0000 (22:17 +0000)]
Bug fix, provided by Martin Dickopp;

The dynamical allocated arrays (rwenzlaff, april 03) for render vertices/
faces/halos were freed in a way that requires the last element of array to
be NULL.
This wasn't coded however, causing memory errors in exceptional cases;
like when amount of faces/vertices is exact between 261888 and 262144. :)

16 years agoBug fix #2265
Ton Roosendaal [Fri, 4 Mar 2005 20:20:59 +0000 (20:20 +0000)]
Bug fix #2265

Found (old) issue in render... the "VlakRen" (render face) has an Object
pointer which can point to a duplicated one (dupliframes/dupliverts option),
which is freed before actual render starts... this nicely crashes in Windows.

I now store the original Object pointer, which can lead to texture
orientation errors in some situations (like normal-bump stuff).
Real solution is recode of duplicator system!

16 years agoBug fix #2270
Ton Roosendaal [Fri, 4 Mar 2005 20:02:52 +0000 (20:02 +0000)]
Bug fix #2270

Accidentally left in testing line in dxf reader... causing quads to be
imported as triangles. Was released in 2.36! Tsk.

16 years agoBug fix #2289
Ton Roosendaal [Fri, 4 Mar 2005 19:44:29 +0000 (19:44 +0000)]
Bug fix #2289

Environment maps type "Load" don't need to have an "Ob" object set to
render. Without object it renders applied envmaps like reflection maps.
Please note that envmaps then still "mirror" realistic, provided the
original object the envmap was rendered with  was not rotated.

16 years ago-msvc7 project file needs to update the /src project to include files for the new...
Joseph Gilbert [Fri, 4 Mar 2005 16:35:07 +0000 (16:35 +0000)]
-msvc7 project file needs to update the /src project to include files for the new transformation code so that the linker can be happy.

16 years agoneed to use MIN2 instead of min for compatibility with other compilers.
Martin Poirier [Fri, 4 Mar 2005 03:52:09 +0000 (03:52 +0000)]
need to use MIN2 instead of min for compatibility with other compilers.

16 years agoFixed resize constraining. Was using same function as translation but this is no...
Martin Poirier [Fri, 4 Mar 2005 00:07:16 +0000 (00:07 +0000)]
Fixed resize constraining. Was using same function as translation but this is no go for unaligned axis.

Made a generic snapGrid function. Now, each transform needs to define it's snapping parameters in their init. This is needed because of the constraint branching.

16 years agoThanks to stefano; auto-handles on Bezier curve now make a (near) perfect
Ton Roosendaal [Thu, 3 Mar 2005 21:25:53 +0000 (21:25 +0000)]
Thanks to stefano; auto-handles on Bezier curve now make a (near) perfect
bug report;

16 years agoApplied correct '\\' for file paths on Windows (thanks Elubie!)
Simon Clitherow [Thu, 3 Mar 2005 20:40:48 +0000 (20:40 +0000)]
Applied correct '\\' for file paths on Windows (thanks Elubie!)

16 years agoTinsy UI change in game-framing menu (X and Y resol buttons correct align)
Ton Roosendaal [Thu, 3 Mar 2005 20:30:18 +0000 (20:30 +0000)]
Tinsy UI change in game-framing menu (X and Y resol buttons correct align)
Provided by Carsten.

16 years agoNew menu option: When converting a subsurf or metaball to mesh, the option to delete...
Johnny Matthews [Thu, 3 Mar 2005 19:45:37 +0000 (19:45 +0000)]
New menu option: When converting a subsurf or metaball to mesh, the option to delete the original is added, along with code to make it work :)

16 years agoFixed a bug in the constraint projection code. It only worked correctly when locking...
Martin Poirier [Tue, 1 Mar 2005 19:22:29 +0000 (19:22 +0000)]
Fixed a bug in the constraint projection code. It only worked correctly when locking the Z axis because of a malformed if clause.

Renamed the constraints defines to CON_*

Renamed the fonctions used to interactively select a constraint (with MMB). The previous naming scheme was obscure at best.

Added a CON_SELECT flag when selecting interactively. (Following the idea of the patch joeedh submitted).
New behavior when selecting a constraint interactively, not only does it highlight the axis that will be selected, it also makes it the current constraint.

Holding down Ctrl when selecting a constraint with MMB now does the same as hitting Ctrl-AXIS. That is, it locks that axis (planar constraint on the normal plane).

- - - - -

To all those who posted suggestions, I'm not forgetting them:
- broken / desoto with the plane draw thingy,
- RobertT's push/pull transformation (that was from before the new code even)
- UnNamed's MMB interactive idea as we discussed on IRC
and all the others that I've noted down somewhere.

Next for today, I'll have a look at local constraint (object's axis).

16 years agoBug #2266
Ton Roosendaal [Tue, 1 Mar 2005 16:19:19 +0000 (16:19 +0000)]
Bug #2266

- top header count updates correct now using SHIFT+F4 databrowse
- same for switching layers in 3d window

16 years agoFixed very old annoyance;
Ton Roosendaal [Tue, 1 Mar 2005 15:29:01 +0000 (15:29 +0000)]
Fixed very old annoyance;

If the startup file ".Blanguages" is not found, Blender now will only printf
a warning if started in debug mode (-d). It used to popup a menu, even
before the UI was initialized, causing annoyance... it's irrelevant info.

16 years agoBug fix #2260
Ton Roosendaal [Tue, 1 Mar 2005 14:03:59 +0000 (14:03 +0000)]
Bug fix #2260

"Select group, Parent" menu crashed when parent was in other scene.
Simply added extra check in code.

16 years agoBug fix #2248
Ton Roosendaal [Tue, 1 Mar 2005 13:14:37 +0000 (13:14 +0000)]
Bug fix #2248

Pressing AKEY in channel buttons (names) of IpoWindow did not show all or
hide all anymore. Was due to commit last july, which enabled unlimited
amount of channels.

16 years agoBPython:
Willian Padovani Germano [Tue, 1 Mar 2005 02:37:19 +0000 (02:37 +0000)]
- Gert de Roost reported an inconsistency between nmesh.getMode and .setMode.  Now .setMode() optionally accepts an int value, as returned by getMode().
- Campbell Barton pointed that object.getData(name_only=True) was by mistake returning the obj name, not the obdata name, as it should.  Fixed now.
- small doc updates

Thanks both for the reports.

16 years agoPart of Big Cleanup: move data declarations out of header files.
Stephen Swaney [Sun, 27 Feb 2005 20:07:26 +0000 (20:07 +0000)]
Part of Big Cleanup:  move data declarations out of header files.
BGL.[ch] work done by Joilnen Leite (pidhash).  Thanks!

updated 0-todo.txt.
No changes to executable code.

16 years agoFixed Constraint projection code in perspective mode. When using a planar constraints...
Martin Poirier [Sun, 27 Feb 2005 19:14:21 +0000 (19:14 +0000)]
Fixed Constraint projection code in perspective mode. When using a planar constraints, it follows the movement of the mouse exactly instead of just casting on the plane.
In user terms: the motion on screen of the selection follows the motion of the mouse pointer.

Gives some errors when the constraint plane is nearly perpendicular to the view port though.

Added a debug print function for 4D vectors to arithb.c

Optimised the 3D -> view projection functions in view.c (a bit).

16 years agoUpdates to NMesh doc contributed by Campbell Barton.
Stephen Swaney [Sun, 27 Feb 2005 15:15:39 +0000 (15:15 +0000)]
Updates to NMesh doc contributed by Campbell Barton.
Corrections and useful user-oriented hints.

16 years agoMSVC7 project files link to lib/windows/freetype once again
Joseph Gilbert [Fri, 25 Feb 2005 23:09:11 +0000 (23:09 +0000)]
MSVC7 project files link to lib/windows/freetype once again

16 years agoRemoved freetype project from extern solution
Joseph Gilbert [Fri, 25 Feb 2005 21:24:50 +0000 (21:24 +0000)]
Removed freetype project from extern solution

16 years agoTransform; correct inverse parent implementation for translating children
Ton Roosendaal [Fri, 25 Feb 2005 19:01:13 +0000 (19:01 +0000)]
Transform; correct inverse parent implementation for translating children

16 years agoUpdate on Add Text as lines:
Johnny Matthews [Fri, 25 Feb 2005 17:48:06 +0000 (17:48 +0000)]
Update on Add Text as lines:

Spaces lines based on view -tnx Kaito for inverse help
cleaned up code
added undo

16 years agoNew transform:
Ton Roosendaal [Fri, 25 Feb 2005 17:40:03 +0000 (17:40 +0000)]
New transform:

- added texture space grab/scale (TKEY objectmode)
- made new transform work with menus (meaning, dropping dreaded while-hold)

To Martin & other while-hold lovers: this needs to be carefully thought over
and designed. I prefer to look on this within context of making transform
fully tablet/pen friendly, as option. Aim now for me is still: get transform
back to work! :)

16 years agoAdded include sys/vfs.h for hpux was in the patches tracker....
Kent Mein [Fri, 25 Feb 2005 14:50:57 +0000 (14:50 +0000)]
Added include sys/vfs.h for hpux  was in the patches tracker....
and cleaned up the include for dirent.h


16 years agoTransform: gesture for 'scale' did rotate, and viceversa. Typo :)
Ton Roosendaal [Fri, 25 Feb 2005 12:48:23 +0000 (12:48 +0000)]
Transform: gesture for 'scale' did rotate, and viceversa. Typo :)

16 years agoPreview render of stucci was wrong. Fix found+provided by Chris Burt. thnx!
Ton Roosendaal [Fri, 25 Feb 2005 12:19:42 +0000 (12:19 +0000)]
Preview render of stucci was wrong. Fix found+provided by Chris Burt. thnx!

16 years agoAdded the "initgrabz()" call in new transform, this is needed to calculate
Ton Roosendaal [Fri, 25 Feb 2005 11:55:03 +0000 (11:55 +0000)]
Added the "initgrabz()" call in new transform, this is needed to calculate
correct mapping of mouse motion to a 3d vector in perspective mode, e.g.
corrected for depth.

16 years agoTransform project.
Ton Roosendaal [Fri, 25 Feb 2005 11:35:24 +0000 (11:35 +0000)]
Transform project.

Brought back functionality to work with "Ipo Keys" (Kkey in 3d window). New
transform code is looking more messy now... its design was not purposed to
clean on this level. Acceptable for this stage however.

Also renamed old variables *tob into *td.

16 years agoThis is an initial commit for inserting a text file as one 3d text object per line...
Johnny Matthews [Thu, 24 Feb 2005 19:22:31 +0000 (19:22 +0000)]
This is an initial commit for inserting a text file as one 3d text object per line. The function for making the objects aligned to the screen needs to be added, since right now it is aligning rotation to the screen but translation is not right since I am adding an offset to the non-viewport location of the objects. That offset just needs to be translated to screen first.

16 years ago- Transform works for Posemode again (after split of TransData in 2 parts)
Ton Roosendaal [Wed, 23 Feb 2005 14:19:41 +0000 (14:19 +0000)]
- Transform works for Posemode again (after split of TransData in 2 parts)
- error in scaling objects fixed (it accumulated scaling)

16 years agoFixed some bugs with Shear and Resize, was acting weird in object mode when parenting...
Martin Poirier [Wed, 23 Feb 2005 02:23:50 +0000 (02:23 +0000)]
Fixed some bugs with Shear and Resize, was acting weird in object mode when parenting was involved.

Changed the meaning of mtx and smtx for objects. It's now uniform accross the board.

Added TD_OBJECT as a TransData flag. Objects is requiring exception code here and there, use a flag instead of G.obedit. Will document what the exceptions are for people who wants to add more transformations.

Split TransData in two.

Note to Ton:
You'll have to change posemode to use the new structure. I've left some variables as part of TransData to have a compilable version in CVS, remove them when you stop using them.
Check MetaElement and Object conversion for example on how to use TransDataExtension (though I'm sure you can figure it out by yourself).

And that's it. Not much coding time in the week days. :\