View Issue Details

IDProjectCategoryView StatusLast Update
0031448CommunityOCCT:Visualizationpublic2021-08-24 14:21
ReporterVico Liang Assigned Tokgv  
PrioritynormalSeverityminor 
Status newResolutionopen 
Platformios 
Product Version7.3.0 
Target Version7.7.0 
Summary0031448: AIS_Manipulator doesn't work on ios
DescriptionAIS_Manipulator can't be selected or operated on IOS platform. Its presetation does not match its selection.It seems the selection sensitives are two times offset from the presentaion.Please see the picture attached.

It can be reproduced with simulator or real device.

The build is from source of occt main branch with xcode 10.3, cmake.
TagsNo tags attached.
Test case number

Attached Files

  • ais-manipulator-selection-issue.png (12,320 bytes)
  • Cocoa_Window.mm (18,636 bytes)

Activities

Vico Liang

2020-03-20 06:35

developer  

ais-manipulator-selection-issue.png (12,320 bytes)

Vico Liang

2020-03-20 08:23

developer   ~0091063

Last edited: 2020-03-20 10:40

This can be generallized to Transformation Persistence selection issue.I checked that this issue just occur on ios, it works on Mac, windows, Android.

kgv

2020-03-20 12:15

developer   ~0091078

> it works on Mac
Are you sure? Have you tested this on Retina display?

Vico Liang

2020-03-20 12:44

developer   ~0091079

>Are you sure? Have you tested this on Retina display?
I'm sure that it works on Mac Virtual Machine (WMWare Mac OS 10.14.6) hosted on Windows 10.

kgv

2020-03-22 20:38

developer   ~0091177

Current implementation of Transformation Persistence knows nothing about virtual resolution used in macOS/iOS APIs. So that when actual rendering resolution is twice/trice larger than virtual resolution of mouse movement events, they do mismatch. This is not an issue for picking normal objects, as their sizes are independent from rendering resolution.

To workaround this limitation, you have to provide (convert) mouse movement events to AIS_InteractiveContext::MoveTo() in real rendering resolution, and implement Aspect_Window::Size() returning rendering resolution (Cocoa_Window currently does not).

Vico Liang

2020-03-23 04:16

developer   ~0091183

Thanks for looking into this issue.It's awsome that you find the root cause.Hope this get fixed soon.

Vico Liang

2020-03-25 12:45

developer  

Cocoa_Window.mm (18,636 bytes)

Vico Liang

2020-03-25 12:49

developer   ~0091237

I have uploaded the update file Cocoa_Window.mm. The function Cocoa_Window::Size() and Cocoa_Window::Position() update accordingly.Is there any other codes need to be updated?

Issue History

Date Modified Username Field Change
2020-03-20 06:35 Vico Liang New Issue
2020-03-20 06:35 Vico Liang Assigned To => kgv
2020-03-20 06:35 Vico Liang File Added: ais-manipulator-selection-issue.png
2020-03-20 08:23 Vico Liang Note Added: 0091063
2020-03-20 10:39 Vico Liang Note Edited: 0091063
2020-03-20 10:40 Vico Liang Note Edited: 0091063
2020-03-20 12:15 kgv Note Added: 0091078
2020-03-20 12:44 Vico Liang Note Added: 0091079
2020-03-22 20:38 kgv Note Added: 0091177
2020-03-23 04:16 Vico Liang Note Added: 0091183
2020-03-25 12:45 Vico Liang File Added: Cocoa_Window.mm
2020-03-25 12:49 Vico Liang Note Added: 0091237
2020-08-28 17:24 kgv Severity block => minor
2020-08-28 17:24 kgv Product Version => 7.3.0
2020-08-28 17:24 kgv Target Version 7.5.0 => 7.6.0
2021-08-24 14:21 kgv Target Version 7.6.0 => 7.7.0