-
Notifications
You must be signed in to change notification settings - Fork 634
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
Turn off hit testing visibility for render package geometry created for DM manipulator #11282
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aparajit-pratap
changed the title
Turn off hit testing visibility for render packages created for DM manipulator
Turn off hit testing visibility for render package geometry created for DM manipulator
Nov 26, 2020
mjkkirschner
approved these changes
Nov 27, 2020
I'm guessing this is not easily testable? |
Yes, we don't have a good way to test direct manipulation behavior currently. |
aparajit-pratap
added a commit
to aparajit-pratap/Dynamo
that referenced
this pull request
Nov 30, 2020
8 tasks
mjkkirschner
pushed a commit
to SHKnudsen/Dynamo
that referenced
this pull request
Dec 2, 2020
* Fix for regression in multi-output node preview (DynamoDS#11266) * fix for multi-output node preview regression * update tests * add test * revert unwanted changes * update test * Life cycle refactoring: Get rid of singleton. Let the model create and own the MarkdownHandler on first use. * Fix crash in some document browser tests * Properly dispose all DocumentBrowserViewExtension objects * Revert "Fix crash in some document browser tests" This reverts commit ab146f9. * Display input port type specific default suggestions only (DynamoDS#11268) * input port type specific default suggestions * test fix * Test fixes * Use InTestMode flag * Delete empty lines * turn off hit testing visibility for DM related render packages (DynamoDS#11282) * Apply syntax highlighting to multi-line strings (DynamoDS#11289) * Also sanitize node documentation html * Save/Load view extension size and location (DynamoDS#11278) Information of where an extension control was last shown is saved and retrieved as preference settings. These are actually not directly visible for the user and are updating automatically, just like the main Dynamo window size. These settings are used when showing the extension control, to restore it to how it used to be before closing it. The available information for each view extension is: 1. How it is shown. For now this can be either as a floating window or docked to the right-side panel. 2. In case it is shown as a floating window, the following information about the window is saved: - Location by Top/Left coordinates - Size by Width/Height - Whether the window is maximized * add revit dlls to assembly conflict checker ignore list (DynamoDS#11285) * Update StartupUtils.cs Co-authored-by: pinzart <[email protected]> * Fix sanitizing log warnings * Node AutoComplete suggestions sorted alphabetically within the same group (DynamoDS#11280) * add/update tests * Address review comments * Add ILMerge * Fix typo * Fix mono build * Revert "Fix mono build" This reverts commit 9904525. * Refine mono solution * Remove task condition * Mono build fix * Add Readme Co-authored-by: aparajit-pratap <[email protected]> Co-authored-by: Ashish Aggarwal <[email protected]> Co-authored-by: Laurence Elsdon <[email protected]> Co-authored-by: Martin Misol Monzo <[email protected]> Co-authored-by: pinzart90 <[email protected]> Co-authored-by: pinzart <[email protected]>
sm6srw
added a commit
that referenced
this pull request
Dec 2, 2020
* add packageDocManager to handle package documentation links * new viewModelEventArgs to send node annotation data to doc browser * Handle node annotation in doc browser * support custom NodeModels + fix watcher event bug * Update NodeAnnotationNotFound.md * Update NodeAnnotationNotFound.md * Comment updates * Update AssemblySharedInfo.cs * Update src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelEventArgs.cs * addtional comment updates + clean up * clean up packageDocManager * Update DocumentationBrowserViewModel.cs * handle overloads + fix hot reload bug * use HtmlSanitizer to clean potential dangerous content from markdown files * move PackageDocumentationManager to DocumentationBrowser * update syntax highlighting + markdownStyling updates * comment updates * add Markdig to License files * Change GetPackageName to GetMainCategory * update markdig + htmlsanitizer version * fix failing tests + add new node documentaion tests * fix broken test * update link to wiki * Update DocumentationBrowserViewExtension.cs * Add MD2HTML Tool * First pass - singleton version * Revert "Add MD2HTML Tool" This reverts commit 71509da. * Revert "First pass - singleton version" This reverts commit bbefc36. * fix test * add doc folder to PackageDirectoryBuilder (#10) * add doc folder to PackageDirectoryBuilder * update tests * comment update * Use a CLI tool for converting MD to HTML and for Sanitizing HTML as a way to not add any new 3rd party dependencies to Dynamo (#11) * Revert "Revert "Add MD2HTML Tool"" This reverts commit 99b42f2. * Revert "Revert "First pass - singleton version"" This reverts commit f655c39. * Implement HTML Sanitizer * Remove unneeded dependecies from the doc extension * Cleanup naming * More naming cleanups * Rename files * Rename folder * Add comments * Use literal strings * Hardening wrapper class * Simplify API * Make wrapper API internal * Add Tools project to Mono solution * Fix directory name (case) * Add missing internal * Use IDispose pattern * Fix literal string * Fix cross platform issues * Use CS.props file * Undo change to AssemblySharedInfo.cs * Use shared assembly info * Add more docs * Add ndesk support and implement help option * Rename class * Add missing change * Remove the use of ref * Fix typo * Fix toolpath and use nameof() * Improve error handling * Move strings to resources * Enhance error messages * Merge master (#12) * Fix sorting for number keys in List.SortByKey (#11241) * fix sorting for number keys in List.SortByKey * add unit test * Crash when accessing static hidden methods from zero touch nodes (#11238) * handle hidden static methods from zero touch nodes * add images (#11243) * Revert "Adding copy of missing file from LibG nuget package (#11218)" (#11254) This reverts commit a71b5c8. * Revert "Revert "Adding copy of missing file from LibG nuget package (#11218)" (#11254)" (#11255) This reverts commit 257ac14. * Undock/redock extension tabs to windows (#11246) * Somewhat working version * Pretty much working version * Finishing touches and test * Cleanup * Prevent both window and tab * Improve method name and comment * Forgot to include this in last commit * add analytics to extensions load event (#11258) * Revert Project Reference Changes (#11256) * Initial Commit * fix mono build * Update to latest libG nuget version * Cleanup entries VS Studio failed to update * Fix Mono build * Add the private flag back (modified by VS Studio) * Regressions * Add back missing resource * Change DefaultValue setter to public (#11251) * update load asm binaries from registry logic (#11261) * update load asm binaries from registry * Add coverage for docking (#11262) * Adding a public API on the View extension that gets triggered when the view extension is closed. (#11260) * Adding a public API on the View extension that gets triggered when the view extension is closed. * Update variable name * changing the name to ViewExtensionBaseClass * Addressing some comments. * Adding unit test. * Changing the name to Closed() * Some more comments. * Adding an additional test * Adding checks for the Menu items before setting its value. * Update Style (#11263) * CustomNodes that replicate do not access trace correctly. (#11244) * add failing test * this works, but seems like cheating. more tests * new tests, one failing, needs discussion * fix test - still fails but as expected * tests all pass with this change - but looking for better alternatives * add test use new field - cant find a better way currently add comments * revert internal update test * reset guid map before each test * failing test * reset * whitespace * Localize buttons (#11265) * update version num and tt file (#11269) * Fix merge error * Fix merge error * Revert "Fix merge error" This reverts commit 0a21ca4. Co-authored-by: aparajit-pratap <[email protected]> Co-authored-by: pinzart90 <[email protected]> Co-authored-by: Sylvester Knudsen <[email protected]> Co-authored-by: Aaron (Qilong) <[email protected]> Co-authored-by: Michael Kirschner <[email protected]> Co-authored-by: Martin Misol Monzo <[email protected]> Co-authored-by: Ashish Aggarwal <[email protected]> Co-authored-by: reddyashish <[email protected]> * Extract more strings (#13) * Fix failing tests (#14) * Fix failing tests * Revert "Fix failing tests" This reverts commit 824f785. * Fix failing tests * Properly dispose all string writers * More failing test fixes (#15) * Fix for regression in multi-output node preview (#11266) * fix for multi-output node preview regression * update tests * add test * revert unwanted changes * update test * Life cycle refactoring: Get rid of singleton. Let the model create and own the MarkdownHandler on first use. * Fix crash in some document browser tests * Properly dispose all DocumentBrowserViewExtension objects * Revert "Fix crash in some document browser tests" This reverts commit ab146f9. * Display input port type specific default suggestions only (#11268) * input port type specific default suggestions * test fix * Test fixes * Use InTestMode flag * Delete empty lines * turn off hit testing visibility for DM related render packages (#11282) * Apply syntax highlighting to multi-line strings (#11289) * Also sanitize node documentation html * Save/Load view extension size and location (#11278) Information of where an extension control was last shown is saved and retrieved as preference settings. These are actually not directly visible for the user and are updating automatically, just like the main Dynamo window size. These settings are used when showing the extension control, to restore it to how it used to be before closing it. The available information for each view extension is: 1. How it is shown. For now this can be either as a floating window or docked to the right-side panel. 2. In case it is shown as a floating window, the following information about the window is saved: - Location by Top/Left coordinates - Size by Width/Height - Whether the window is maximized * add revit dlls to assembly conflict checker ignore list (#11285) * Update StartupUtils.cs Co-authored-by: pinzart <[email protected]> * Fix sanitizing log warnings * Node AutoComplete suggestions sorted alphabetically within the same group (#11280) * add/update tests * Address review comments * Add ILMerge * Fix typo * Fix mono build * Revert "Fix mono build" This reverts commit 9904525. * Refine mono solution * Remove task condition * Mono build fix * Add Readme Co-authored-by: aparajit-pratap <[email protected]> Co-authored-by: Ashish Aggarwal <[email protected]> Co-authored-by: Laurence Elsdon <[email protected]> Co-authored-by: Martin Misol Monzo <[email protected]> Co-authored-by: pinzart90 <[email protected]> Co-authored-by: pinzart <[email protected]> Co-authored-by: Radu Gidei <[email protected]> Co-authored-by: Jorgen Dahl <[email protected]> Co-authored-by: Jorgen Dahl <[email protected]> Co-authored-by: aparajit-pratap <[email protected]> Co-authored-by: pinzart90 <[email protected]> Co-authored-by: Aaron (Qilong) <[email protected]> Co-authored-by: Michael Kirschner <[email protected]> Co-authored-by: Martin Misol Monzo <[email protected]> Co-authored-by: Ashish Aggarwal <[email protected]> Co-authored-by: reddyashish <[email protected]> Co-authored-by: Laurence Elsdon <[email protected]> Co-authored-by: pinzart <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
https://jira.autodesk.com/browse/DYN-3219
TL;DR:
Hit testing was turned on for Helix line and mesh geometry during the helix updates that went into release 2.7. This interfered with the custom hit testing logic implemented in the DirectManipulation extension for manipulator geometry. This has therefore been fixed by disabling the hit test visibility specifically for manipulator geometry.
After enabling hit test visibility for mesh and line geometry in Helix, any mouse click events were being handled by
HelixWatch3DViewModel.HandleViewClick
. This method detects if there are any hits on scene geometry with the mouse pointer. If there are, then it finds the corresponding node that created that geometry and selects it. Selection of aPoint.ByCoordinates
node automatically draws a manipulator gizmo at the location of the point it creates.Previously this method wouldn't return any hits, and therefore not find any nodes. However, after enabling hit-testing, this method began to find hits and tried to match the hit geometry with workspace nodes. This logic was never intended to work with manipulator geometry, and due to the current logic, the matched node returned would always be the first node added to the workspace. In the case where there are two
Point.ByCoordinate
nodes, for example, clicking on the second manipulator would therefore result in the first node being selected instead, which is why the manipulator gizmo would be drawn (appear to jump) on the first node instead of staying with the second.This has been fixed by simply disabling hit test visibility just for manipulator geometry as hit testing on manipulators is
implemented separately in and specifically for the DirectManipulation view extension (see
NodeManipulator.MouseDown
).Declarations
Check these if you believe they are true
*.resx
filesFYIs
@QilongTang