Commit graph

60 commits

Author SHA1 Message Date
Liv Erickson
6c8d68afc6 add extra cleanup in delete messages and simulation, as a fall back 2018-05-18 18:18:42 -07:00
Andrew Meadows
6d7574cab9 use std::numeric_limtis<uint64_t>::max() instead of -1 2018-04-03 22:13:25 -07:00
Andrew Meadows
70d6aa99e8 more 'const uint64_t&' purges 2018-04-03 21:55:31 -07:00
Andrew Meadows
5a5376c3d5 untangle 'bidding' from 'owned' 2018-03-30 13:18:32 -07:00
Andrew Meadows
6746e08206 faster EntitySimulation::takeDeadEntities() 2018-03-30 13:18:32 -07:00
Andrew Meadows
e1d2a5e5f3 more cleanup for deleting entities 2018-03-30 13:18:32 -07:00
Andrew Meadows
738e1267ab small optimization in EntitySimulation::changeEntity() 2018-03-30 13:18:32 -07:00
Andrew Meadows
5649748b17 make EntitySimulation::changeEntityInternal() pure virtual 2018-03-30 13:18:32 -07:00
Andrew Meadows
bd434e3f18 make EntitySimulation::addEntityInternal() pure virtual 2018-03-30 13:18:32 -07:00
Andrew Meadows
406bf7898d cleanup prof stats and trace context names 2017-12-11 11:31:00 -08:00
Andrew Meadows
e109101acc update profiling timers 2017-10-16 11:52:30 -07:00
Andrew Meadows
55e9ced5c3 cleanup MovingEntitiesOperator 2017-09-29 11:34:32 -07:00
Anthony J. Thibault
da20eac995 Bug fix for deadlock between EntitySimulation and EntityItem locks.
This is a classic deadlock between the main thread and the OctreeProcessor network thread.
On the main thread, the EntitySimulation lock is taken before the EntityItem read lock is taken.
On the network thread, the EntityItem write lock is taken before the EntitySimulation lock is taken.

To work around this issue the network thread no longer takes the EntitySimulation lock when calling
PhysicalEntitySimulation::addDynamic().  Instead, a fine grained lock around the EntitySimulation's dynamic lists
is used instead.
2017-08-21 17:14:49 -07:00
Seth Alves
74c0a70cb0 rename base action classes to dynamics, start on constraints 2017-04-11 20:39:13 -07:00
Seth Alves
5650ef9d52 have code where physics guesses at server values also avoid doing simple simulation of children of avatars 2016-06-09 14:35:17 -07:00
Seth Alves
d7fc789ea7 try harder to not do simple-simulation on things that have an avatar ancestor 2016-06-08 13:47:52 -07:00
Seth Alves
a1766539f4 don't do simple simulation on children of avatars 2016-06-08 12:17:07 -07:00
Seth Alves
a0771f8ee5 use smart pointers for entity simulations 2016-05-07 09:14:33 -07:00
Andrew Meadows
d984ce4792 properly update _lastSimulated for kinematic objs 2016-04-22 17:19:00 -07:00
Andrew Meadows
a263091c94 fix entity-server crash for out of bounds 2016-04-14 15:23:14 -07:00
Andrew Meadows
d3d724530a minor optimiztion 2016-03-24 21:12:22 -07:00
Seth Alves
6a646f1c24 put isMoving back and change all uses to isMovingRelativeToParent 2016-02-10 19:01:41 -08:00
Seth Alves
3e71efcdbb all code that asks isMoving appears to mean relative to parent 2016-02-10 18:21:44 -08:00
Anthony J. Thibault
727e289ecd SpatiallyNestable: bug fixes for kinematic entities
* Kinematic entities were being simulated with position in the local frame but velocity in the global frame.
* Also, because getVelocity() was returning non-zero values when the parent was moving, kinematic objects were being simulated even if they should have been at rest.
* Bug fix for calculating velocity direction was incorrect, if the parent frame was rotated.
2016-02-09 17:58:54 -08:00
Andrew Meadows
d8fb61e820 fix crash when deleting entities quickly 2016-01-22 10:25:10 -08:00
Andrew Meadows
4f29156da1 fixing asserts for EntityItem delete pipeline 2016-01-07 10:19:46 -08:00
Andrew Meadows
6eb177091b overhaul of MotionState cleanup
Moved MotionState deletes out of PhysicsEngine.
EntityMotionStates are deleted by the PhysicsEntitySimulation.
AvatarMotionStates are deleted in the Avatar dtor.
2016-01-07 10:19:46 -08:00
Andrew Meadows
f5d24a87ca remove entities from physics before we delete them 2016-01-07 10:19:46 -08:00
Andrew Meadows
b34df211df cleanup API for removal from EntitySimulation 2016-01-07 10:19:46 -08:00
Seth Alves
c74f8bca49 location getters also return a success boolean so that callers can know if the value they are receiving is bad due to lack of information about an object's parent 2015-12-14 09:13:36 -08:00
Seth Alves
24fb43e8cd first steps toward a puffed-out query-box for child entities 2015-12-12 12:33:14 -08:00
Andrew Meadows
fa17b77d70 move DIRTY_FLAGS out of EntityItem namespace 2015-10-15 09:34:09 -07:00
Brad Davis
9b81842850 Merge branch 'master' into homer
Conflicts:
	assignment-client/src/octree/OctreeSendThread.cpp
	interface/src/Application.cpp
	libraries/entities-renderer/src/EntityTreeRenderer.cpp
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTreeElement.cpp
	libraries/entities/src/EntityTreeElement.h
	libraries/entities/src/EntityTreeHeadlessViewer.cpp
	libraries/entities/src/RecurseOctreeToMapOperator.cpp
	libraries/octree/src/Octree.h
	libraries/physics/src/EntityMotionState.cpp
2015-09-11 16:31:18 -07:00
Brad Davis
aa989c3687 Fixing some entity race condition crashes 2015-09-10 20:53:17 -07:00
Seth Alves
31fcd55d47 octree uses shared pointers 2015-09-08 11:59:48 -07:00
ZappoMan
bdc78e9666 some CR cleanup 2015-08-14 10:16:48 -07:00
ZappoMan
4fe8f49d4c move origin to center of domain 2015-08-11 23:47:40 -07:00
Seth Alves
2dc4922da3 bring over code from entity-level-locking branch 2015-07-09 15:23:05 -07:00
Seth Alves
c539d9f233 allow for removal and readdition of an action in one time-slice without asserting 2015-06-29 12:22:06 -07:00
Seth Alves
300d35219d move functions our of header to cpp file 2015-06-26 16:54:01 -07:00
ZappoMan
9fa9942861 more work on smart pointers 2015-05-22 21:45:57 -07:00
ZappoMan
8b78fc4190 EnitityItem smart pointers 2015-05-22 17:57:50 -07:00
Andrew Meadows
e61470517c track all entities added to simulation 2015-05-06 11:01:16 -07:00
Andrew Meadows
550820ee45 set EntityItem::_simulated in the correct location 2015-05-05 16:48:56 -07:00
Andrew Meadows
6be3cc6efb remove debug stuff 2015-05-05 10:18:03 -07:00
Andrew Meadows
d5f4c5a0ef add/delete/cleanup of physical entities works 2015-05-05 10:10:08 -07:00
Andrew Meadows
3c9474b736 non-phys kinematic objs move to EntitySimulation
out of SimpleEntitySimulation
2015-05-01 13:43:50 -07:00
Andrew Meadows
b023fe582a make things compile 2015-05-01 10:44:50 -07:00
Andrew Meadows
c3901939e6 make some things compile after reorganization 2015-04-30 13:02:18 -07:00
Andrew Meadows
9c5f51917a declare EntitySimulation::getEntitiesToDelete() 2015-04-29 16:26:46 -07:00