Commit Graph

4 Commits

Author SHA1 Message Date
Alexandru Popovici 3932a4bb93 Occlusion queries no longer report the ocluding speckle object, only it's id. This avoids walking the tree to fetch the object itself, which is unused in 99% of uses cases for occlusion testing. If the users need the object itself, they can still fetch it via the viewer API using it's id. This improves total occlusion query speed by 30-100x (#1438) 2023-03-06 17:33:34 +02:00
Alexandru Popovici c6694c2511 query now returns the proper query result type. Added return type to the Utils functions (#1342) 2023-01-26 14:15:24 +02:00
Alexandru Popovici 071e6382ca Queries update (#1341)
* Separated Point queries from Intersection queries. Defined query result types for both

* Updated exports

* Update Utils

* Updated frontend after the queries updates

* Allowed the objects field in the IntersectionQueryResult to be null
2023-01-26 12:12:09 +02:00
Alexandru Popovici 96b3a4923b Viewer queries (#1331)
* Added the concept of queries with a minimalistic implementation. Implemented PointQuerySolver which handles occlusion, projection and unprojection of points

* Added and tested the 'Pick' PointQuery operations which works just like an onclick viewer event

* Small fixes and changes to query and point query.

* Better approach on the occlusion query solving by using our universal scene intersection routine

* Tested and fixed occlusion testing for points

* Added optional custom width and height to NDC<->Screen helper functions

* Integrated queries in the frontend. Projection queries replace projecting by hand, and also added occlusion queries as a demonstration

* Added refactor comment
2023-01-20 18:59:01 +02:00