Commit Graph

1204 Commits

Author SHA1 Message Date
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
221187bcbd comment assert and ensure meshes are always calculated with CD_MASK_BAREMESH, scene->customdata_mask should be corrected in background mode but for now this is ok. 2011-01-04 12:31:42 +00:00
3ead3c4ff3 Merged changes in the trunk up to revision 33894.
A note for branch users: CMake 2.8 on 64-bit Windows Vista raised
an error in line 948 of soc-2008-mxcurioni/CMakeLists.txt due to
an invalid argument for the blender_include_dirs macro:

  blender_include_dirs(${OPENGL_INCLUDE_DIR})

The command above should be:

  blender_include_dirs("${OPENGL_INCLUDE_DIR}")
2010-12-27 01:38:23 +00:00
c046ae14be Fix for multiple modifier stack calculations per frame.
Since 2.5x blender has been using CD_MASK_BAREMESH for updating objects since object_handle_update() no longer has access to G.curscreen to calculate the mask from viewports.

The problem with this is after an initial calculation, CD_MASK_MTFACE may be required on draw, so it would recalculate the modifier stack multiple times per frame.
One case which caused this is armature animated mesh with texface in a dupligroup.

Fix this by having customdata_mask member in the scene, this isn't great design but at least fixes the bug and only changes a few files.
2010-12-23 04:16:31 +00:00
3368a595da Merged changes in the trunk up to revision 33765. 2010-12-18 11:49:12 +00:00
f90a2123ee no functional change: only check against OB_RECALC_ALL but don't use for assignment.
Makes adding new flags give ambiguous results and also makes it less easy to tell whats intended.
In some places it looks like OB_RECALC_TIME should be left out too.
2010-12-17 15:51:42 +00:00
071b61259b increase grease pencil user count when copying objects. 2010-12-08 14:40:14 +00:00
48614fbc2a Added an assert() check for normalized quats which exposed a number of bugs where normalized quat was incorrectly assumed.
This would have made bug #25003 very simple to find.

- Objects had their quats normalized when calculating their matrix, this is inconstant with pose bones and isn't useful for animation.
  Also it wasn't normalizing the delta rotation so these would give bad rotations.

- Converting between rotation modes BKE_rotMode_change_values() assumed normal length quat. changing quat to euler rotation for eg could change the bone.

- Clear rotation and transform were not normalizing the quat when 4d loc was disabled on quat rotation, corrected and also made it so the quat scale is restored after conversion so animations curves dont jump.

There is 1 case in mat3_to_quat_is_ok() where quat_to_mat3 on an unnormalized quat is needed, for this I had to add an ugly static function quat_to_mat3_no_assert(), but overall its worthwhile IMHO to be able to find incorrect use of rotation conversion.
2010-12-07 01:56:32 +00:00
8a2eb1f590 * Merged changes in the trunk up to revision 33492.
* Fixed a bug in listing all style modules in source/blender/blenlib/intern/bpath.c.
2010-12-06 01:23:18 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
2f52fa7820 Fix for properly unlinking target object pointers when objects are deleted
from scenes.
2010-11-29 21:24:55 +00:00
ab72823917 edit on last commit, for calculating drivers on obdata just check for animdata rather then the object type.
also use switch rather then if checks.
2010-11-19 07:40:17 +00:00
39de1914ab bugfix [#24796] Drivers are ineffective on Text & Curve obj. geometry parameters
also added note that adjusting bone radius changes the parent bone for connected child bones, and fix typo on failing to read startup.blend (both pointed out by MikeS on IRC)
2010-11-19 07:31:24 +00:00
51dcbdde03 use 'const char *' by default with RNA functions except when the value is flagged as PROP_THICK_WRAP.
Also use const char in many other parts of blenders code.

Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-11-17 09:45:45 +00:00
ee7bf4dab5 take delta's into account when applying the objects matrix (dloc, drot, dsize).
Now object_apply_mat4() can be used as the reverse of object_to_mat4().

Noticeable result is fly mode and 'Apply Visual Transform' dont jump when deltas are used, also means setting matrix from python works as expected.
2010-11-12 11:16:04 +00:00
989aea3ed0 copying a camera would copy its animation data (and action datablocks) twice. 2010-11-09 09:34:03 +00:00
c4967b5dde bugfix [#24616] Apply Visual Transform doesn't always apply location
- object updates were not being flushed, so children weren't updating.
- apply the matrix relative to the parent, added this as an option to object_apply_mat4() which allows assigning the worldspace matrix in python without worrying about the parent.
2010-11-08 22:32:28 +00:00
0876fce009 rename and negate DISABLE_PYTHON --> WITH_PYTHON 2010-10-31 04:11:39 +00:00
f8ec6b8654 move matrix decomposition out of object.c into BLI_math_matrix function: mat4_to_loc_rot_size(), use this now for pchan_apply_mat4() to support negative scale, visual keying now uses compatible eulers.
also added access to this in python's mathutils.Matrix()
 loc, quat, scale = matrix.decompose()
2010-10-26 12:48:07 +00:00
904f82b49f bugfix [#24376] Fly mode disturbs the rotation or scale of the camera object 2010-10-25 07:12:29 +00:00
1713f07e5e first part of bugfix [#24376] Fly mode disturbs the rotation or scale of the camera object
object_apply_mat4 was incorrectly negating the matrix values,

This worked in most cases but even when it worked would end up with negative scales too often.
now when no negative scale is used they will all stay positive and from my tests it works in all cases now.
2010-10-25 06:59:18 +00:00
1998fa59ae fix for fix [#24336] evaluation time - curve has no effect
committed r32598 to fix [#24309] Reloading file with incorrect path location.

Setting the curves ctime when updating the object data overrode the animated value.
For now just set the ctime on newly added curves with will work as the user expects in most cases.
This is weak design IMHO because the ctime value can be set to anything but is reset on changing frames even if its not keyed.

With curves created via python or linked in this can still result in a bad ctime value.
2010-10-20 13:51:37 +00:00
d1fe2dd967 bugfix [#24309] Reloading file with incorrect path location.
the cu->ctime was never set if the frame wasnt changed, so adding a curve and parenting could be done without a frame change leaving the cu->ctime value at zero.
changing the frame or rendering after this would make the parent relationship jump.

Set the curve->ctime in object_handle_update(), this way its set on file load and when linking in new curves.
Another option is to do this when parenting but probably this would miss other cases where its needed.
2010-10-19 12:21:57 +00:00
0aa2eee3ef bugfix with applying the object matrix with negative scales.
--- fixes report by ronan ducluzeau
Scale default cube on X axis to -1.
Rotate it on X axis to 33°.

Parent cube to lamp.
Clear parent and keep offset.

Cube's scaling value on X axis pass from -1 to 1
Cube's rotation value on Z axis pass from 0° to 180°
2010-10-19 05:36:16 +00:00
106867910e use unsigned int for all layers. 2010-10-19 01:21:22 +00:00
58683fa993 enable DEBUG define in CMake and scons, also change booleans debug option to BOP_DEBUG, which was used inconsistently, and had to add a define for superlu. 2010-10-18 11:21:22 +00:00
7db9558cf6 bugfix [#24291] Error parenting a child with any negative scaling coordinate
the bug was in object_apply_mat4(), caused by applying a non-normalized matrix to the rotation.
Blender 2.4x also had this problem, surprising nobody noticed!.
2010-10-18 02:36:43 +00:00
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
7cc5aaf18a Added panel for accessing the "delta transforms" for Objects (this is closed by default to not clutter that much).
This should help silence complaints from some about "dloc",etc. not being easily keyable. 

It's also a nice way to have instances of animated objects located in different places, by animating either the standard transforms or the deltas, and then modifying by not animating the other version to keep the instances from going to a single point. This was a common newbie problem in 2.4x.
2010-10-16 11:52:30 +00:00
b64098a85a bugfix [#22407] Object level proxies ignore transform of original 2010-10-12 21:47:13 +00:00
f49fc58df6 enable building the game engine without bullet for scons & cmake 2010-10-10 07:01:56 +00:00
65b0893df0 bugfix [#21483] Twisting when Dupliframing a Surface Circle (Nurbs) along a Curve.
use the curve's twist for follow path constraint and parent-path.
2010-10-08 07:29:08 +00:00
Nick Samarin
90ab716cd5 synched with trunk at revision 32129 2010-10-03 16:28:28 +00:00
767a05da44 bugfix [#24015] Deleting Objects with a Point Density Texture and Rendering Crashes Blender 2010-09-27 05:02:54 +00:00
a45797fe55 bugfix [#22767] parenting object causes rotation/scale/location information to be corrupted 2010-09-18 14:47:59 +00:00
b655413689 bugfix [#23884] Crash On Delete of a Duplicated Object 2010-09-18 04:08:40 +00:00
18954a711f Fix for [#22329] Particles won't render when display mode is different 2010-09-02 07:24:38 +00:00
0738ae7688 2.5: more removal of G.main. 2010-08-13 14:23:44 +00:00
fd0a02ef1b Fix #23235: crash with editmesh instances & drawing, only the object
in object mode should make the editmesh derivedmesh.
2010-08-12 10:17:21 +00:00
c0e39df6ac - Enable shape key switching in edit mode for curves, surfaces and latticies
- Disable changing of lattice size if there are shape keys
2010-08-10 06:36:42 +00:00
14fe11bd81 bugfix [#19525] Curve modifier moves mesh geometry first
more of a request then a bug but shows up a strange limitation with curve deform modifier,
The mesh bounding box would set the deform axis start/end to map the deformation of the curve to. This means it ignored offset in the object location and object data location (you could use a dummy vertex to trick it).

Old files wont change, added an option (next to stretch), called 'Bounds Clamp', old files have this behavior but newly made curves have it disabled.
Double checked this gives useful results with stretch on/off and negative axis.
2010-08-06 08:27:07 +00:00
Nick Samarin
f09cd6974e synched with trunk at revision 31065 2010-08-05 13:54:56 +00:00
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
c8b6533dda Fix #23071: making vertex parent not correct with subsurf modifier, now it
also uses the final derivedmesh for the coordinates in edit mode.
2010-07-28 16:47:12 +00:00
cc9dbc7ac2 Curve shape keys:
- Fixed incorrect working of "from mix" insert keyblock operator property
  shapekey coordinated are applying on curve's data when creating displist,
  so curve's nurbs can't be used as unchanged data -- use basis keyblock data instead

- Fixed tilt damaging when loading editcurve -- made a typo in array indexes
2010-07-26 19:07:33 +00:00
e62c0ea835 replace macros VECCOPY and QUATCOPY with inline math functions no functional changes
also replace mul_m4_v3() with mul_v3_m4v3() in a few places.
2010-07-26 06:34:56 +00:00
cc0f3146e7 Shapekeys for curves/surfeces
Fix #21498: Edit curve Shape key /252_r 27318

Added full support of shape keys for curves and nurbs surfaces including
topology changing in edit mode, undo stuff, updating relative keys when
working under basis and so on.
2010-07-25 11:57:36 +00:00
Nick Samarin
c6ea23c77c synched with trunk at revision 30597 2010-07-21 20:54:53 +00:00
1bb0c84236 - added text3d.body_format to be able to set bold/italic/smallcaps etc on text.
- the length of a new text object wasnt set on creation.
- tex3d and controllers rna name was being set to its body (rather then ID name)
- remove reference to wave objects which are very old and not used anymore.
2010-07-17 17:50:20 +00:00