Commit graph

81 commits

Author SHA1 Message Date
Seth Alves
069c358aa3 Work around a deadlock:
thread 15 locks Octree
thread 1 blocks waiting for Octree lock
thread 15 tries to pass a message to thread 1 with QMetaObject::invokeMethod, and hangs

thread 15 is blocked on qt message passing to thread 1
  ResourceCache::getResource                       libraries/networking/src/ResourceCache.cpp:57
  GeometryCache::getGeometry                       libraries/render-utils/src/GeometryCache.cpp:1774
  ModelEntityItem::isReadyToComputeShape           libraries/entities/src/ModelEntityItem.cpp:431
  PhysicsEngine::addEntityInternal                 libraries/physics/src/PhysicsEngine.cpp:67
  EntitySimulation::addEntity                      libraries/entities/src/EntitySimulation.cpp:129
  EntityTree::postAddEntity                        libraries/entities/src/EntityTree.cpp:91
        ^ locks simulation
  EntityTreeElement::readElementDataFromBuffer     libraries/entities/src/EntityTreeElement.cpp:773
  Octree::readElementData                          libraries/octree/src/Octree.cpp:301
  Octree::readElementData                          libraries/octree/src/Octree.cpp:354
  ...
  Octree::readBitstreamToTree                      libraries/octree/src/Octree.cpp:439
  OctreeRenderer::processDatagram                  libraries/octree/src/OctreeRenderer.cpp:136
        ^ lockForWrite Octree::_lock
  OctreePacketProcessor::processPacket             interface/src/octree/OctreePacketProcessor.cpp:91
  ReceivedPacketProcessor::process                 libraries/networking/src/ReceivedPacketProcessor.cpp:51

thread 1 is blocked on lockForWrite of Octree::_lock
  Octree::lockForWrite                             libraries/octree/src/Octree.h:292
  EntityTree::update                               libraries/entities/src/EntityTree.cpp:668
        ^ lockForWrite on Octree:_lock
  EntityTreeRenderer::update                       libraries/entities-renderer/src/EntityTreeRenderer.cpp:258
  Application::update                              interface/src/Application.cpp:2189
        ^ calls _physicsEngine.stepSimulation() before this
  Application::idle                                interface/src/Application.cpp:1535
  timer
2015-03-17 11:38:42 -07:00
Seth Alves
b76103edb0 clean up debugging spew 2015-03-16 16:44:29 -07:00
Seth Alves
6b49b0ed7d formatting 2015-03-14 11:58:53 -07:00
Seth Alves
b815c365eb formatting 2015-03-13 18:57:27 -07:00
Seth Alves
0cfc48ab43 don't copy hull points 2015-03-13 18:05:02 -07:00
Seth Alves
43dbd64f4a fix obj reader 2015-03-13 17:31:52 -07:00
Seth Alves
2368e6e5b7 collision with a hull sort of works. there is a new memory corruption problem 2015-03-13 15:41:57 -07:00
Seth Alves
89b58e2681 trying to get loaded callback for model hooked up to PhysicsEngine 2015-03-13 09:11:15 -07:00
Seth Alves
a945421d9d still trying to make PhysicsEngine::addEntityInternal be async 2015-03-12 16:38:55 -07:00
Seth Alves
2cf0e1ab25 break PhysicsEngine::addEntityInternal in half, making the 2nd part asynch. This is to allow a ModelEntityItem time to download its collision hull before the 2nd part runs 2015-03-12 15:58:09 -07:00
Seth Alves
bf1cb951a3 move PhysicsEntity so that ModelEntityItem can initiate a model download 2015-03-11 18:34:27 -07:00
Seth Alves
3a3e723f4e trying to figureo out where to download hull models 2015-03-11 14:26:30 -07:00
Seth Alves
1c73f50dbc started to hook up geometry downloader to ShapeInfo 2015-03-11 07:17:13 -07:00
Seth Alves
99300a5bc8 merge from master 2015-03-09 13:39:51 -07:00
Seth Alves
58bd8a5c65 collision model url 2015-03-07 20:30:29 -08:00
Andrew Meadows
373be95297 entity cubes are in meters 2015-03-06 15:32:03 -08:00
Andrew Meadows
8d4ea143ce easy conversions of: InDomainUnits --> InMeters 2015-02-25 14:48:06 -08:00
Andrew Meadows
2f749e3c51 merge upstream/master into andrew/isentropic
Conflicts:
	libraries/entities/src/TextEntityItem.h
2015-02-25 14:40:32 -08:00
Andrew Meadows
2ffb19a0ed getPosition() --> getPositionInDomainUnits()
and friends
2015-02-25 14:35:04 -08:00
Andrew Meadows
cfbf8fdca7 explicit cleanup of loaded model animations
in Application dtor
2015-02-13 16:19:10 -08:00
Andrew Meadows
ff27ab74ae expose _shapeType to script and server 2015-02-11 08:46:41 -08:00
Andrew Meadows
12543cae75 initial add of ModelEntityItem::_shapeType 2015-02-09 12:43:56 -08:00
Andrew Meadows
450713fdaa Entitis support new (pending) API for ShapeInfo 2015-02-08 15:08:50 -08:00
Andrew Meadows
9da6b623a3 move shape polymorphism to ModelEntityItem 2015-01-30 16:25:35 -08:00
ZappoMan
31f72107da remove support for old pre-entity svo files 2015-01-23 09:26:48 -08:00
ZappoMan
86a9d5719b fix one more case of animaiton stutter 2014-12-30 15:12:23 -08:00
ZappoMan
a0ec2ddfe9 clamp frame index between 0 and 100,000 2014-12-29 21:07:04 -08:00
ZappoMan
49e350fab2 Merge branch 'master' of https://github.com/highfidelity/hifi into animationFrameIndex 2014-12-29 14:01:35 -08:00
Andrew Meadows
b03e6c53e1 fixing derived classes to use new EntityItem API
remove 'forceCopy' argument in EntityItem::setProperties()
2014-12-18 11:41:20 -08:00
ZappoMan
660bf2720e convert AnimationCache to DependencyManager 2014-12-15 19:48:15 -08:00
ZappoMan
663b9c393e add debugging 2014-12-09 12:43:34 -08:00
Andrew Meadows
675a2dd989 add DIRTY_UPDATEABLE flag for changes that need it 2014-12-08 16:32:25 -08:00
Andrew Meadows
7d96ad5836 cleanup of EntitySimulation API
* remove EntityItem::_simulationState (only useful to EntitySimulation)
* move code from SimpleEntitySimuation to EntitySimulation
* EntitySimulation now maintans many QSets of entities
* cleanup and clarify use of EnityTree::updateEntity()
* reduced cost of polling for entity expiries
* changed "UpdateFlags" to "DirtyFlags" and clarified what they're for
2014-12-05 18:08:53 -08:00
Andrew Meadows
ab011d5b30 fix for non-animating models 2014-12-03 16:49:49 -08:00
ZappoMan
5c2cc20313 fixes the stutter in animation when observer moves 2014-11-28 17:36:55 -08:00
Andrew Meadows
af606f01a9 combined SimulationStates Moving and Changing
also funnel entity updates by UDP packet through a single list
2014-11-17 17:35:44 -08:00
ZappoMan
7b69642c67 fix bug in animation jitter on turn 2014-11-13 23:03:12 -08:00
ZappoMan
3e521e089b fix unix build 2014-11-13 09:48:15 -08:00
ZappoMan
8ec12ea954 add full animation settings support 2014-11-13 08:59:06 -08:00
ZappoMan
bc60c90308 only actually set the properties if they were in the buffer 2014-11-13 08:39:19 -08:00
ZappoMan
8a2e3d5045 add animationSettings property to model entities 2014-11-12 17:41:55 -08:00
ZappoMan
ef17659ea2 cleanup 2014-11-12 16:57:42 -08:00
ZappoMan
dd22683672 fixing up animation loop issues 2014-11-12 16:53:16 -08:00
ZappoMan
245f019836 first cut at migrating entity animation frame calculations to use AnimationLoop 2014-11-12 16:10:35 -08:00
ZappoMan
95c5b417c9 texture support in model entities 2014-10-30 11:04:19 -07:00
ZappoMan
44230a315b add naturalDimensions and moved sitting points to exclusively be in properties 2014-09-09 17:45:50 -07:00
ZappoMan
b78b8ccbb0 first cut at replacing radius with dimensions 2014-09-09 13:33:05 -07:00
ZappoMan
dc31381fc1 better handling of old model files 2014-09-05 02:19:17 -07:00
ZappoMan
e8b1497d60 revert to old _lastUpdated behavior to fix animations and movement 2014-09-02 19:28:33 -07:00
ZappoMan
10d581925c DRY up the property reading code by using macro for repeated pattern 2014-09-02 10:31:26 -07:00