Commit Graph

386 Commits

Author SHA1 Message Date
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
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
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
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
c0ba1671c3 group refcount checking was inconsistent.
- if a group has one or more objects in it, it gets a refcount of 1 on load (unchanged from before)
- dupli-groups, and materials no longer add/remove a reference.
- now groups are only freed when they contain no objects or when manually unlinked.
2010-07-13 16:53:17 +00:00
0d9a81a111 Fix #22794: problem with rendering panorama in 2.4 created files. 2010-07-09 19:20:57 +00:00
c689e46ff3 Fix #22340: sintel appears in seemingly random poses on load.
Pose proxy synchronization happened after drivers were already evaluated,
now moved to start of object_handle_update.
2010-07-07 18:47:49 +00:00
faf1c9a4bb Bugfix #22685: Screen update slow, animation player ALT-A, files created with 2.4x
Modifiers were being mistakenly recalculated at every frame as long as the object had animation, slowing things down due to incorrect depsgraph recalc tags.

Renamed OB_RECALC -> OB_RECALC_ALL to reduce future confusion. During this process, I noticed a few dubious usages of OB_RECALC, so it's best to use this commit as a guide of places to check on. Apart from the place responsible for this bug, I haven't changed any OB_RECALC -> OB_RECALC_OB/DATA in case that introduces more unforseen bugs now, making it more difficult to track the problems later (rename + value change can be confusing to identify the genuine typos).
2010-07-05 03:55:28 +00:00
80f6102629 better reporting for file i/o failier, use system error message in more places: Permission Denied, No space left, File not found etc.
- blend load/save uses os message.
- image load gives os message. (remove check for slash at end of line, just let the os report an error)
- python api load image/font/text raise errors with message (was just retuning None for image and font)
- minor edits to py api errors.
2010-07-03 17:47:06 +00:00
650de24271 Recalculate motherball when metaball is deleting 2010-06-27 12:45:09 +00:00
e86c5cf9ea Fix [#22564] Object name by object type
Restored auto-naming newly created objects by type, for Mesh, Lamp, Meta
2010-06-27 07:45:57 +00:00
03fa4bb999 Partial cleanup of timing system, with some guidance from Joshua:
* Fractional frames support has been changed to use a new var, scene->r.subframe. 
This is a 0.0-1.0 float representing a subframe interval, used in generating a final float 
frame number to evaluate animation system etc.
* Changed frame_to_float() and some instances of bsystem_time() into a convenience function:
float BKE_curframe(scene) which retrieves the floating point current frame, after subframe
and frame length corrections.
* Removed blur_offs and field_offs globals. These are now stored in render, used to 
generate a scene->r.subframe before render database processing.
2010-06-27 05:39:55 +00:00
29b402f376 Fix #22618: Deleting an object doesnt remove its self from pinned buttons
Clear pin flag and pin ID in unlink_object if pinid points to unlinking object
2010-06-25 11:41:39 +00:00
000d23e05c Fix #22625
My fix for #22317 make that every time you delete an object,
blender go to perspective view, fixed now.
2010-06-18 15:23:39 +00:00
6aaf55eee5 Copy name from original modifier rather than generate new unique in copy_object 2010-06-10 21:23:09 +00:00
0d36ce3252 Fix bug #22563 Two modifers with same name on one object
The copy_object function don't call modifier_unique_name so
every modifier (in this case, the array) get the same name.
2010-06-10 21:12:22 +00:00
e2bc4ca9ce Fix #22317 View reamins in camera's view after camera is deleted (again)
The problem was not in the editors, the code in blenkernel have a XXX
in the perspective value. Now unlink_object also update the ARegion.
2010-06-09 15:35:10 +00:00
Dalai Felinto
3e56c4dda1 Logic Editor: bugfix for "Unable to Add Controllers sometimes" (reported in IRC by Daniel Salazar (ZanQdo)
What was happening; if
the old code (2.49) was changing the status from 0 to 1 inside the interface code. e.g. if (!ob->status) ob->status = 1;
Initializing it properly (in blenkernel) and making sure the new status is ever 0 (in rna_object.c) should fix it.

And yes, the log is bigger than the patch !
2010-06-09 08:00:45 +00:00
740897a69e set the default options for new cameras to be the same as the default blend file 2010-06-07 20:08:03 +00:00