April 22, 2014, 09:23 (GMT) |
Automatically set the object transflag for nparticle duplis, like current particles (but actual code is in nparticle to stay out of object code as much as possible). |
April 22, 2014, 09:23 (GMT) |
Removed old unused nparticle modifier code. |
April 22, 2014, 09:23 (GMT) |
Moved the particle display list from the modifier into the psys itself. This makes the modifier more easily replaceable later on and allows more detailed management of the particle object settings (in particular dupli flags). |
April 22, 2014, 09:23 (GMT) |
Single display 'add' function, is easier to provide as API method. |
April 22, 2014, 09:23 (GMT) |
Particle display type for duplis. |
April 22, 2014, 09:23 (GMT) |
Only call the 'validate' function for particles once, to prevent them from being removed and added back to the world continuously, which resets the motion state each time. Also set the USED flag outside of validate since this is not executed every step and would otherwise delete all existing particles. |
April 22, 2014, 09:23 (GMT) |
Added new bparticles function for copying the current particle state instead of just creating a new empty state. Also clear the py_handle when copying the state, otherwise the PyObject is invalid. |
April 22, 2014, 09:23 (GMT) |
Set some usable default values for a number of particle rigid body settings. |
April 22, 2014, 09:23 (GMT) |
Very basic sync method for particles, which copies the state and updates the particle positions from rigid bodies. |
April 22, 2014, 09:23 (GMT) |
Cleanup: Separated object and constraint build loops into own functions. Renamed some more API methods to follow the new naming scheme. Conflicts: source/blender/blenkernel/intern/rigidbody.c |
April 22, 2014, 09:23 (GMT) |
Cleanup: Renamed a number of internal rigidbody functions to clarify the procedure: world_build: create rbRigidBody instances for stuff in Scene validate_*: ensure a rbRigidBody exists for an Object/particle/etc. sync_*: define Bullet settings for an Object/particle/etc. based on Blender Scene data world_apply: copy back data from Bullet after a step to the Blender Scene data Conflicts: source/blender/blenkernel/intern/rigidbody.c |
April 22, 2014, 09:23 (GMT) |
Some missing stddef.h includes for NULL. |
April 22, 2014, 09:23 (GMT) |
Added inline comment about possible memory management optimization. |
April 22, 2014, 09:23 (GMT) |
Removed rigidbody build/apply functions from NParticle API. It's better to keep this functionality inside RigidBody blenkernel for now. |
April 22, 2014, 09:23 (GMT) |
Fix potential issue from early exit when no constraints exist. |
April 22, 2014, 09:23 (GMT) |
Cleanup: Separate function for details of the object 'apply' method. |
April 22, 2014, 09:23 (GMT) |
Fix for RigidBodyWorld reading: initialize empty body mempool when reading blend files, this is not actually stored. |
April 22, 2014, 09:23 (GMT) |
Fix for rigid body removal methods: Flag new rigid bodies for particles as used to prevent freeing. Also remove bodies if they already exist, to prevent double adding and subsequent assert failure. Conflicts: source/blender/blenkernel/intern/rigidbody.c |
April 22, 2014, 09:23 (GMT) |
Use the rigidbody_world_free_bodies function for freeing bodies when destroying the world, instead of looping over the object group. This is in line with the memory ownership being at the RigidBodyWorld now instead of the individual Objects and will ensure all RBs get destroyed properly when using particles etc. later. |
April 22, 2014, 09:23 (GMT) |
Shortcut variable for rbRigidBody, avoids repetitive rbo->physics_object access. |
|