Commit graph

633 commits

Author SHA1 Message Date
Andrew Meadows
8d41960cc3 reset simulation bid counters on object activation 2015-06-10 12:40:14 -07:00
Seth Alves
3dcc6c9b8c make action-factory interface and subclass it in Interface. this allows an action to use avatar data. the login the AvatarActionHold is still bogus. 2015-06-10 12:04:44 -07:00
Seth Alves
b1a209b9db pull some common code out of subclasses and into ObjectAction 2015-06-09 16:17:48 -07:00
Seth Alves
23dab530f9 fix some glitchy behavior during rotation 2015-06-09 14:11:01 -07:00
Seth Alves
ccb2f17b33 grab.js rotation sort-of works now 2015-06-09 11:21:13 -07:00
Seth Alves
14a45e8349 convert grab.js to use spring action. rotation doesn't work right, yet 2015-06-08 18:25:58 -07:00
Seth Alves
b3bc9c3ef0 first attempt at getting spring-action to handle rotation 2015-06-08 17:10:13 -07:00
Seth Alves
1e858d8bc5 start on spring action 2015-06-08 14:16:03 -07:00
Seth Alves
b425cc6491 merge from upstream 2015-06-05 11:56:33 -07:00
Seth Alves
b0480af040 Merge pull request #5053 from AndrewMeadows/isothermal
fix crash during bogus reconnect on login
2015-06-05 11:38:23 -07:00
Seth Alves
28c034698f Merge branch 'master' of github.com:highfidelity/hifi into actions 2015-06-05 10:41:20 -07:00
Seth Alves
c5143cdfa0 Merge pull request #5027 from AndrewMeadows/isentropic
cleanup around sending all "terse update" data whenever some of it changes
2015-06-05 10:41:06 -07:00
Seth Alves
4e10c28b41 merge from upstream 2015-06-05 10:31:13 -07:00
Seth Alves
edb3622c85 Merge pull request #5037 from AndrewMeadows/inertia
collision groups for physical objects
2015-06-05 10:26:28 -07:00
Seth Alves
51f5730e68 formatting 2015-06-05 10:05:11 -07:00
Seth Alves
b2db5f7fee update grab.js to use pull-to-point action, various other fixes 2015-06-05 07:10:44 -07:00
Seth Alves
ba42b0dcc4 updateAction and deleteAction 2015-06-04 17:51:59 -07:00
Andrew Meadows
911baee8b8 fix for crash during bogus reconnect on login 2015-06-04 16:57:29 -07:00
Andrew Meadows
cd6bf9d461 cleanup comments 2015-06-04 16:56:14 -07:00
Howard Stearns
5cbb5dadca More perspicacious zero. 2015-06-04 14:21:12 -07:00
Seth Alves
5e5bc497d9 remove debugging prints 2015-06-04 12:44:08 -07:00
Seth Alves
66ab3d455f use shared pointers to keep track of action objects 2015-06-04 12:29:05 -07:00
Seth Alves
8f19bad97d pull argument extracting code into EntityActionInterface 2015-06-04 11:39:15 -07:00
Andrew Meadows
6b03e671d8 remove comment cruft 2015-06-04 11:28:07 -07:00
Seth Alves
14026667f5 script interface for creating an action now takes an action-type name rather than having a different call for each action 2015-06-04 10:55:32 -07:00
Andrew Meadows
6ea4c58319 material changes are an "easy" property to update 2015-06-04 10:22:01 -07:00
Seth Alves
57d85cece0 get rid of simulation back-pointer in actions 2015-06-04 09:41:32 -07:00
Seth Alves
d634663bb1 simple action is working. destructor sequense is still suspicous 2015-06-03 17:33:55 -07:00
Andrew Meadows
b0ca2df3aa move API from PhysicsEngine to ObjectMotionState 2015-06-03 14:56:04 -07:00
Andrew Meadows
8e61a10bcf compute collision group for entity 2015-06-03 14:22:48 -07:00
Andrew Meadows
ec0b4a956a move collision group consts to shared lib 2015-06-03 14:13:51 -07:00
Andrew Meadows
7b6cc59d30 basic support for collision groups 2015-06-03 11:40:48 -07:00
Seth Alves
c8ab22c517 hook up entity-scripting-interface to actions 2015-06-03 11:19:45 -07:00
Howard Stearns
c036b5fd4b Actually commit the changes this time! 2015-06-03 10:19:28 -07:00
Seth Alves
1d0d002222 clear out action change lists after applying them 2015-06-03 09:10:42 -07:00
Seth Alves
a31a5a1554 main actions interface is in EntityItem. changes in actions are queued up and applied before simulation step 2015-06-02 19:40:20 -07:00
Seth Alves
d6549948d0 first pass at entity interface to actions 2015-06-02 16:06:27 -07:00
Seth Alves
100248c4e8 beginnings of ObjectAction class 2015-06-02 13:19:07 -07:00
Seth Alves
b24cd82b80 beginnings of ObjectAction class 2015-06-02 13:18:49 -07:00
Andrew Meadows
2400f5c000 update ALL parameters of remote physics simulation 2015-06-01 09:02:59 -07:00
Andrew Meadows
4e073c77b3 Merge pull request #4978 from sethalves/fix-4973
recreate PR #4973 with some additional changes -- removed const keywo…
2015-05-27 21:11:28 -07:00
Andrew Meadows
aba539928d fix grab glitches and failure to own simulation 2015-05-27 18:05:59 -07:00
Seth Alves
bfa0e9c234 recreate PR #4973 with some additional changes -- removed const keyword from qinvokables for avatar getter methods such as getVelocity 2015-05-27 14:44:23 -07:00
andrew
2a6955ce12 fix windows build 2015-05-27 09:14:11 -07:00
Andrew Meadows
39d8244255 use highfideltiy style for class data member names 2015-05-26 22:59:29 -07:00
Andrew Meadows
708203089c replace tabs with spaces 2015-05-26 22:53:57 -07:00
Andrew Meadows
efbb9b0238 rewritten MassProperties with complete unit tests 2015-05-26 22:48:45 -07:00
Andrew Meadows
16e5710325 Merge pull request #4954 from ZappoMan/entitysmartpointers
EnitityItem smart pointers
2015-05-26 14:05:03 -07:00
ZappoMan
8b78fc4190 EnitityItem smart pointers 2015-05-22 17:57:50 -07:00
Andrew Meadows
461d08c0a9 merge upstream/master into andrew/bispinor 2015-05-22 11:35:02 -07:00
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