Commit Graph

678 Commits

Author SHA1 Message Date
Guillermo S. Romero
b4f235adc0 Shell script exit values should be non-negative.
Exact error with dash as sh "exit: 12: Illegal number: -1".
The rest are just changes to whitespace and polishing.
2009-09-25 01:59:43 +00:00
Benoit Bolsee
1483fafd13 Merge of itasc branch. Project files, scons and cmake should be working. Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library. 2009-09-24 21:22:24 +00:00
Nathan Letwory
2a63c4ab7b * fix snprintf error with mingw
* move header guards to the right place.
2009-09-24 19:50:15 +00:00
Joshua Leung
24128d2e86 mingw - silencing the warnings about '#pragma' warnings being unrecognised or being ignored. This should still work fine for msvc, and other platforms though. 2009-09-24 11:46:17 +00:00
Benoit Bolsee
813f292fc9 3rd attempt to fix ssize_t problem in MSVC and mingw 2009-09-24 10:41:28 +00:00
Benoit Bolsee
71027be7f6 Fix more problem with mingw this time 2009-09-24 10:04:43 +00:00
Benoit Bolsee
3e59a88450 Fix compilation problem in Windows and update project files 2009-09-24 09:29:59 +00:00
Guillermo S. Romero
6c79d757ac Initial sketch of file access wrappers.
It compiles but does nothing useful yet. The "//" comments are notes to 
remember what to do in each block.
2009-09-23 21:26:24 +00:00
Campbell Barton
7ead925ce4 - removed View3D->localview since it wasnt set on entering localview (making many tools fail, add objects for eg.), check localvd instead.
- Accent (`) key now sets all layers (like in 2.4x)
- added Alt+C keybinding for converting object types.
2009-09-22 04:40:16 +00:00
Campbell Barton
e7abdd7d56 Better unix filesystem integration as documented here
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Unix_FHS

for scons WITH_BF_FHS enabled an alternative layout eg.
scons WITH_BF_FHS=1 BF_INSTALLDIR="/usr/local"

for CMake just run "make install" after make (CMAKE_INSTALL_PREFIX is used for the base path)

Currently only scripts use both the system and user path correctly, other areas of blender have their own path code inline with lots of ifdefs, needs to be carefully updated.
2009-09-21 03:16:26 +00:00
Campbell Barton
c388244be4 Move some static math functions out of paint_image.c into arithb.c
* VecLerp3f and Vec2Lerp3f - interpolate 3 2d/3d vectors from 3 weights
* AngleToLength(angle) - useful for making even width shell/walls based on the angles of the surrounding geometry from each point. (same method used in 2.4x python solidify script).

also quiet some warnings.
2009-09-18 16:39:45 +00:00
Campbell Barton
474378a0e8 VecAngle3_2D, VecAngle2 and VecAngle3 returned degrees, in arithb.c degrees are most common.
- These now return radians
- added macro RAD2DEG(rad)
- renamed VecAngle3_2D to Vec2Angle3 since Vec2* is used in arithb.c for 2D vector functions.
2009-09-18 15:47:00 +00:00
Joshua Leung
68f4465cdc 2.5 - Animation Utility Function
Added a utility function to check which transforms for an object or bone are animated, returning these as bitflags and/or optionally retrieving the relevant F-Curves too. Beware that this method may not be working correctly yet, but it shouldn't hurt anyone in the meantime :)

Also, split RNA-path building function up into a version which only creates the path up to the given struct, with the other parts being added later.
2009-09-17 10:14:56 +00:00
Remigiusz Fiedler
591a30dab0 bugfix for LineIntersectLine()
- was imperfect calculation for points marking shortest distance for non-crossing lines in 3d
2009-09-16 22:12:23 +00:00
Campbell Barton
ba5df38d66 use static functions where possible for some local functions. 2009-09-14 16:52:06 +00:00
Campbell Barton
f130f16fef Use curve radius for paths
- use_radius option, off by default for 2.4x files, on by default on new curves.
- curve deform modifiers (think tentacles)
- follow path (parent mode and constraint)
- curve guides
- added back Alt+S to scale point radius
- Mat3Scale and Mat4Scale arithb.c functions to make a new uniform scale matrix.

- TODO, effectors, looks like they have no way to scale from the radius yet.
2009-09-12 16:25:49 +00:00
Campbell Barton
d16bde417f new struct PathPoint for each path element (replaces float[4]), Paths now store radius and quaternion
Added optional quat and radius args to anim.c's where_on_path(...), currently unused.

also cleanup some warnings.
2009-09-12 14:12:37 +00:00
Joseph Eagar
3f9d3b2a0b commit of mempool 64-bit fix for 2.5-er, trunk as well 2009-09-12 13:27:26 +00:00
Campbell Barton
e271b03340 simple error in recent arithb.c commit, have Mathutils.RotationMatrix use AxisAngleToMat3 2009-09-12 13:25:38 +00:00
Joshua Leung
3a9d99e3e8 Rotation Math:
Replaced a few function calls with inlined code for nicer performance.
2009-09-12 10:21:55 +00:00
Joshua Leung
83074d0b37 2.5 - More work on Axis-Angle Rotations
* Added a few new methods for axis-angle conversions, and used these instead of manually performing those steps elsewhere
* Axis-angles to other representations now get their axes normalised to make sure that odd scaling doesn't occur.
* Made a few more tools work with axis-angles properly
2009-09-12 05:06:28 +00:00
Brecht Van Lommel
cfb6f35f9f UI:
* layout.itemR now has icon_only option to show only icon
  in e.g. enums buttons, for uv editor header.
* Automatic key shortcuts in menus now show the shortcut even if
  operator properties don't match. Not sure this will work well
  everywhere, but seems to be working ok for now.
* Open recent now show shorter filenames instead of the whole
  file path.
* Tweak object Duplicate menu item.
2009-09-10 14:20:21 +00:00
Brecht Van Lommel
3daa283604 2.5: Object module
* Split object_edit.c into multiple files:
  object_add.c, object_edit.c, object_hook.c, object_relations.c,
  object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
  object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
  * vertex group menu and set active
  * apply location, rotation, scale, visual transform (location is new)
  * make local
  * make vertex parent
  * move to layer
  * convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
  up here...
2009-09-09 11:52:56 +00:00
Campbell Barton
8b6b31b41f Made Nurb->type only store the type rather then mixing the type with flags.
moved CU_2D to Nurb->flag in do_versions
This made simple type checks confusing to read.

many... if( (nu->type & 7)==CU_BEZIER)
replaced with ... if(nu->type == CU_BEZIER)

made setting rna curve_2d clamp the Z values. still more RNA/UI changes to do.
2009-09-08 00:23:33 +00:00
Joshua Leung
a83aa92e80 2.5 - Armature/Pose Bugfixes:
* Added missing prototype from arithb 

* Added define for Axis-Angle rotations. This has not yet been hooked up for actual usage yet, since there are some issues regarding evaluation which I'd like to investigate further first.

* Editing numbuttons for posechannel transforms now updates in realtime. Sending ND_POSE|ND_TRANSFORM was causing confusion for the listeners (which only check for either/or)

* Partial fix for axis drawing on bones. Now the axes are drawn at the tips of the bones again, but unfortunately the texts aren't (since they only use the object matrix, they get drawn at the origin).
2009-09-07 11:05:16 +00:00
Campbell Barton
4cc908b676 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r23023:HEAD 2009-09-07 08:37:28 +00:00
Campbell Barton
d779410600 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22935:23022
looks like 2 merges are needed to skip a commit.
2009-09-07 08:31:03 +00:00
Joshua Leung
84448173c3 2.5 - Rotation Order Tweaks
* Copy Rotation constraint should now work ok with this new code again. Previously, it was the only thing that really went beserk when the typos were still uncaught.

* Fixed one other case of a potential case where typos would cause problems.

* Made changing the rotation order setting perform conversions of the current rotation to an equivalent representation in the other orders/forms. This is done at RNA level, so maybe not that great for switching representations while animating?
2009-09-06 23:15:43 +00:00
Nathan Letwory
fb649d5824 * cleaning up warnings (mostly windows). A collection of other warning fixes too (undefined function, assuming int, etc.)
This compiled fine with scons/msvc and scons/mingw (gcc 4.4.0). Please test and report any problems.
2009-09-06 13:20:05 +00:00
Joshua Leung
51aa207d20 2.5 Anim Bugfixes:
* Rotation order code should be more correct now. Previously was only shuffling axes, and was also doing some evil things to provided that that it shouldn't have been doing, which was causing some flipping issues.

* Built-in keyingsets for 'visual' options should now be more correct. The old code had typos, giving wrong array indices to start from.
2009-09-06 07:22:32 +00:00
Campbell Barton
0a3694cd6e white space commit. (2 spaces -> tab).
Was annoying to use a different editor for cmake only.
theeth says this should be ok with gsoc and merges from branches.
2009-09-06 01:51:23 +00:00
Campbell Barton
d1c90f4bef easier to re-apply the replacement table then merge from 2.4x, same as 23023
replacements...
 MTC_cross3Float -> Crossf
 MTC_diff3Float -> VecSubf
 MTC_dot3Float -> Inpf
 MTC_Mat3CpyMat4 -> Mat3CpyMat4
 MTC_Mat3MulVecd -> Mat3MulVecd
 MTC_Mat3MulVecfl -> Mat3MulVecfl
 MTC_Mat4CpyMat4 -> Mat4CpyMat4
 MTC_Mat4Invert -> Mat4Invert
 MTC_Mat4Mul3Vecfl -> Mat4Mul3Vecfl
 MTC_Mat4MulMat4 -> Mat4MulMat4
 MTC_Mat4MulSerie -> Mat4MulSerie
 MTC_Mat4MulVec4fl -> Mat4MulVec4fl
 MTC_Mat4MulVecfl -> Mat4MulVecfl
 MTC_Mat4One -> Mat4One
 MTC_Mat4Ortho -> Mat4Ortho
 MTC_Mat4SwapMat4 -> Mat4SwapMat4
2009-09-06 00:36:26 +00:00
Campbell Barton
c9dd69c11a remove MTC_ functions, (don't merge)
replacements...
MTC_cross3Float -> Crossf
MTC_diff3Float -> VecSubf
MTC_dot3Float -> Inpf
MTC_Mat3CpyMat4 -> Mat3CpyMat4
MTC_Mat3MulVecd -> Mat3MulVecd
MTC_Mat3MulVecfl -> Mat3MulVecfl
MTC_Mat4CpyMat4 -> Mat4CpyMat4
MTC_Mat4Invert -> Mat4Invert
MTC_Mat4Mul3Vecfl -> Mat4Mul3Vecfl
MTC_Mat4MulMat4 -> Mat4MulMat4
MTC_Mat4MulSerie -> Mat4MulSerie
MTC_Mat4MulVec4fl -> Mat4MulVec4fl
MTC_Mat4MulVecfl -> Mat4MulVecfl
MTC_Mat4One -> Mat4One
MTC_Mat4Ortho -> Mat4Ortho
MTC_Mat4SwapMat4 -> Mat4SwapMat4
2009-09-06 00:19:15 +00:00
Campbell Barton
3b743ac556 Option to correct for 3D curve twist error. example before and after.
http://www.graphicall.org/ftp/ideasman42/curve_auto_twist.png
Access next to the "3D" edit button.

details...
- open curves use the first points orientation and minimize twist for each new segment.
- cyclic curves calculate the least twist in both directions and blend between them
- AxisAngleToQuat replaced inline code.
- Notice the model on the right now has more even corners. added Vec3ToTangent to arithb.c.
2009-09-05 09:54:01 +00:00
Nathan Letwory
9216efcba2 == SCons ==
* bring back 'player' libtype, after investigation with ideasman.
  scons/mingw works nicely, for some reason msvc fails to link still, will look further into it.
2009-09-05 01:58:02 +00:00
Nathan Letwory
fc8ba755bd * fix linking order.
NOTE: this needs changes to stubs.c, but need to check with ideasman_42 how to fix with cmake. Probably linking order issues, but stubs.c currently generates warnings for msvc (redefinition of funcs) and errors for mingw (same redefinitions). Removing the offending lines from stubs.c fixes that.
2009-09-04 23:22:46 +00:00
Nathan Letwory
01f9b34abe * remove mtio.h - no magnetic tape support has been coded. Helps compilation on osx10.6. 2009-09-04 16:41:46 +00:00
Nathan Letwory
20f39ec7d8 == SCons ==
* further cleaning of 'player' stuff. Now only 3 libs are remaining, of which ideally the stubs lib will be fixed at some point, fading away into the dark history of not-so-nice code. The current blenderplayer part is still a little bit hackish, I'll see if I can find a better alternative, for now it works good enough.
2009-09-04 12:56:30 +00:00
Nathan Letwory
bade641408 == SCons ==
* first working changes to get blenderplayer linking
* blenderplayer/ moved into source/ (CMakeLists.txt changed for that too)
* added externs for bprogname to gp_ghost, so that it links properly
2009-09-04 10:40:41 +00:00
Matt Ebb
62dd488ad1 * New and improved voxel interpolation methods, from Alfredo.
Now there is (in order of speed):
* Nearest neighbour (very rough quality)
* Linear (medium quality)
* Quadratic (good quality)
* Cubic Catmull-rom (very good quality, crisp)
* Cubic B-spline (very good quality, smooth)

Thanks!
2009-09-04 06:55:01 +00:00
Martin Poirier
9004dc665c Fix thread hanging problem (mostly seen with material preview, but that sneaky f*er could strike any time).
Story time: Once upon a time, in the green valley of fileselect, BLI_end_threads would get called on an empty threadbase, depending on the result of a previous call to readdir(). The function would then gladly decrement thread_level to -1 which would cause all kinds of fun havoc. THE END.

Made sure thread_level is only incremented and decremented when needed. The caller should never have to make sure of that, especially since it already lets you call with a null threadbase.

Please report any further hang (and how to reproduce, if possible).
2009-09-02 20:57:18 +00:00
Joshua Leung
01b4caa701 2.5 - Rotation order is now taken into account for constraints
* Added a 'rotOrder' parameter for constraint evaluation objects and constraint targets, which describes the rotation mode used for the matrices there. 

Todos:
* Constraint targets default to using XYZ only for now. This will need be be addressed eventually.
* Copy Rotation constraint currently cannot use the new rotation order code for the target matrix. What's surprising is that even though it's just using XYZ as the old code did, it doesn't work, and yet everything else works nicely. Silly constraint! (it is almost impossible to improve this constraint further without breaking a rig out there)
2009-09-02 10:45:11 +00:00
Joshua Leung
bd7d26993f 2.5 - Rotation Order Tweaks for Armature Bones
* All tools where rotation order matters for armature bones have now been adjusted to use the new code

* Transform now uses the new code for bones too. However, there are some jumping issues here that I'm not too sure how to solve yet. Help fixing this is welcome.
2009-09-02 00:42:12 +00:00
Joshua Leung
a44b948260 2.5 - Rotation Orders for Bones [Durian Rigging Request]
This commit is the start of an implementation of (euler) rotation orders for Bones (later to be extended to Objects too). 

Technical details and references can be found at:
http://wiki.blender.org/index.php/User:Aligorith/EulerRotationOrder

In short, I've added a new set of Euler conversion functions (EulO... and ...EulO), coexisting with the old functions for now, which can handle different rotation orders.

Changes have only been made to the basic evaluation code. However, the following places will still need modifications:
* Transform code - needs to be made to use functions which take rotation order into account instead of using XYZ only
* Rotation constraints - same story
* Other rotation editing tools for armatures also need a check up, since there might have been some missing code when I ported eulers earlier
2009-09-01 12:18:17 +00:00
Joshua Leung
d7a5cccb5b 2.5 - Code shuffling in arithb.c
* Moved all the euler-rotation functions so that they were near each other in the file.

* Tagged all functions relevant to axis-angle rotations
2009-09-01 06:48:40 +00:00
Joshua Leung
4893cdc338 2.5 - Warning cleanups (for mingw+scons)
Also, made the Outliner's horizontal scrollbar work better for keymaps view. It's still using an approximation of the width, but at least you can scroll now.
2009-08-26 00:38:43 +00:00
Matt Ebb
f5711909a6 svn merge -r 22628:22714 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-23 03:33:33 +00:00
Daniel Genrich
286c2ca80b Smoke:
* cache for low res (deactivating high res for now)
* new way of view3d rendering of smoke (no longer 3 axes) -using 3dtexture now (introduced into gpu/intern)
* introducing LZO and LZMA libs into extern (makefiles missing for now)
* reducing memory usage after simulating for the frame ended (freeing temporary buffers)
* splitting smoke into 2 modifier for the cache-sake (it cannot handle more than 1 cache on the same modifier-index)
* no color on gui anymore
* fixing non-power-of-2 resolutions (hopefully)
* fixing select-deselect of domain drawing bug
* fixing drawobject.c coding style (making Ton happy) ;-)

HINT #1: If scons doesn't work -> cmakefiles are up-to-date, couldn't test scons (but i tried to mantain them, too)

CODERS HINT #1: we really need a way to disable adding all modifiers through "Add Modifiers" dropdown!

WARNING #1: before applying this commit, deactivate your SMOKE DOMAIN in your old files and save them then. You can open them then savely after that.

WARNING #2: File and cache format of smoke can be changed, this is not final!
2009-08-20 00:33:59 +00:00
Matt Ebb
132277f098 svn merge -r 22450:22627 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-19 11:18:52 +00:00
Matt Ebb
6412fe4b92 * Point density texture works again 2009-08-17 22:09:36 +00:00