Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix requestElementGraphics #3748

Merged
merged 6 commits into from
Jun 6, 2022
Merged

Fix requestElementGraphics #3748

merged 6 commits into from
Jun 6, 2022

Conversation

pmconne
Copy link
Member

@pmconne pmconne commented Jun 6, 2022

As described in #3696, 3.2.0 introduced support for unquantized vertex tables and changed the implementation of requestElementGraphics to produce unquantized vertices by default, with no option to produce quantized vertices instead.
A pre-3.2.0 frontend communicating with a 3.2.0 backend (like the general-purpose backend) will receive unquantized vertices, which it cannot understand.
This PR addresses that problem, applying the fix retroactively to 3.2.0 (and earlier) frontends as long as they are communicating with a post-3.2.0 backend (e.g., general-purpose backend once this fix is deployed in 3.2.1).
The fix: add an optional quantizePositions: boolean to GraphicsRequestProps. pre-3.2.1 frontends will not know of the existence of this flag, so it will be undefined in their requests. 3.2.1+ frontends will set it to false if it is undefined. The backend will default it to true if it is undefined.
So 3.2.0 and earlier frontends always get quantized vertices by default. 3.2.1 and later frontends always get unquantized vertices by default, but can explicitly request quantized vertices if they want to.

Needs to be backported to release/3.2.x.
Corresponding native PR.

@pmconne pmconne requested review from a team, kabentley and bbastings as code owners June 6, 2022 19:52
@pmconne pmconne merged commit 2a88eae into imodel02 Jun 6, 2022
@pmconne pmconne deleted the pmc/fix-elem-gfx branch June 6, 2022 21:15
pmconne added a commit that referenced this pull request Jun 21, 2022
* test native fixes for roundtripping placement when no geometry is present (#3642)

* move up equalWithFpTolerance and add test for placement geometry json roundtrip

* remove dead imports from development

* rush change

Co-authored-by: Michael Belousov <MichaelBelousov@users.noreply.github.com>

* close transformer state dumps even if overrides threw an error (#3612) (#3656)

* close transformer state dumps even if producing them threw an error

Co-authored-by: Michael Belousov <MichaelBelousov@users.noreply.github.com>

Co-authored-by: Michael Belousov <MichaelBelousov@users.noreply.github.com>

* fix failing test due to (previous) rounding error in queryModelRange (#3675)

* UI: Optimize creating subjects hierarchy in Models Tree (#3671)

* Bump tile format version (#3732)

* Add support for CloudSqlite (#3747)

* work on cloud containers

* make workspace containers use CloudSqlite

* wip

* workspace editor with new CloudSqlite

* support CloudContainers for opening SQLiteDbs

* add tests for CloudSqlite

* test anonymous access

* add tests for using CloudCache guid for write locks

* work on download checkpoint

* more download testing

* allow creating and opening SQLiteDbs with params

* cloud workspace tests

* rework resolveContainerName

* add WorkspaceDb versioning

* fix tests

* lint errors

* enable checksums for block names

* add makeVersion command to WorkspaceEditor

* documentation cleanup

* documentation cleanup

* add --noPrompt for initializeWorkspace

* support "@" scripts

* fix package file

* cleanup

* don't allow writes to workspaceDbs unless they have been versioned in the current txn

* fix tests

* rename container.attach to container.connect

* fix tests

* add detach arg to disconnect

* separate detach and disconnect

* allow offline usage

* collate nocase for listDb

* add detach command to WorkpsaceEditor

* show "friendly" file sizes

* add version for testing cloud gcs

* renames for customuri api

* workspace settings

* checkForChanges is not async

* get tests working

* load extra gcs databases stored in iModel settings

* work on loading settings

* work on settings

* read all settings and schema files at startup

* fix tests

* old->newV2props, add test for daemon, start working on supporting v2checkpoint without daemon

* doc cleanup

* don't rename V2CheckpointAccessProps members

* fixes, Nick please review

* doc cleanup

* wip

* merge

* fix tests

* cleanup lint warnings

* Add some tests, more changes around cache / blockcache_dir

* doc

* Add two env variables, prefetchbeforeopen, prefetchafteropen for testing. add non null assertions to some failing tests

* wip

* lint errors

* fix tests

* validate settings against schema

* validate array entries

* validate setting schemas

* workspace documentation

* afds

* rename curl debugging option

* wip

* time prefetch

* make editor functions async

* workspaceEditor doc

* document @ scripts

* workspaceEditor doc

* @ script examples

* cleanup

* new sqlite code for prefetch

* prefetch testing

* cleanup

* add a PREFETCH_TIMe env variable

* make WorkspaceDb.prefetch return the prefetch object

* wip

* merge

* update @types/chai

* add prefetch_nrequests

* use parseSync for Yargs

* log time taken for prefetch always

* lint errors

* allow choosing nRequests for prefetch testing

* don't use env variables, switch to app settings to determine a prefetch

* improve prefetch logging

* lint errors

* cleanup

* allow importDb to supply extension for input file

* use CloudContainer.blockSize

* lint errors

* use https for gcs data url

Co-authored-by: nick.tessier <22119573+nick4598@users.noreply.github.com>

* Fix requestElementGraphics (#3748)

* Add tests for `computeSchemaChecksum` (#3733)

* Functionality to generate sha1 hash for schema xml

* consuming iModelHost

* Adding static function to the schema class

* Made the hash generation as separate functionality due to circular import issue

* removed unnecessary import

* function name updated with lint fixes

* Moving changes to IModelHost

* Documentation removed

* combined test

* line space added back

* changelogs added

* Presentation: Avoid counting target instances when calling getContentDescriptor RPC operation (#3816)

* how about we avoid running rush update on imodel02 branch.

* fix up core-backend

* fix CheckpointManager test.

* Delete core-transformer's HubMock

Temporarily comment out TileCache tests.

* unused imports.

* fix TileCache.test.ts merge

* extract-api; doc TODOs

* lint

* invalid doc links.

* Fix presentation-backend test

* remove unncessary dependencies from map-layers-auth

* re-remove merge-restored removed deepEqualWithFpTolerance impl

* Lock down ts-node to 10.8.0 for now because istanbuljs/nyc#1473

* fix slash direction

* Lock superagent down to 7.1.3 because 7.1.6 has core-full-stack-test integration test failures in electron.

* String.replaceAll no existe.

* remove unnecessary pretest script that triggers an nyc bug

* fix test errors

* extract-api, lint

* remove temporary test setting for gcs

* fix lint error

Co-authored-by: Michael Belousov <mike.belousov@bentley.com>
Co-authored-by: Michael Belousov <MichaelBelousov@users.noreply.github.com>
Co-authored-by: NancyMcCallB <45079789+NancyMcCallB@users.noreply.github.com>
Co-authored-by: imodeljs-admin <38288322+imodeljs-admin@users.noreply.github.com>
Co-authored-by: Robert Lukasonok <70327485+roluk@users.noreply.github.com>
Co-authored-by: Caleb Shafer <31107829+calebmshafer@users.noreply.github.com>
Co-authored-by: Arun George <aruniverse@users.noreply.github.com>
Co-authored-by: johnnyd710 <19596966+johnnyd710@users.noreply.github.com>
Co-authored-by: Bill Steinbock <65047615+bsteinbk@users.noreply.github.com>
Co-authored-by: Mark Schlosser <47000437+markschlosseratbentley@users.noreply.github.com>
Co-authored-by: Michel D'Astous <mdastous-bentley@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: bbastings <65233531+bbastings@users.noreply.github.com>
Co-authored-by: Arun George <11051042+aruniverse@users.noreply.github.com>
Co-authored-by: kckst8 <6283674+kckst8@users.noreply.github.com>
Co-authored-by: AlainRobertAtBentley <73677355+AlainRobertAtBentley@users.noreply.github.com>
Co-authored-by: Alina Paliulionytė <67429235+Alina657@users.noreply.github.com>
Co-authored-by: Alina Paliulionyte <Alina657@users.noreply.github.com>
Co-authored-by: Daniel Toby <41296254+DanielToby@users.noreply.github.com>
Co-authored-by: kabentley <33296803+kabentley@users.noreply.github.com>
Co-authored-by: Grigas <35135765+grigasp@users.noreply.github.com>
Co-authored-by: nick.tessier <22119573+nick4598@users.noreply.github.com>
Co-authored-by: naveedkhan8067 <38525837+naveedkhan8067@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants