Commit graph

583 commits

Author SHA1 Message Date
Andrew Meadows
bf225e4886 fix bug masking physics shape changes 2015-05-22 11:33:45 -07:00
Andrew Meadows
0431e8da36 put avatar body in right spot, and give it mass 2015-05-22 11:08:56 -07:00
Andrew Meadows
466af03fa9 support for ShapeInfo::offset 2015-05-21 16:25:05 -07:00
Andrew Meadows
f6721aa6eb moved ShapeInfoUtil to be ShapeFactory 2015-05-21 15:53:16 -07:00
Andrew Meadows
2e3973dfdd impl AvatarMotionState::set/getWorldTransform() 2015-05-21 15:34:30 -07:00
Andrew Meadows
67f5d0773d some list management of AvatarMotionStates 2015-05-21 14:40:47 -07:00
Seth Alves
4a59dc24c5 split entity-add and entity-edit messages 2015-05-20 14:52:03 -07:00
Seth Alves
a769cfdaf2 client decides on new entity-ids, keep EntityItemID class 2015-05-20 10:42:19 -07:00
Seth Alves
f9d46b0cb5 interface decides on entityIDs rather than bouncing a temporary id through the entity server 2015-05-19 14:25:23 -07:00
Andrew Meadows
f86c419988 stubbery for collidable avatars 2015-05-19 14:15:26 -07:00
Andrew Meadows
7a47e04b9c adjust margin for hulls with small dimensions 2015-05-14 14:57:18 -07:00
Andrew Meadows
81d06e0dc3 Merge upstream/master into andrew/nova
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItemProperties.cpp
2015-05-14 10:09:55 -07:00
Andrew Meadows
c631f85bf9 cleanup of simulation ownership/update logic 2015-05-14 08:43:54 -07:00
Seth Alves
711752bff1 rather than call setMargin, clench in all the points of a collision-hull toward the center of the hull by the margin amount 2015-05-13 13:54:24 -07:00
Seth Alves
2ec660bd42 try out smaller collision margins 2015-05-13 13:00:57 -07:00
Andrew Meadows
fb34a5ba84 renaming and cleanup 2015-05-13 08:44:10 -07:00
Andrew Meadows
7e9e223b3e merge upstream/master into andrew/nova 2015-05-12 21:48:55 -07:00
Andrew Meadows
4872a565c9 bid for simulation ownership 2015-05-12 21:46:52 -07:00
Andrew Meadows
e89471e7d6 enable non-moving update when obj is active 2015-05-08 15:41:00 -07:00
Andrew Meadows
a2ffc1029b clear MotionState pointer in body on delete 2015-05-08 14:18:44 -07:00
Andrew Meadows
603afefaab silence verbose no-very-helpful log message 2015-05-08 14:16:38 -07:00
Andrew Meadows
ada48bcb70 fix for glitchy physics updates 2015-05-08 09:06:31 -07:00
Andrew Meadows
e7e4d80be5 always remove from _pendingAdds just in case 2015-05-07 15:22:58 -07:00
Andrew Meadows
1879a67804 cleanup 2015-05-07 14:42:09 -07:00
Seth Alves
0347af9682 minor cleanup 2015-05-07 14:03:50 -07:00
Andrew Meadows
f0618501dd fix non-physical kinematic motion
also can set objects collisionless again
2015-05-07 11:29:42 -07:00
Andrew Meadows
47f978b86e merge 2015-05-07 10:31:27 -07:00
Andrew Meadows
070140440d fix crash bug when invalid entity ptr accessed 2015-05-07 10:30:22 -07:00
Andrew Meadows
fe5cfdf495 fix crash bug
when obj deleted but dangling pointer still on _pendingAdd
which would not be removed during getObjectsToDelete()
because backpointers had been disconnected
2015-05-07 10:28:38 -07:00
Seth Alves
867fe18472 put some code back now that entity-server is doing simple simulation again. don't draw blue physics-enabled dot unless debug menu-item is checked 2015-05-07 10:11:36 -07:00
Seth Alves
fe14202f51 add getName passthrough to ObjecdtMotionState, don't compute model shapes until the model has been simulated 2015-05-07 09:53:39 -07:00
Seth Alves
5ac8558168 flash yellow box when transmitting an edit packet 2015-05-06 17:03:27 -07:00
Seth Alves
cc5f2ee451 in isMovingVsServer look at entity velocity only 2015-05-06 16:26:27 -07:00
Seth Alves
ba6f6d19cc disable updateServerPhysicsVariables 2015-05-06 16:20:16 -07:00
Seth Alves
630f1ce9d9 isMovingVsServer function 2015-05-06 16:13:07 -07:00
Seth Alves
e73503a53d Merge branch 'nova' of github.com:AndrewMeadows/hifi into dice-on-table-1 2015-05-06 16:05:13 -07:00
Seth Alves
b0ccabe38e update a motionstate's idea of what the entity-server thinks when an incoming update packet arrives 2015-05-06 16:05:05 -07:00
Andrew Meadows
452e84d43f only update physics when proper flags are set 2015-05-06 16:02:03 -07:00
Andrew Meadows
7b1886a285 harvest outgoing changes for non-NULL entities 2015-05-06 16:01:25 -07:00
Seth Alves
4c3cbea261 don't auto-remove simulation owner unless the Node is gone. put back code that causes interfaces to give up ownership 2015-05-06 15:32:02 -07:00
Seth Alves
86ec12b22c don't increase moving-without-simulator counter unless the thing is moving enough 2015-05-06 14:30:45 -07:00
Seth Alves
fe308c0189 only do infection during collisions if one of the objects is being simulated by this interface 2015-05-06 13:50:14 -07:00
Seth Alves
96a44314c9 don't have interface give up ownership 2015-05-06 13:29:54 -07:00
Andrew Meadows
326d17072e merge seth/dice-on-table-1 into andrew/nova 2015-05-06 11:50:12 -07:00
Andrew Meadows
c97b11a6e9 no ownership of kinematic objects on collision 2015-05-06 11:48:31 -07:00
Andrew Meadows
f0c778a802 fix bug preventing taking of simulation ownership 2015-05-06 11:46:42 -07:00
Andrew Meadows
646661d037 update body gravity when proper dirty bits are set 2015-05-06 11:46:25 -07:00
Seth Alves
129a3a82da clear incoming flags after adding an entity to simulation. If an entity has a shape-type of none, don't keep asking it for a shape 2015-05-06 11:20:39 -07:00
Andrew Meadows
14f925b48e merge seth/dice-on-table-1 into andrew/nova
Conflicts:
	libraries/physics/src/EntityMotionState.cpp
	libraries/physics/src/ObjectMotionState.h
2015-05-05 16:54:53 -07:00
Andrew Meadows
50f73602f6 cleanup PhysicalEntitySimulation::_outgoingChanges 2015-05-05 16:51:07 -07:00
Andrew Meadows
d4701b4310 namechange getIncomingDF --> getAndClearIncomingDF 2015-05-05 16:49:41 -07:00
Seth Alves
c35edd8eb4 some debugging on Andrew's refactor 2015-05-05 16:40:10 -07:00
Seth Alves
c9f97b9d42 Merge branch 'nova' of github.com:AndrewMeadows/hifi into dice-on-table-1 2015-05-05 15:50:24 -07:00
Andrew Meadows
2668ff6d0a check for DIRTY_ROTATION bit when copying rotation 2015-05-05 15:34:50 -07:00
Andrew Meadows
8523a96e2b implement setShouldClaimSimulationOwnership() 2015-05-05 15:34:26 -07:00
Seth Alves
82828f0b93 print when bullet and local octree don't agree on position of an entity 2015-05-05 13:52:10 -07:00
Seth Alves
1cd93b9ec8 pull andrew's branch, add back in visual indicator of an entity being active in bullet 2015-05-05 13:14:22 -07:00
Andrew Meadows
813d702fc5 fix infinite loop in while 2015-05-05 11:00:25 -07:00
Andrew Meadows
aa5a59c3dc merge upstream/master into andrew/nova
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/physics/src/PhysicsEngine.cpp
2015-05-05 10:24:17 -07:00
Andrew Meadows
6be3cc6efb remove debug stuff 2015-05-05 10:18:03 -07:00
Andrew Meadows
cfad016ba3 woops, forgot to these changes in last commit 2015-05-05 10:14:19 -07:00
Andrew Meadows
e38bfaa48c allow for EntitityMotionState::_entity to be NULL 2015-05-05 10:09:07 -07:00
Andrew Meadows
066e36c3e7 fix crash bugs (don't reference NULL pointers) 2015-05-04 16:52:36 -07:00
Andrew Meadows
0932682c2a remove comment 2015-05-04 13:35:36 -07:00
Andrew Meadows
96acf96b76 entity-entity collision events emit signals again 2015-05-04 13:32:57 -07:00
Atlante45
fc1519c078 Quiet compiler 2015-05-04 16:49:33 +02:00
Andrew Meadows
fef84730bf remake foundation for CollisionEvents 2015-05-03 09:27:15 -07:00
Andrew Meadows
cb37b884d2 add ObjectMotionState::getObjectID() 2015-05-03 09:26:49 -07:00
Andrew Meadows
0a102575ee fix simulation ownership infection 2015-05-01 16:56:00 -07:00
Seth Alves
560d89b38a session id can be null. don't crash 2015-05-01 14:56:03 -07:00
Andrew Meadows
42ec39c578 add ObjectMotionType::bump(), use in PhysicsEngine 2015-05-01 14:39:33 -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
3031d55c8e merge upstream/master into andrew/nova 2015-05-01 11:03:51 -07:00
Andrew Meadows
b023fe582a make things compile 2015-05-01 10:44:50 -07:00
Andrew Meadows
4cb469dd79 cleanup how MotionStates are deleted from physics
also fixed some compile errors
removed cruft
2015-05-01 08:28:32 -07:00
Andrew Meadows
9f8b266a03 fix some compile problems 2015-04-30 13:56:37 -07:00
Andrew Meadows
195dd1420c DIRTY_PHYSICS_ACTIVATION not DIRTY_PHYSICS_NO_WAKE
also add separate flag for rotation
and separate flags for linear vs angular velocity
and some combined flag masks for convenience
2015-04-30 13:17:13 -07:00
Andrew Meadows
c3901939e6 make some things compile after reorganization 2015-04-30 13:02:18 -07:00
Andrew Meadows
31ab16ac62 move stuff into ObjectMotionState 2015-04-29 16:16:44 -07:00
Andrew Meadows
ab38572620 new PhysicsEngine API is mostly in place
doesn't compile, of course
large code movements are done
non-physical kinematics have been lost --
will readd in PhysicalEntitySimuation class
2015-04-29 09:48:02 -07:00
Andrew Meadows
c0a5753317 PhysicalEntitySimulation sends outgoing packets 2015-04-28 17:12:29 -07:00
Andrew Meadows
5537c9e042 merge upstream/master into andrew/bispinor
Conflicts:
	libraries/physics/src/DynamicCharacterController.cpp
2015-04-28 15:18:02 -07:00
Andrew Meadows
14b6ee608a more PhysicalEntitySimulation implementation
with changes to API's accordingly (does not compile yet)
2015-04-28 15:07:37 -07:00
Andrew Meadows
087d0a027d merge upstream/master into andrew/nova 2015-04-28 10:07:49 -07:00
Andrew Meadows
34974272af proposal for PhysicsEngine API in Application 2015-04-28 10:06:05 -07:00
Andrew Meadows
304850372e initial implementation of PhysicalEntitySimulation 2015-04-28 10:05:10 -07:00
Andrew Meadows
31e5758422 namechange updateObjectEasy()-->updateBodyEasy() 2015-04-27 13:04:59 -07:00
Andrew Meadows
72deb2e49b merge upstream/master into andrew/thermonuclear
Conflicts:
	libraries/entities/src/EntityItem.h
	libraries/physics/src/EntityMotionState.cpp
2015-04-27 12:54:21 -07:00
Seth Alves
2e5049a190 fix bug caused by no-longer reusing a variable 2015-04-27 12:20:01 -07:00
Seth Alves
e14b4c6ad4 cleanups 2015-04-27 11:01:48 -07:00
Seth Alves
8278f52a79 cleanups 2015-04-27 10:59:51 -07:00
Andrew Meadows
7a222dff1d move one-liner isEnabled() to header 2015-04-27 09:54:58 -07:00
Seth Alves
26511575c2 Merge branch 'master' of github.com:highfidelity/hifi into detect-ballistic 2015-04-27 06:44:59 -07:00
Andrew Meadows
e3d29d74af name changes and preparation for more cleanup 2015-04-26 15:24:30 -07:00
Seth Alves
81ff8a4448 count steps during which an EntityItem is moving but has no simulation owner. Once the count is high enough (how high is TBD), attempt to claim ownership 2015-04-25 07:17:21 -07:00
Seth Alves
48ec0c8339 formatting, re-enable code that causes an interface to attempt to claim a moving object with no current simulation-owner 2015-04-25 06:56:19 -07:00
Atlante45
ba507cef98 Fix a few warnings 2015-04-25 11:01:02 +02:00
Seth Alves
218393a2b3 rather than keeping track of previous pos/rot sent by server, use a new flag that indicates that the values should be updated in the physics engine, but that the object should not be woken 2015-04-24 17:37:19 -07:00
Seth Alves
6e6793cbcc remove debugging prints 2015-04-24 15:18:02 -07:00
Andrew Meadows
3ecf959b3e removed cached copies of damping and restitution 2015-04-24 14:50:37 -07:00
Seth Alves
2a8fbeca32 sync 2015-04-24 14:43:39 -07:00
Seth Alves
e7c6ee597a sync 2015-04-24 14:36:05 -07:00
Seth Alves
ea250c037a sync 2015-04-24 14:27:32 -07:00
Seth Alves
6b53fefebe sync 2015-04-24 14:21:59 -07:00
Seth Alves
fea8d84618 sync 2015-04-24 14:09:10 -07:00
Seth Alves
ad85837b5a sync 2015-04-24 13:44:34 -07:00
Andrew Meadows
f09a67af6c don't need temp variable 2015-04-24 13:26:26 -07:00
Andrew Meadows
c4395e75bb cleanup and comments 2015-04-24 13:26:26 -07:00
Seth Alves
902e84c711 sync 2015-04-24 13:10:38 -07:00
Seth Alves
a27f8f3f10 sync 2015-04-24 11:28:44 -07:00
Seth Alves
926694517f sync 2015-04-24 11:07:45 -07:00
Seth Alves
1b84be6e10 attempting to have visual indicator of simulatorID 2015-04-24 10:55:43 -07:00
Andrew Meadows
80d3f35b2e Controller disabled when not in physics engine 2015-04-24 09:57:22 -07:00
Seth Alves
6fdbce9ee3 oops 2015-04-24 09:29:57 -07:00
Seth Alves
6d151ee3ed try a different way of identifying when to claim simulation ownership of a moving entity 2015-04-24 09:29:05 -07:00
Seth Alves
cf0499e671 various physics-related experiments 2015-04-23 21:07:04 -07:00
Seth Alves
2ca592de8b fix logic with infectious simulation ownership 2015-04-23 10:02:29 -07:00
Seth Alves
10e5378396 fix mangled if 2015-04-23 09:13:18 -07:00
Seth Alves
9e96026c52 move _accelerationNearlyGravityCount and _shouldClaimSimulationOwnership from EntityItem to EntityMotionState 2015-04-22 21:36:36 -07:00
Seth Alves
4ca076ed94 put PhysicsEngine::bump back in. some things get missed if we just set the one thing active 2015-04-22 18:53:49 -07:00
Seth Alves
5a7f8a2f5a git rid of unneeded bump code. re-indent billiards.js and rez in balls with some y velocity so they fall to the table 2015-04-22 17:06:21 -07:00
Seth Alves
864f8cb3b3 fix comment 2015-04-22 16:10:25 -07:00
Seth Alves
96b4517e6e when removing something from bullet, attempt to wake up anything that was touching it 2015-04-22 16:05:31 -07:00
Seth Alves
07a848c9ce added bump call in physics engine for when an entity is deleted and may have something resting on top of it 2015-04-22 15:50:39 -07:00
Seth Alves
7781808bea remove debug prints, fix a comment 2015-04-22 15:25:09 -07:00
Seth Alves
6678922f5c put back code for interface giving up simulator status when something stops 2015-04-22 15:09:56 -07:00
Seth Alves
3450597d70 remove some debugging prints 2015-04-22 15:03:23 -07:00
Seth Alves
c30d742f7d experimenting 2015-04-22 14:22:09 -07:00
Seth Alves
36dbbd0c9d experimenting 2015-04-22 14:14:12 -07:00
Seth Alves
cd3ee39fcc experimenting 2015-04-22 13:42:04 -07:00
Seth Alves
69ee33a392 experimenting 2015-04-22 13:29:28 -07:00
Seth Alves
ee000f91ae experimenting 2015-04-22 13:27:19 -07:00
Seth Alves
27ed0c4a98 experimenting 2015-04-22 13:21:06 -07:00
Seth Alves
7382b0b19f experimenting 2015-04-22 13:17:20 -07:00
Seth Alves
a6750eafd8 experimenting 2015-04-22 13:03:59 -07:00
Seth Alves
dc30ca0210 experimenting 2015-04-22 12:51:29 -07:00
Seth Alves
41166c1a42 allow entity server to time-out entity-simulation ownership rather than having interfaces give it up 2015-04-22 11:18:18 -07:00
Seth Alves
32673efc80 compute collision events inside lock to avoid a rare crash 2015-04-22 10:51:45 -07:00
Seth Alves
3f705f3172 keep track of the number of simulation steps each entity has been accelerated at nearly its gravity. if we get 4 in a row, start sending acceleration equal to gravity to the entity server, so it will include gravity in its estimates 2015-04-22 10:39:13 -07:00
Andrew Meadows
65825a4501 Merge pull request #4659 from ericrius1/collision
Filtering triggering of collisions with contact type of "continue"
2015-04-22 09:33:40 -07:00
Seth Alves
cde64893af coding standard 2015-04-21 18:36:06 -07:00
Seth Alves
4a5631fca6 cleanups, diff minimization 2015-04-20 16:51:28 -07:00
Seth Alves
23f1767634 cleanup 2015-04-20 16:13:28 -07:00
Seth Alves
d6c8bd94cf clean up some debugging prints 2015-04-20 15:59:33 -07:00
Seth Alves
08d300afcd use a flag to indicate that simulation ownership should be grabbed 2015-04-20 11:49:10 -07:00
Seth Alves
88f289f3c1 small cleanup and some debugging prints 2015-04-20 11:19:48 -07:00
Seth Alves
fbff3627dc attempt to claim simulation ownership of entities the avatar crashes with 2015-04-20 11:13:51 -07:00
Seth Alves
b3cb9fe9a4 fix comment some more 2015-04-17 15:33:41 -07:00
Seth Alves
dac57c44da if measured acceleration is close to zero, send zero to entity server, else send gravity 2015-04-17 15:05:47 -07:00
Seth Alves
292ba20cf3 pull andrew's measure-acceleration branch 2015-04-17 11:35:12 -07:00