View Issue Details

IDProjectCategoryView StatusLast Update
0000869SketcherBugpublic2012-11-15 09:19
Reporterjonasthomas Assigned To 
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Fixed in Version0.13 
Summary0000869: Mousepointer does not track to line endpoint in sketches attached to copied or imported sketches.
DescriptionThis 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.
TagsNo tags attached.
FreeCAD Information

Activities

jonasthomas

2012-11-04 12:44

reporter   ~0002488

Last edited: 2012-11-04 15:57

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.

Jriegel

2012-11-13 20:41

administrator   ~0002512

I don't think I understand what thats error about!?

2012-11-14 01:47

 

point2doesnottrack.png (141,295 bytes)   
point2doesnottrack.png (141,295 bytes)   

jonasthomas

2012-11-14 01:50

reporter   ~0002514

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.

wmayer

2012-11-14 11:11

administrator   ~0002515

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.

Jriegel

2012-11-14 17:58

administrator   ~0002519

Now I see! Thanks for the clarification

Jriegel

2012-11-14 18:16

administrator   ~0002520

There is a problem in void ViewProviderSketch::getCoordsOnSketchPlane()

wmayer

2012-11-15 09:17

administrator   ~0002523

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.

wmayer

2012-11-15 09:19

administrator   ~0002524

git show f03b2e8

Issue History

Date Modified Username Field Change
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
2012-11-13 20:41 Jriegel Note Added: 0002512
2012-11-13 20:47 Jriegel 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
2012-11-14 17:58 Jriegel Note Added: 0002519
2012-11-14 17:58 Jriegel Status confirmed => acknowledged
2012-11-14 18:16 Jriegel 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