View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000869||Sketcher||Bug||public||2012-11-04 12:36||2012-11-15 09:19|
|Fixed in Version||0.13|
|Summary||0000869: Mousepointer does not track to line endpoint in sketches attached to copied or imported sketches.|
|Description||This has occurred with an imported iges file as well as object copy-pasted from another freecad project.|
Select face to create sketch and create sketch (behaviour appears normal)
Create an edge linked to a external geometry (behaviour appears normal)
During sketching the endpoints of lines are not tracking to the mousepointer.
|Tags||No tags attached.|
If the object is deleted, scaling returns to normal within the sketcher.
The mousepointer/endpoint error seems to multiply the further one is away from the object.
If the object is made invisible,scaling returns to normal. If the object is made visible again the scaling problem returns.
This is related to perspective mode. If the object is in orthographic projection this is a non issue.
|I don't think I understand what thats error about!?|
||I added a screen shot showing the issue. The issues occurs in perspective mode. The mouse pointer is not tracking to the endpoint of the polyline as it is being drawn. Does this make sense now.|
The point is that for the transformation from 2d into 3d coordinates (on the sketch plane) we assume to have an orthographic projection.
But I wonder whether it makes any sense to try to sketch in perspective mode at all because there parallelism or orthogonality is lost. You only see the symbols that e.g. two lines are parallel or orthogonal but you don't see this visually.
BTW, you can check this quite easily:
* Create a new document & sketch
* Switch to perspective mode
* Rotate the view somewhat so that the sketch plane is not parallel to the focal plane (the monitor)
* Now create a rectangle and move the mouse
You'll see that the corner is not at the cursor position.
|Now I see! Thanks for the clarification|
|There is a problem in void ViewProviderSketch::getCoordsOnSketchPlane()|
||No, getCoordsOnSketchPlane() is correct but the error is to use View3DInventorViewer::getPointOnScreen() and View3DInventorViewer::getViewDirection() to get the line which we intersect with the sketch plane. For orthographic projection this is correct but for perspective projection we should get a line which is NOT parallel to viewing direction. The line what we need is the projection of the cursor position using the view volume.|
||git show f03b2e8|
|2012-11-04 12:36||jonasthomas||New Issue|
|2012-11-04 12:44||jonasthomas||Note Added: 0002488|
|2012-11-04 13:00||jonasthomas||Note Edited: 0002488|
|2012-11-04 15:57||jonasthomas||Note Edited: 0002488|
||Note Added: 0002512|
||Status||new => feedback|
|2012-11-14 01:47||jonasthomas||File Added: point2doesnottrack.png|
|2012-11-14 01:50||jonasthomas||Note Added: 0002514|
|2012-11-14 11:11||wmayer||Note Added: 0002515|
|2012-11-14 11:28||wmayer||Status||feedback => confirmed|
||Note Added: 0002519|
||Status||confirmed => acknowledged|
||Note Added: 0002520|
|2012-11-15 09:17||wmayer||Note Added: 0002523|
|2012-11-15 09:19||wmayer||Note Added: 0002524|
|2012-11-15 09:19||wmayer||Status||acknowledged => closed|
|2012-11-15 09:19||wmayer||Resolution||open => fixed|
|2012-11-15 09:19||wmayer||Fixed in Version||=> 0.13|