Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-03Rigidbody: Fix viewport update when changing collision shape in toolbarSergej Reich
2014-11-28Cleanup: unused headersCampbell Barton
2014-07-11Fix T41019: Calculate Mass does not calculate actual volume.Lukas Tönne
This was a ToDo item, for mesh-based rigid body shapes (trimesh, convex) the operator was simply using the bounding box volume, which can grossly overestimate the volume and mass. Calculating the actual volume of a mesh is not so difficult after all, see e.g. http://research.microsoft.com/en-us/um/people/chazhang/publications/icip01_ChaZhang.pdf This patch also allows calculating the center-of-mass in the same way. This is currently unused, because the rigid body system assumes the CoM to be the same as the geometric object center. This is fine most of the time, adding such user settings for "center-of-mass offset" would also add quite a bit of complexity in user space, but it could be necessary at some point. A number of other physical properties could be calculated using the same principle, e.g. the moment of inertia.
2014-06-01Fix T40447: Creating Rigid Bodies is rejected for meshes without polys.Lukas Tönne
This check prevents using empty (no faces) meshes as rigid bodies. While the idea makes sense, it also prevents using modifier-constructed meshes, where faces are added only by the modifiers. Further the check is very easy to circumvent, by removing faces after making the rigid body, or by assigning a different mesh datablock afterward. Suggested by Fabian Emmes (@der_fab).
2014-05-05Stop all dynamic enums using translations (from blend file data)Campbell Barton
2014-01-08Fix T38112: Rigid Body can't be created for objects with linked meshSergej Reich
Make poll function for rigid body add operators less strict.
2014-01-04RNA API: use bool's for enum itemf callbacks.Campbell Barton
2013-11-25Code Cleanup: rename vars for detecting change to be more consistentCampbell Barton
rename change/is_change/is_changed/modified -> changed also use bools over int/short/char and once accidental float.
2013-05-17rigidbody: Add missig notifiers for add/remove operatorsSergej Reich
Fixes [#35403] Highlight not updating instantly when removing from Rigid body
2013-04-09rigidbody operators poll functions were mixing up ↵Campbell Barton
CTX_data_active_object/ED_object_active_context. - replace ED_operator_rigidbody_add_poll with ED_operator_object_active_editable_mesh - replace ED_operator_rigidbody_active_poll with ED_operator_scene_editable for operators that use the entire selection. - remove rigid-body from objects that are converted from meshes to curves, while this isnt crashing it is confusing to see in the UI.
2013-04-09code cleanup: abbreviations ob, con - aren't normally used in global ↵Campbell Barton
identifiers.
2013-04-09Pressing Ctrl+R when blender was built without bullet would crash.Campbell Barton
- add checks so rigid-body operators only return FINISHED when they make some changes to the scene. - remove (scene == NULL) checks, poll already catches these.
2013-04-03code cleanup: use more (blender) conventional naming for group functions.Campbell Barton
also change dump_rna2xml.py to dump bpy.data by default.
2013-03-10Rigid body UI: add translation to materials' names (density collection).Bastien Montagne
2013-02-21Dependency Graph: some refactoring which should have no user visible impactBrecht Van Lommel
besides performance in some cases. * DAG_scene_sort is now removed and replaced by DAG_relations_tag_update in most cases. This will clear the dependency graph, and only rebuild it right before it's needed again when the scene is re-evaluated. This is done because DAG_scene_sort is slow when called many times from python operators. Further the scene argument is not needed because most operations can potentially affect more than the current scene. * DAG_scene_relations_update will now rebuild the dependency graph if it's not there yet, and DAG_scene_relations_rebuild will force a rebuild for the rare cases that need it. * Remove various places where ob->recalc was set manually. This should go through DAG_id_tag_update() in nearly all cases instead since this is now a fast operation. Also removed DAG_ids_flush_update that goes along with such manual tagging of ob->recalc.
2013-02-12rigidbody: Don't cancel add operator if rigid body already existsSergej Reich
In some cases objects might have rigid bodies but aren't in the rigid body group, just add objects to the group then. Also allow changing the rigid body type by using the add acive/passive buttons. This avoids having to remove objects just to change type.
2013-02-12rigidbody: Clean up wm notifiers in rigid body operatorsSergej Reich
Remore group notifiers, they're already sent by add/remove group operators. Add pointcache notifiers. Fixes UI not being updated properly in some cases.
2013-02-09rigidbody: Add missing updates for rigidbody operatorsSergej Reich
Fixes cache not being invalidated when using change collision shape and calculate mass operators.
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2013-01-27Bunch of fixes for UI messages.Bastien Montagne
Also generate rigid body constraint types in py bullet code from RNA enum values (simpler than having to sync the code when something is changed here!). Side note: RNA API about icons still needs to expose icons for enum values, and conversion funcs between icon_name and icon_value!
2013-01-25rigidbody: Improve add/remove operatorsSergej Reich
Now all add/remove operators for rigid body objects and constraints automatically add objects to the appropriate groups and create groups if they don't exist yet. This makes handling rigid bodies easier but doesn't take away functionality. If users want to handle groups manually they just need to create them before adding any objects. The previous behaviour was confusing and was even considered to be a bug since clicking on rigid body in the physics tab seemed to do nothing.
2013-01-23rigidbody: Add rigid body simulationSergej Reich
Add operators to add/remove rigid body world and objects. Add UI scripts. The rigid body simulation works on scene level and overrides the position/orientation of rigid bodies when active. It does not deform meshes or generate data so there is no modifier. Usage: * Add rigid body world in the scene tab * Create a group * Add objects to the group * Assign group to the rigid body world * Play animation For convenience the rigid body tools operators in the tools panel of the 3d view will add a world, group and add objects to the group automatically so you only have to press one button to add/remove rigid bodies to the simulation. Part of GSoC 2010 and 2012. Authors: Joshua Leung (aligorith), Sergej Reich (sergof)