Commit graph

1170 commits

Author SHA1 Message Date
Dante Ruiz
fec8482b69 Merge branch 'master' of github.com:highfidelity/hifi into feature/ant-man 2017-09-05 16:26:51 -07:00
Seth Alves
41b51804dc fix comment 2017-08-30 17:53:55 -07:00
Seth Alves
3f0a95d8db remove unneeded line 2017-08-30 17:53:20 -07:00
Seth Alves
ca86ce59c2 fix a bug that cuased dynamic children to wink in and out and then vanish 2017-08-30 17:44:42 -07:00
Anthony J. Thibault
573985c7c9 Merge branch 'master' into feature/ant-man 2017-08-28 09:27:04 -07:00
Anthony J. Thibault
4f830cf1dc Calculate jump speed based on canonical jump height. 2017-08-25 15:34:51 -07:00
Brad Davis
e817d3ced4 Threaded rendering & entity rendering refactor 2017-08-24 13:34:34 -07:00
Anthony J. Thibault
cd6d2173cc Bug fix for follow rotation of CharacterController 2017-08-21 18:09:58 -07:00
Anthony J. Thibault
8e56404c40 Fixes for flying and rotation re-centering in wikiplanet 2017-08-21 17:42:25 -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
Andrew Meadows
e465186511 Merge pull request #11048 from 1P-Cusack/21389
WL21389 PR1:  Representation of collision shapes need updating (details below).
2017-08-03 09:04:31 -07:00
Anthony Thibault
8a87ebd2a8 Merge pull request #11036 from AndrewMeadows/walkabout
fix bugs preventing avatar from walking on spherical planet
2017-08-01 16:36:35 -07:00
LaShonda Hopper
ef1e426273 [WL21389] Some code and todo cleanup in prep for PR1.
Changes to be committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/shared/src/ShapeInfo.cpp
2017-07-25 15:27:02 -04:00
Leander Hasty
d155c02640 [WL21389] wip and modifications based on comments
https://github.com/highfidelity/hifi/pull/11024#pullrequestreview-51611518

Cleans up tabs, moves new functionality out of ShapeFactory directly to
RenderableShapeEntityItem's computeShapeInfo override, begins to break down
where we will need pointlists.

Still need to determine how rotation is handled for pointlists, and check
for axis alignment on cylinders before deciding on a shape.

Changes to be committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.h
	modified:   libraries/entities/CMakeLists.txt
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/physics/src/ShapeFactory.h
	modified:   libraries/shared/src/ShapeInfo.cpp
	modified:   scripts/developer/tests/basicEntityTest/entitySpawner.js
2017-07-25 15:20:35 -04:00
LaShonda Hopper
75403124b6 [WL21389] Addresses physics library dependency and has some other fixes (details below).
* Addresses physics library dependency by moving computeShapeInfo override from
ShapeEntityItem (which is within Entities Library) to RenderableShapeEntityItem
(which is in Entities-Renderer Library).
** Entities-Renderer library already links against the physic library.
** Per discussion with Andrew Meadows: In order to ShapeEntityItem to be
utilized the library dependency between the Entity and Physics library
would need to be resolved to avoid the cyclical reliance which isn't in
the scope of this ticket.
* Updates shapeSpawner test script from the default clone of basicEntityTest\entitySpawner.js
** Objects now have a finite lifetime
** Script now cleans up the objects created when the script ends
** Also moved some adjustable properties out into var aliases at the top of the
file for easier/less error prone tweaking. Should probably add one for the shapeType.
* Fixes some issues with validateShapeType helper function
* Removed naive attempt at including physics library within entities library.
* Transferred some todos from notes
* Fixed some formatting

NOTE(s):
  This compiles and runs.  Cylinder is spawned and treated as CYLINDER_Y.

TODO(s):
* Add tweakable var for shapeType within shapeSpawner.js
* Vet and verify other shapes.
* Add in edge case handling.
* Add in support for other shapes to ShapeInfo infrastructure.

Changes to be committed:
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.h
	modified:   libraries/entities/CMakeLists.txt
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/shared/src/ShapeInfo.cpp
	modified:   scripts/developer/tests/basicEntityTest/shapeSpawner.js
2017-07-25 14:43:39 -04:00
LaShonda Hopper
5bc38bd7f0 [WL21389] Collision Shapes need to be updated (details below).
Revised approach involves creating a helper function within ShapeFactory to aid
in devising the ShapeType to be used by an ShapeEntityItem for collision.  The
ShapeFactory is currently doing this for creating the actual Bullet Library
collision shapes.

ShapeEntityItem overrides its virtually inherited computeShapeInfo which
in turn calls the new ShapeFactory helper function.

ShapeEntityItem has a new memvar _collisionShapeType to cache its actual
ShapeType used by the physics system.  This memvar is returned via the getShapeType
accessor which is expected to return an object's ShapeType.

Note(s):
    This is similar to the original approach save translation between entity::Shape and ShapeType
    isn't tied to the EntityItemProperties shapeTypeNames or shapeType. This approach more
    directly solves the issue of getting the actual ShapeType used by the time it's needed
    to determine the bullet collision object type created when initializing the physic information.

    Translation of the ShapeEntityItem's entity::Shape to its ShapeType is handled by
    ShapeFactory which handles creating the bullet collision objects when setting up
    physics on the ShapeEntityItems.

Known Issue(s):
    This doesn't compile.  It appears that the Entity Library needs to know about
    the Physics Library.  The naive attempt at providing that link failed to resolve
    all compilation issues.

    Current Error:
    C1083: Cannot open include file: btBulletDynamicsCommon.h:
    No such file or directory (C:\projects\cusack\libraries\entities\src\ShapeEntityItem.cpp)
       C:\projects\cusack\libraries\physics\src\ShapeFactory.h	15	1	entities

	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities/CMakeLists.txt
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/physics/src/ShapeFactory.h
	modified:   libraries/physics/src/ShapeInfo.cpp
	modified:   scripts/developer/tests/basicEntityTest/entitySpawner.js
	new file:   scripts/developer/tests/basicEntityTest/shapeSpawner.js
2017-07-25 14:43:07 -04:00
Andrew Meadows
4994283247 remove unnecessary state check 2017-07-24 16:00:13 -07:00
Andrew Meadows
a8dac0cb79 don't send constant updates for grabbed objects 2017-07-20 15:45:50 -07:00
Andrew Meadows
d9c6126000 more descriptive names for methods that do stuff
also: changes to dimensions will trigger update to QueryAACube
2017-07-19 13:33:32 -07:00
Andrew Meadows
2299bb7718 supply minimum shape rather than null 2017-07-06 10:37:44 -07:00
Seth Alves
428dc81083 Merge pull request #10696 from AndrewMeadows/avoid-ownership-bid-race
ignore remote update younger than recent ownership bid
2017-06-20 10:42:54 -07:00
Brad Davis
a69cf31f4b PR feedback and cmake fixes 2017-06-16 16:59:58 -07:00
Andrew Meadows
b105ad8338 measure linear velocity of tractor position 2017-06-16 16:55:00 -07:00
Howard Stearns
a0ea306aed cleanup, and include missing allowBackface parameter 2017-06-04 07:55:23 -07:00
Howard Stearns
c48b729527 Merge branch 'master' of https://github.com/highfidelity/hifi into do-not-get-stuck-in-floor 2017-06-02 18:05:20 -07:00
Seth Alves
142739eec7 Merge pull request #10602 from AndrewMeadows/simulation-ownership-002
fixes for some simulation ownership problems
2017-06-02 14:23:19 -07:00
Andrew Meadows
29a05d7eb4 bid immediately when creating new entity
also clear EntityMotionState::_numInactiveUpdates on new ownership
2017-06-01 17:39:21 -07:00
Andrew Meadows
74827fc4c8 recently moved static objects added to changelist
since static objects are not active this will make the interface
release ownership of recently changed static objects
2017-06-01 17:39:21 -07:00
Andrew Meadows
e34f979ed9 add EntityMotionState::isLocallyOwned() for cleaner logic 2017-06-01 17:39:21 -07:00
howard-stearns
6b2e4c5abc zaru stuff 2017-06-01 17:08:22 -07:00
howard-stearns
1e1dd3a633 checkpoint with working detector 2017-05-31 17:10:37 -07:00
Andrew Meadows
971855e6bf add asserts to catch dangling pointers sooner 2017-05-25 14:29:14 -07:00
Andrew Meadows
c22e4ef883 rename method to clarify where it is called 2017-05-25 13:48:19 -07:00
Andrew Meadows
5378cbead6 make ObjectMotionState dtor virtual 2017-05-25 13:47:03 -07:00
Brad Hefta-Gaub
23af6294ab Merge pull request #10521 from sethalves/fix-locked-in-motion
if something is locked but in motion, make it kinematic rather than static
2017-05-25 08:32:30 -07:00
Seth Alves
3825830fac if something is locked but in motion, make it kinematic rather than static 2017-05-22 14:07:53 -07:00
samcake
f8c291ee78 Merge branch 'master' of https://github.com/highfidelity/hifi into ambient 2017-05-22 10:56:00 -07:00
Seth Alves
4142d8c686 actions shouldn't change locked entities 2017-05-21 11:05:18 -07:00
Sam Cake
321f74c305 Merge branch 'master' of https://github.com/highfidelity/hifi into ambient 2017-05-20 18:12:58 -07:00
Seth Alves
8f38ea8c6a force locked entities to be static in bullet 2017-05-20 11:54:42 -07:00
samcake
c449229850 Cleaned up the counters for memory 2017-05-19 17:52:56 -07:00
Andrew Meadows
09433a93ba Merge pull request #10477 from AndrewMeadows/correct-avatar-mass
More correct avatar mass
2017-05-17 16:22:06 -07:00
Seth Alves
9b1fe60b7c suppress frequest log-spam from constraints. 2017-05-17 11:55:31 -07:00
Andrew Meadows
d065b569d3 support for variable avatar mass by size 2017-05-16 16:03:51 -07:00
Andrew Meadows
9b3754c2ee remove unused API from ObjectDynamic and friends 2017-05-15 22:13:03 -07:00
Andrew Meadows
9e08dadaf4 Remove ObjectActionSpring 2017-05-15 22:11:42 -07:00
Seth Alves
fcc5e12211 redelete these 2017-05-12 13:19:15 -07:00
Seth Alves
f40c7bde71 Merge pull request #9 from AndrewMeadows/motor-action
remove unused parameters from Hinge and ConeTwist constraints
2017-05-12 13:14:02 -07:00
Seth Alves
630d95a812 fix constraint import some more 2017-05-12 13:03:51 -07:00
Andrew Meadows
10d058af02 remove unused parameters from ObjectConstraintConeTwist 2017-05-12 12:07:34 -07:00