Commit graph

640 commits

Author SHA1 Message Date
Andrew Meadows
dcca5d532a fix for glitchy physics updates
The main problem was: ObjectMotionState::_sentPosition and friends
were not being updated when the EntityServer update arrives.
2015-01-13 14:00:37 -08:00
Andrew Meadows
7a2ecd27fd fix typo 2015-01-12 14:32:32 -08:00
Andrew Meadows
bece05a994 entity prop defaults move to their own header 2015-01-12 11:49:31 -08:00
Andrew Meadows
e711b86519 scale DEFAULT_DIMENSIONS correctly
also remove a block of commented out cruft
2015-01-10 19:07:58 -08:00
Andrew Meadows
1184f5b668 merge upstream/master into andrew/inertia 2015-01-10 12:45:14 -08:00
Andrew Meadows
25e64d619c move statics out of EntityItem
This makes for much more readable core dumps
2015-01-10 11:46:42 -08:00
Andrew Meadows
99e1fdd46e fix for EntityServer crash
adding EntityItem::_element backpointer for easier add/remove logic
2015-01-10 07:44:26 -08:00
Andrew Meadows
4946ec18b6 remove some TODO comments 2015-01-09 09:28:01 -08:00
Andrew Meadows
b0b2eb5d38 use exact equality for filtering dimension changes 2015-01-08 11:09:32 -08:00
Andrew Meadows
af9bafae87 fix typo 2015-01-07 12:48:16 -08:00
Andrew Meadows
1745548665 fix rapid attenuation of angular velocity 2015-01-07 12:42:50 -08:00
Andrew Meadows
162854c5a5 Merge pull request #4025 from ZappoMan/voxelEctomy
Voxel ectomy
2015-01-05 13:20:30 -08:00
Andrew Meadows
6fb4e1f622 oops, need to update angularVelocity after damping 2015-01-05 12:23:55 -08:00
Andrew Meadows
bf6b8f9ca7 do not zero small velocities for non-bullet case 2015-01-05 12:01:09 -08:00
Andrew Meadows
3b7770f405 change meaning of damping to agree with bullet
0 = no damping
1 = 100% damping

The new formula is: velocity *= (1 - damping)^dt
2015-01-05 11:23:01 -08:00
Andrew Meadows
d032eab0de merge upstream/master into andrew/inertia 2015-01-05 09:19:37 -08:00
Atlante45
022beff569 Initialize entities' _locked and _script 2015-01-02 12:37:00 -08:00
Andrew Meadows
0d3e78fdb8 modify extrapolation behavior when bullet enabled
Allows Bullet to specify an object as "at rest"
by setting velocity to zero.
Also, moved velocity damping above position integration
to get the same order of operations as Bullet.
2014-12-31 16:32:09 -08:00
ZappoMan
9630279459 Merge branch 'master' of https://github.com/highfidelity/hifi into voxelEctomy
Conflicts:
	examples/editVoxels.js
	examples/fallingSand.js
	examples/growTrees.js
	interface/src/Application.cpp
	interface/src/Application.h
	libraries/avatars/CMakeLists.txt
	libraries/entities/src/EntityItem.h
2014-12-31 10:50:53 -08:00
ZappoMan
4ea9bbc309 first major pass at voxelEctomy 2014-12-30 18:08:58 -08:00
Andrew Meadows
da551a0a76 restore script change detection to what it was 2014-12-30 11:56:39 -08:00
Andrew Meadows
ba873deb49 ignore Entity updates that don't change anything 2014-12-30 11:38:24 -08:00
Andrew Meadows
97f44b64fc assert NULL EntityItem::_physicsInfo in dtor 2014-12-29 15:27:54 -08:00
Andrew Meadows
dab1f026d7 simpler EntityItem::simulate() bypass for bullet 2014-12-18 13:56:18 -08:00
Andrew Meadows
85fd1fc14f merge andrew/thermonuclear into andrew/inertia
Conflicts:
	interface/src/Application.cpp
	libraries/entities/src/EntityItem.cpp
2014-12-18 13:46:06 -08:00
Andrew Meadows
28381a3b70 cleanup of EntityItem::_created timestamp logic
EntityItem::_created initializes to 0 in ctor
and must be set either by EntityItemProperties (via server update)
or manually whenever a script creates a fresh entity
2014-12-18 11:39:02 -08:00
Andrew Meadows
756d09d895 fix typo that broke the build 2014-12-17 16:06:15 -08:00
Andrew Meadows
75d468da9e set _lastEdited to _created rather than to zero 2014-12-17 15:59:16 -08:00
Andrew Meadows
44ebf37510 handle case where obj at rest but still falls 2014-12-17 15:52:34 -08:00
Andrew Meadows
1e5c44f117 accept changes with the same Edit timestamp 2014-12-17 15:48:49 -08:00
Andrew Meadows
547c4cdaf9 make non-bullet entity simulation work again 2014-12-17 14:52:38 -08:00
Andrew Meadows
6ea766b48d merge andrew/thermonuclear into andrew/inertia
Conflicts:
	interface/src/Application.cpp
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityTypes.cpp
2014-12-17 13:21:00 -08:00
Andrew Meadows
8de309a7a9 more correct _created and _lastEdited 2014-12-17 12:38:26 -08:00
Andrew Meadows
e36ee2a961 more correct creation and edit times for entities 2014-12-17 12:19:34 -08:00
Andrew Meadows
0f488bca02 differentiation btw _lastEdited and _lastSimulated 2014-12-15 14:28:53 -08:00
Andrew Meadows
3fd2f12a73 merge upstream/master into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
	libraries/entities/src/EntitySimulation.h
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTreeElement.cpp
	libraries/entities/src/SimpleEntitySimulation.cpp
	libraries/entities/src/SimpleEntitySimulation.h
	libraries/entities/src/SphereEntityItem.cpp
2014-12-09 12:41:53 -08:00
Andrew Meadows
3ce1d4a38d set dirty bit when script changes simulation stuff
also fixes for linear and angular damping
2014-12-08 11:21:01 -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
85e7c6166b support for spherical entities 2014-12-03 12:10:26 -08:00
Andrew Meadows
1df6c32a4e moving Shape* back into shared lib
removing dependency of entities lib on physics lib
physics lib now depends on entities lib
2014-12-01 16:03:14 -08:00
Andrew Meadows
ec1f11c1a8 route more entity updates into physics engine 2014-11-24 11:21:40 -08:00
Andrew Meadows
51da678675 update entity MotionType when it changes 2014-11-19 17:05:31 -08:00
Andrew Meadows
8bd3779d7d merge andrew/thermonuclear into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.h
2014-11-19 15:55:10 -08:00
Andrew Meadows
11e7339e9e add UPDATE_COLLISION_GROUP and UPDATE_MOTION_TYPE 2014-11-19 15:52:57 -08:00
Andrew Meadows
961dc5a231 merge andrew/thermonuclear into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
2014-11-19 15:41:53 -08:00
Andrew Meadows
97d1dc4200 use updateFoo() where entity properties need relay
clear EntityItem updateFlags when processed
2014-11-19 15:12:22 -08:00
Andrew Meadows
a183248f38 add updateFoo() methods that accumulate flags
about properties that have changed
2014-11-19 14:12:26 -08:00
Andrew Meadows
3b85805048 add EntityItem::updateFoo() methods that set flags
when properties are actually changed
2014-11-19 14:01:55 -08:00
Andrew Meadows
388830c2a2 Merge branch 'bispinor' into inertia
Conflicts:
	interface/src/entities/RenderableModelEntityItem.cpp
	libraries/entities/src/BoxEntityItem.cpp
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTree.h
	libraries/entities/src/EntityTreeElement.cpp
2014-11-18 10:23:38 -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
Andrew Meadows
dd0bdabfe1 setSimulationState() --> computeSimulationState() 2014-11-17 15:50:35 -08:00
Andrew Meadows
5eb606c44a merge upstream/master into andrew/inertia 2014-11-14 09:04:27 -08:00
Atlante45
9fc7451581 Move macros to the end 2014-11-13 17:06:57 -08:00
Atlante45
40576b3c03 moved append to the end 2014-11-13 17:02:45 -08:00
Atlante45
f8be98260c String specific macros 2014-11-13 16:32:15 -08:00
Atlante45
f47620231e Entities have user data 2014-11-13 16:16:20 -08:00
Andrew Meadows
66857b823f EntityTree has a PhysicsWorld 2014-11-11 17:34:00 -08:00
Andrew Meadows
fa48da6c98 merge upstream/master into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
2014-11-11 11:14:12 -08:00
Andrew Meadows
053b16783c initial impl of PhysicsWorld::addEntity() 2014-11-06 16:42:07 -08:00
ZappoMan
5333f0eb19 quiet some debug 2014-11-06 13:45:30 -08:00
ZappoMan
2b62402a57 possible fix for entities not always updating bug 2014-11-06 13:17:46 -08:00
ZappoMan
c650cabb5d support for locked property, some plumbing for textures property 2014-10-30 10:05:20 -07:00
ZappoMan
729e40881d removed some old debug 2014-10-02 17:55:55 -07:00
ZappoMan
e65f383b25 add localRenderAlpha property to entities 2014-10-01 09:43:03 -07:00
ZappoMan
2d81d7c554 add support for ignore collisions and collisions will/wont move entities 2014-09-26 11:43:56 -07:00
ZappoMan
9cd76983a2 swith to using shape collider instead of spheres 2014-09-25 14:35:20 -07:00
ZappoMan
4b52fddffd collions with voxels and avatars 2014-09-24 17:37:56 -07:00
ZappoMan
f43ba4a68b first cut at getting entities to collide 2014-09-24 15:28:04 -07:00
ZappoMan
e8c1cb7db8 read old format files correctly 2014-09-12 09:38:35 -07:00
ZappoMan
4bce7f8c0b removed debug 2014-09-12 08:14:28 -07:00
ZappoMan
54ef5d4698 fixed bugs in MovingEntitiesOperator, improved getDistanceToBottomOfEntity, isRestingOnSurface 2014-09-12 07:45:33 -07:00
ZappoMan
695569b64b reconcile use of getAACube() and handle rotations properly 2014-09-11 16:43:53 -07:00
ZappoMan
9f4d199440 move bound proxy rendering to EntityTreeRedering, added helper functions for various bounding boxes 2014-09-11 15:36:13 -07:00
ZappoMan
f00947ada7 handle registration point in rendering of box, sphere, and model entities 2014-09-11 08:33:41 -07:00
ZappoMan
a3e47aa301 fix angular velocity damping so we don't get bad quats 2014-09-10 17:46:50 -07:00
ZappoMan
8023735eb3 changed rotational to angular and added angular damping 2014-09-10 14:46:27 -07:00
ZappoMan
f33690cc38 fix velocity and gravity to be in meters 2014-09-10 11:55:23 -07:00
ZappoMan
bb52c4a1b3 store angular valocity as 3 vector 2014-09-10 11:28:45 -07:00
ZappoMan
53da483381 more work on visible, registration point, and rotational velocity 2014-09-10 09:05:46 -07:00
ZappoMan
fac7d20c8a basic support for PROP_REGISTRATION_POINT, PROP_ROTATIONAL_VELOCITY, and PROP_VISIBLE 2014-09-09 20:38:58 -07:00
ZappoMan
b78b8ccbb0 first cut at replacing radius with dimensions 2014-09-09 13:33:05 -07:00
ZappoMan
0acbefb6a2 fix but in getMyChildContaining and performance improvement to moving entities 2014-09-03 08:06:42 -07:00
ZappoMan
446daa81a5 fix issue of server clock skew changing without breaking animation and moving 2014-09-02 20:01:41 -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
ZappoMan
799931aa6c DRY up the property setting code by using macro for repeated pattern 2014-09-02 09:30:28 -07:00
ZappoMan
033017346c removed debug code 2014-09-02 08:53:19 -07:00
ZappoMan
2b5d631290 removed a ton of old dead debug code 2014-09-02 08:44:43 -07:00
ZappoMan
f16a48e187 quiet some debugging 2014-09-01 22:38:18 -07:00
ZappoMan
b244e78af4 working on addressing issues with sibling cells and server clock skew causing some properties to be ignored 2014-09-01 21:48:03 -07:00
ZappoMan
93511616d6 prevent editing of entities out of doamin 2014-08-28 21:54:25 -07:00
ZappoMan
eab9f391ee fix getProperties() for age 2014-08-28 14:02:05 -07:00
ZappoMan
76c77d6994 first cut at properly working lifetime 2014-08-28 13:46:54 -07:00
ZappoMan
2f90df04ee correct cleanup of Models/geometry and all EntityItems for various cases 2014-08-27 15:45:45 -07:00
ZappoMan
5c2b674a0d verify delete behavior actually frees memory associated with EntityItems 2014-08-27 12:07:11 -07:00
ZappoMan
3e5af5e815 removed some debug 2014-08-26 10:45:40 -07:00
ZappoMan
d6873f7b6c added some debugging for referentials 2014-08-25 14:48:08 -07:00
ZappoMan
58759d344f cleanup in prep for PR 2014-08-25 10:56:43 -07:00
ZappoMan
75bb42fb73 debug cleanup 2014-08-22 10:54:00 -07:00
ZappoMan
ef86d86234 split out entity rendering into subclasses, improved rendering of models 2014-08-20 15:49:50 -07:00
ZappoMan
960e9eb2f4 debugging tweaks 2014-08-19 09:43:09 -07:00
ZappoMan
daffb00bf2 build issues fixed after merge 2014-08-18 15:41:20 -07:00
ZappoMan
49cf6dff3a more DIDNT_FIT logic improvements/fixes 2014-08-18 14:09:01 -07:00
ZappoMan
84ba810dc4 work on reseved bytes in octree packet data 2014-08-15 11:26:55 -07:00
ZappoMan
49e616dd49 first cut at using erase entity message to delete entities 2014-08-13 14:11:56 -07:00
ZappoMan
3551bd676f quiet a lot of debugging, fix issue with updating entities that overhang the domain bounds 2014-08-12 13:14:28 -07:00
ZappoMan
466b4c5e40 add some basic support for coming to a rest on the ground plane in case of downward gravity 2014-08-11 14:52:19 -07:00
ZappoMan
b89c740e17 improved velocity behavior, handling lastUpdated better, changing state when velocity reaches zero 2014-08-11 11:56:05 -07:00
ZappoMan
7c8163c475 first cut at getting velocity to work in entity base class 2014-08-11 10:36:03 -07:00
ZappoMan
a96aa5f937 clean up subclass properties, properly handle new baseclass props like damping 2014-08-10 14:20:37 -07:00
ZappoMan
55e12baf78 more base class properties work 2014-08-08 18:06:16 -07:00
ZappoMan
2892c37210 implement readEntitySubclassDataFromBuffer() for EntityItem 2014-08-08 17:55:56 -07:00
ZappoMan
90c7989765 implement appendSubclassData() for EntityItem 2014-08-08 17:38:26 -07:00
ZappoMan
b509eed59a more property work 2014-08-08 16:20:03 -07:00
ZappoMan
f899dc1f79 moving entity edit packet encode/decode to the EntityItemProperties class 2014-08-08 15:41:55 -07:00
ZappoMan
d50a607bc7 started support for new entity base class properties like velocity, gravity, damping, and lifetime 2014-08-08 11:38:03 -07:00
ZappoMan
6f479a1026 convert IDs to UUIDs 2014-08-07 17:02:11 -07:00
ZappoMan
f1d2017a9e getting animation working again 2014-08-07 12:50:02 -07:00
ZappoMan
e540bef672 more hacking on rendering of virtual entities 2014-08-06 09:12:14 -07:00
ZappoMan
e9db4fd120 registration of multiple entity types: Model and Box 2014-08-05 12:10:17 -07:00
ZappoMan
273853ef24 more work on virtual entities 2014-08-04 16:18:24 -07:00
ZappoMan
23aa5a124e fix up lastEdited behavior 2014-07-31 11:41:18 -07:00
ZappoMan
76ae4c9721 quiet logs 2014-07-29 16:54:21 -07:00
ZappoMan
4655612cdb handle moving of existing entities in case of inbound data from server causing entities to move to new elements 2014-07-29 15:50:17 -07:00
ZappoMan
0c7afc39ca refactoring EntityItemID management and id assignment to be part of EntityItemID class instead of EntityItem class 2014-07-17 10:24:32 -07:00
ZappoMan
1125cb183e splitting up a bunch of Entity classes into different files 2014-07-16 09:25:54 -07:00
ZappoMan
d4a8711ff6 more hacking on edit packets 2014-07-15 11:42:46 -07:00
ZappoMan
61d998d2ad tweaks 2014-07-15 10:29:29 -07:00
ZappoMan
3c4f5f88d0 checkpoint on virtual entities 2014-07-09 18:24:31 -07:00
ZappoMan
3145d150f3 more work on virtual entities, unit tests passing woot 2014-07-07 12:56:32 -07:00
ZappoMan
29e02f2681 more hacking on virtualizing entities 2014-07-07 09:36:31 -07:00
ZappoMan
5e5af9ceea hacking on more support for virtual entities 2014-07-03 10:44:34 -07:00
ZappoMan
2c5209d1e7 virtual entities checkpoint 2014-07-03 09:07:11 -07:00
ZappoMan
84101fce2c naming cleanup and organizational tweaks 2014-07-02 11:22:56 -07:00
ZappoMan
fe30d3807c more renaming to entity from model where we're really talking about an entity 2014-07-01 17:07:16 -07:00
ZappoMan
865566414c Merge branch 'master' of https://github.com/worklist/hifi into renameModelsToEntities
Conflicts:
	interface/src/entities/EntityTreeRenderer.cpp
	libraries/entities/src/EntityItem.h
	libraries/models/src/ModelItem.cpp
	libraries/models/src/ModelTree.cpp
	libraries/models/src/ModelTreeElement.cpp
	libraries/models/src/ModelsScriptingInterface.cpp
	tests/octree/CMakeLists.txt
	tests/octree/src/ModelTests.cpp
2014-07-01 16:32:47 -07:00
ZappoMan
b113c2d55c fix readEntityIDFromBuffer 2014-06-27 11:56:59 -07:00
ZappoMan
d618b4226b entity type work, and byte coding for id and type 2014-06-27 10:53:55 -07:00
ZappoMan
ad7a768fff more renaming work 2014-06-27 09:14:17 -07:00
ZappoMan
c4fe36b13d more Models->Entities renaming 2014-06-26 17:01:07 -07:00
Renamed from libraries/models/src/EntityItem.cpp (Browse further)