Commit graph

289 commits

Author SHA1 Message Date
sabrina-shanman
836f810c41 Have OverlayTransformNode and similar define scale relative to nestable scale on creation time, and refactor code 2018-09-06 16:33:29 -07:00
sabrina-shanman
714cfc5ef1 Add scaling information to CollisionRegion jsdoc and missing info to CollisionPickProperties jsdoc 2018-09-06 12:14:50 -07:00
sabrina-shanman
7839ba42db Make the Collision Pick threshold scale with the largest dimension of the parent 2018-09-06 11:02:07 -07:00
sabrina-shanman
e8ea95e375 Use elseifs in PickScriptingInterface::createTransformNode 2018-09-06 10:21:48 -07:00
sabrina-shanman
390e89a64d Fix missing NestableTransformNode import 2018-09-06 10:20:26 -07:00
sabrina-shanman
84a2512f31 Fix collision pick scale not being used 2018-09-05 16:51:27 -07:00
sabrina-shanman
e8ce152687 Scale collision picks relative to parent by adding and using more
specialized transform nodes.
2018-09-05 16:51:28 -07:00
SamGondelman
589e88af4a Merge remote-tracking branch 'upstream/master' into scriptvec3 2018-09-04 17:54:45 -07:00
Sam Gondelman
7cdc7dcc66
Merge pull request #13873 from sabrina-shanman/stt_parenting
Collision Pick Parenting
2018-08-31 14:43:55 -07:00
sabrina-shanman
62344c106d Make render states a map when returned from PointerScriptingInterface::getPointerProperties 2018-08-31 11:19:53 -07:00
sabrina-shanman
2e290ea798 Only create a NestableTransformNode if the spatially nestable exists 2018-08-31 10:52:00 -07:00
sabrina-shanman
f71fc83309 Remove PickResult::needsToCompareResults 2018-08-31 10:48:48 -07:00
sabrina-shanman
4d85cb17f3 Include full transform in CollisionPick::getResultTransform 2018-08-31 10:46:17 -07:00
sabrina-shanman
9bf088d32b Just assign mathPick.loaded in CollisionPick::getMathematicalPick 2018-08-31 10:28:45 -07:00
sabrina-shanman
e94d7de99a Add JS API hook for getting overlay IDs from a pointer via
Pointer.getPointerProperties
2018-08-31 09:18:07 -07:00
David Rowe
c41d74621e Merge branch 'master' into M17217-b
# Conflicts:
#	interface/src/raypick/PathPointer.cpp
2018-08-31 14:26:24 +12:00
Sam Gateau
12ec56875e
Merge pull request #13867 from SamGondelman/recurse
findRayIntersection/findParabolaIntersection performance improvements
2018-08-30 09:49:16 -07:00
sabrina-shanman
1fe909f9ad Make CollisionPick::getResultTransform() always return a valid transform 2018-08-29 16:33:51 -07:00
sabrina-shanman
686f9fb18a Move load state flag from CollisionPickResult to CollisionRegion and make it a boolean 2018-08-29 16:29:59 -07:00
sabrina-shanman
2d73b7845e Code style fixes 2018-08-29 15:00:01 -07:00
SamGondelman
cda8b82ead improve pointer performance 2018-08-29 13:32:53 -07:00
sabrina-shanman
c6e6da2e3f Make MouseTransformNode actually parent the pick to a mouse rather than a MouseRayPick, and properly include rotation information 2018-08-27 16:53:55 -07:00
Seth Alves
52bbb4d2ab fix ray-pick results on entities with non-default registration point. clean up grab scripts to correctly use this fix. 2018-08-27 16:21:01 -07:00
sabrina-shanman
397b03d5d5 Add threshold parameter to collision pick with minimum of 0 2018-08-27 14:12:24 -07:00
Sam Gondelman
6730635931
Merge branch 'master' into scriptvec3 2018-08-27 10:43:52 -07:00
sabrina-shanman
cce62f4d92 Do not assume picks with doesIntersect()==false have no results to compare. Fixes CollisionPickResult 'loaded' value always evaluating to false when not colliding 2018-08-24 15:47:52 -07:00
sabrina-shanman
6e160ad22f Add TransformNode-based parenting and implement for CollisionPicks 2018-08-24 15:47:52 -07:00
sabrina-shanman
3167d3c0c7 Create TransformNodes for SpatiallyNestables, the mouse, and MyAvatar head 2018-08-24 15:47:52 -07:00
SamGondelman
283c0c0311 s i m p l i f y 2018-08-23 11:47:56 -07:00
SamGondelman
c474f38860 force coarse picking, sort avatars 2018-08-22 18:07:16 -07:00
SamGondelman
5c0b12abf6 ordered ray/parabola intersection code 2018-08-22 16:29:17 -07:00
sabrina-shanman
9c36519e87 Fix cross-platform build error in ColliisonPick.cpp (binding to temporary) 2018-08-20 12:42:23 -07:00
sabrina-shanman
813290aad8 Do filtering with copy vector in CollisionPick::filterIntersections 2018-08-20 11:23:22 -07:00
sabrina-shanman
444224a11a Fix ignoring elements in CollisionPick::filterIntersections 2018-08-20 11:07:52 -07:00
Sam Gondelman
f0986a7f5a Merge branch 'master' into scriptvec3 2018-08-20 10:56:45 -07:00
sabrina-shanman
74f482b361 Revert "Convert entityIntersections/avatarIntersections lists in"
This reverts commit aa4a6b2eae.
2018-08-20 10:15:28 -07:00
sabrina-shanman
2a182a0033 Revert "Do not create a reference to a shared pointer in CollisionPick.cpp"
This reverts commit 130cb70a52.
2018-08-20 09:24:07 -07:00
sabrina-shanman
51940898d9 Do not implicitly convert size of vector to bool in CollisionPick::filterIntersections 2018-08-17 16:23:31 -07:00
sabrina-shanman
6081d63f53 Use std::vector::insert for merging CollisionPickResults 2018-08-17 14:23:02 -07:00
sabrina-shanman
e3c39020dc Exit early from CollisionPick::filterIntersections on empty blacklist 2018-08-17 14:23:02 -07:00
sabrina-shanman
2933038d04 Rename PhysicsEngine::getCollidingInRegion to contactTest and change it to accept collision flags instead of a MotionState enum 2018-08-17 14:22:42 -07:00
David Rowe
7e46a99400 Merge branch 'master' into M17217-b 2018-08-17 10:35:52 +12:00
sabrina-shanman
130cb70a52 Do not create a reference to a shared pointer in CollisionPick.cpp 2018-08-16 10:39:13 -07:00
sabrina-shanman
67ff05739a Take advantage of CollisionPickResult intersections being shared pointers to avoid copying on result comparison 2018-08-16 09:00:30 -07:00
sabrina-shanman
aa4a6b2eae Convert entityIntersections/avatarIntersections lists in
CollisionPickResult to shared pointers
2018-08-16 08:59:29 -07:00
sabrina-shanman
61d12923ea Do not copy list of collision pick contact points when filtering them 2018-08-15 11:12:50 -07:00
sabrina-shanman
e5cb078133 Merge branch 'master' of github.com:highfidelity/hifi into safe-teleport-target 2018-08-13 14:51:37 -07:00
sabrina-shanman
e5e1a72598 Use 'orientation' for Collision Pick API, not 'rotation' 2018-08-10 10:52:21 -07:00
sabrina-shanman
660178e5bb Remove 'plane' from list of supported Collision Pick shapeTypes, since it turns out ShapeFactory does not support it 2018-08-09 17:41:46 -07:00
sabrina-shanman
4c367fa443 Fix outdated explanation of when CollisionPickResult.intersects is true 2018-08-09 17:26:54 -07:00
sabrina-shanman
b32b811fff Move up buildObjectIntersectionsMap in CollisionPick.cpp 2018-08-09 17:24:09 -07:00
sabrina-shanman
26ae688d59 Refactor CollisionPickResult::toVariantMap 2018-08-09 17:11:32 -07:00
sabrina-shanman
c5e9f02372 Finalize Collision Pick API naming convention for intersectingObjects 2018-08-09 16:59:23 -07:00
David Rowe
a08bcd325d Merge branch 'master' into M17217-b
# Conflicts:
#	interface/src/scripting/HMDScriptingInterface.h
2018-08-10 11:25:39 +12:00
sabrina-shanman
4f077080b0 Change API naming for intersectingObjects in CollisionPickResult and update docs 2018-08-09 15:29:21 -07:00
sabrina-shanman
4d31863484 Fix missing jsdoc note for getPrevPickResult on existence of ParabolaPickResult 2018-08-09 15:08:27 -07:00
John Conklin II
6481aea2f4
Merge pull request #13715 from SamGondelman/parabolic
Enable parabolic teleport
2018-08-09 13:12:17 -07:00
sabrina-shanman
5b6916177c Add support for rotation as CollisionRegion parameter and make it the default 2018-08-08 10:47:13 -07:00
sabrina-shanman
22142a84b8 Remove JS documentation on 'loaded' parameter referencing unsupported model collision pick 2018-08-08 10:42:26 -07:00
sabrina-shanman
69812d04ae Reduce scope of CollisionPick shapeType to primitive shapes 2018-08-07 17:42:38 -07:00
David Rowe
96767c1103 Merge branch 'master' into M17217-b
# Conflicts:
#	plugins/openvr/src/OpenVrDisplayPlugin.cpp
2018-08-08 10:43:58 +12:00
David Rowe
f65b1a26ae Merge remote-tracking branch 'SamGondelman/parabolic2' into M17217-b 2018-08-08 10:06:43 +12:00
sabrina-shanman
577379dcb4 Do not re-calculate intersects flag in CollisionPickResult copy constructor 2018-08-06 10:53:03 -07:00
sabrina-shanman
c40db2e8f0 Add pick filtering to CollisionPick 2018-08-06 10:50:23 -07:00
SamGondelman
6b7f5b662e jsdoc fixes 2018-08-06 09:41:05 -07:00
sabrina-shanman
658ef4e9e6 Remove redundant namespace qualifier on CollisionPickResult::toVariantMap() in header file 2018-08-06 08:54:55 -07:00
David Rowe
c0dc70c076 Parent play area to teleport target unless underneath avatar 2018-08-04 17:26:18 +12:00
sabrina-shanman
870940b3a0 Merge branch 'master' into safe-teleport-target 2018-08-03 18:14:43 -07:00
sabrina-shanman
a460cfac29 Do not store physics engine pointer in PickScriptingInterface 2018-08-03 17:55:54 -07:00
sabrina-shanman
c6b24496c8 Add 'loaded' parameter to CollisionPickResult to indicate if the collision region is loaded 2018-08-03 17:56:01 -07:00
sabrina-shanman
e7766039b9 Pass pick variant map into unsuccessful/default collision results 2018-08-03 17:55:54 -07:00
sabrina-shanman
cf34a2cffd Do not const cast CollisionRegion 2018-08-03 17:55:54 -07:00
SamGondelman
f1ca0411c0 drawInFront parabolas 2018-08-03 16:43:13 -07:00
Brad Davis
6ed7512112 Fix build failures after parabola merge 2018-08-03 14:58:12 -07:00
David Rowe
ee605e5f21 Merge remote-tracking branch 'SamGondelman/parabolic' into M17217-a
# Conflicts:
#	scripts/system/controllers/controllerModules/teleport.js
2018-08-04 09:42:11 +12:00
SamGondelman
e9d1423c61 jsdoc fixes 2018-08-03 13:37:41 -07:00
David Rowe
5be945715f Include the teleporter target in the occlusion 2018-08-03 08:22:36 +12:00
sabrina-shanman
a06f85faa8 Consolidate intersection information in CollisionPickResult to one list, and move variant conversion code to source file 2018-08-02 11:27:04 -07:00
SamGondelman
a8c408abe8 correct render bounds for parabolas 2018-08-01 11:09:46 -07:00
SamGondelman
7c8d080050 Merge remote-tracking branch 'upstream/master' into scriptvec3 2018-07-31 14:04:23 -07:00
SamGondelman
2ca217eb4a merge with master 2018-07-30 17:43:15 -07:00
sabrina-shanman
de7d974336 Re-name EntityIntersection to ContactTestResult and remove its default constructor, plus update related variables 2018-07-30 16:45:31 -07:00
sabrina-shanman
fadc094a01 Do not work with raw pointer in CollisionPickResult::compareAndProcessNewResult 2018-07-30 15:10:21 -07:00
sabrina-shanman
41a8deb575 Fix Linux build warnings 2018-07-30 14:51:04 -07:00
SamGondelman
3d4639bfdd CR 2018-07-27 16:36:22 -07:00
SamGondelman
1ef54b2fe6 back to ray teleport 2018-07-27 14:58:56 -07:00
SamGondelman
f5364f752f fix scaling 2018-07-26 18:01:24 -07:00
SamGondelman
6a52b7b8f3 CR improvements 2018-07-26 12:15:12 -07:00
sabrina-shanman
de6d30e160 Add JS docs for CollisionPick API 2018-07-25 16:49:41 -07:00
SamGondelman
9b41cb5554 improve model picking performance, scale parabola v/a with avatar, improve followNormal behavior, turn off followNormal on teleport, remove 1 m no teleport spot 2018-07-25 15:19:25 -07:00
sabrina-shanman
8f993e4740 Change meaning/naming of collision points in CollisionPick API to better match spec and be more clear 2018-07-25 11:45:13 -07:00
sabrina-shanman
083991dc1a Fix CollisionPick not detecting when collision points for collision models are loaded 2018-07-24 15:50:18 -07:00
sabrina-shanman
5ec277e458 Move bullet references in collision pick API to PhysicsEngine 2018-07-24 15:47:49 -07:00
SamGondelman
fbcddf1445 test gradual normal interpolation 2018-07-24 14:15:49 -07:00
SamGondelman
318ef907b8 parabola/polyvox, fixing some bugs 2018-07-24 10:08:35 -07:00
sabrina-shanman
a1202d9bd5 Do not use dynamic cast with bullet objects, and add missing template syntax 2018-07-24 09:07:18 -07:00
sabrina-shanman
a3560d1a1b Remove wrong template from RigidBodyResultCallback function definitions 2018-07-23 13:47:02 -07:00
sabrina-shanman
66f355e5ba Move bullet callbacks for collision picks to source file 2018-07-23 13:33:16 -07:00
sabrina-shanman
ca30bb59af Remove unused Bullet callbacks for collision picking 2018-07-23 13:25:09 -07:00
sabrina-shanman
7f743de150 Fix CollisionRegion serialization/deserialization issues and CollisionPick implicit cast warning 2018-07-23 12:59:23 -07:00