[vtk-developers] vtkChartXY lines not visible when using logarithmic x axis

Hagen Mölle h.moelle at googlemail.com
Tue Apr 25 10:16:43 EDT 2017


Hi guys,

has any progress been made regarding this bug so far 
(https://gitlab.kitware.com/vtk/vtk/issues/16797)? It seems nobody is 
responsible for this bug any more. In the old mantis bug tracker Marcus 
was assigned to solve the bug. So far I remember two weeks afterwards 
reporting the bug all tickets were moved to new bug tracking system. The 
assignee field was left empty during this process.

Best,

Hagen

On 27.07.2016 17:47, Marcus D. Hanwell wrote:
> I can take a look when I return, I am currently out on travel and have
> limited connectivity.
>
> On Tue, Jul 26, 2016 at 5:56 AM, Mathieu Westphal
> <mathieu.westphal at kitware.com> wrote:
>> Hello
>>
>> I indeed reproduce the problem, I will submit a bug report and ping Marcus
>> to see if he knows what is going on.
>> http://www.paraview.org/Bug/view.php?id=16797
>>
>> Regards,
>>
>> Mathieu Westphal
>>
>> On Tue, Jul 26, 2016 at 11:19 AM, Hagen Mölle <h.moelle at googlemail.com>
>> wrote:
>>> Hi Andrew, Hi Mathieu,
>>>
>>> I can not see the line after it disappears. This might be a special
>>> feature of the open source radeon graphics driver under Linux.
>>>
>>> Just for completeness one can easily see the line thickness fluctuation by
>>> zooming into the scene just right before the line disappears. At this zoom
>>> level just drag the scene using the left mouse button and move the mouse
>>> around.
>>>
>>> In fact it would be very nice if this bug could be fixed at least when
>>> logarithmic x axis is enabled. Because when logarithmic x axis is enabled
>>> the error is visible after zooming in only a few steps.
>>>
>>> Hagen
>>>
>>>
>>> On 26.07.2016 10:57, Andrew Maclean wrote:
>>>
>>> Hi Hagen, Mathieu,
>>>
>>> I agree with you, if I zoom in when the logarithmic axis is disabled, the
>>> thick line vanishes, however if you look carefully there is a very faint
>>> thin line. It may be (2) as you outline below.
>>>
>>> Regards
>>>     Andrew
>>>
>>> Andrew Maclean
>>>
>>>
>>> On 26 Jul 2016 5:02 pm, "Hagen Mölle" <h.moelle at googlemail.com> wrote:
>>>> Hi Andrew, Hi Mathieu,
>>>>
>>>> That's exactly the behaviour I see. By the way I am using ATI/AMD video
>>>> cards in my Windows/Linux machine.
>>>>
>>>> !!!! UPDATE: The error also occurs when logarithmic x axis is not
>>>> enabled. But you have to zoom in a lot more. See attached pictures. I am
>>>> sorry for not realizing this earlier.
>>>>
>>>>
>>>> I am not that familiar with OpenGL. But I can imagine two things:
>>>>
>>>> (1) Line is clipped
>>>> (2) If shaders are used to draw the line thickness it might be a floating
>>>> point precision problem. Actually this could be the problem because the line
>>>> thickness starts fluctuating at some point of zoom level before it finally
>>>> disappears. See attached picture. The line thickness is about the half the
>>>> original line thickness.
>>>>
>>>>
>>>> I hope this helps to fix the bug. One might also contact Marcus D.
>>>> Hanwell. He is the developer who mainly implemented vtkCharts. I am not sure
>>>> if he is still responsible.
>>>>
>>>> Hagen
>>>>
>>>>
>>>> On 26.07.2016 01:52, Andrew Maclean wrote:
>>>>
>>>> Hi Hagen,
>>>>    I just tested your example and I get similar behaviou using an NVIDIA
>>>> Video card, OpenGL2,  VS2015 and the VTK Master.
>>>>
>>>> I can zoom in and, at some point the line disappears, but zooming out
>>>> immediately restores the line.
>>>>
>>>> It seeme to me that once a certain zoom level is reached the line is not
>>>> drawn, however zooming out restores it.
>>>>
>>>> Attached are two pngs showing the effect.When the line disappears it
>>>> should still be visible as the scales on the axes have only changed
>>>> slightly.
>>>>
>>>> Andrew
>>>>
>>>>> ---------- Forwarded message ----------
>>>>> From: "Hagen Mölle" <h.moelle at googlemail.com>
>>>>> To: vtk-developers at vtk.org
>>>>> Cc:
>>>>> Date: Mon, 25 Jul 2016 10:14:21 +0200
>>>>> Subject: [vtk-developers] vtkChartXY lines not visible when using
>>>>> logarithmic x axis
>>>>> Hi,
>>>>>
>>>>> Due to spam reasons the bug tracker's user login is disabled right now.
>>>>> One should send bug reports to the vtk's user mailing list, which I did
>>>>> twice. My bug report was totally ignored. That's why I send it here again.
>>>>> Hopefully someone can finally create a ticket in the bug tracker. Thanks.
>>>>>
>>>>> I want to report a bug for vtkChartXY. So I already send this Email two
>>>>> days ago to the vtkUsers mailing list without receiving any answer. The bug
>>>>> is not visible in the vtk bug tracker too. Thus I send the Email again.
>>>>>
>>>>> Bug environment:
>>>>> a) I am using VTK 6.2. I checked my test code on machines running
>>>>> Windows 7 (Visual Studio 2012/2015) and Ubuntu 15.10/Ubuntu 16.04 (gcc). On
>>>>> all these systems the bug is visible.
>>>>> b) I can also reproduce the bug in VTK 7.0 (here I used an Ubuntu 16.04
>>>>> machine and compiled VTK 7.0 using OpenGL2 interface).
>>>>>
>>>>> Bug description:
>>>>>
>>>>> I am using vtkChartXY to display one line. I also enabled logarithmic x
>>>>> axis (chartXY->GetAxis(vtkAxis::BOTTOM)->SetLogScale(true);). Nothing more
>>>>> special. In the compiled application I start zooming into the chart using
>>>>> the mouse wheel, making sure I always have a line displayed in the view. At
>>>>> some zoom level this line just disappears. At the zoom level the line
>>>>> disappears I did the following:
>>>>>
>>>>> 1. Zooming more into the chart the line will not appear again.
>>>>> 2. Zooming out twice (with mouse wheel) the line will reappear.
>>>>>
>>>>> How to reproduce the bug:
>>>>>
>>>>> I basically used the LinePlot example for vtkChartXY (see
>>>>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/Plotting/LinePlot).
>>>>>
>>>>> I added one line to the example code marked with *** (line was added
>>>>> after line 54 in example code).
>>>>> I added the full code to the end of the Email.
>>>>> ---------------
>>>>>
>>>>> // Add multiple line plots, setting the colors etc
>>>>>      vtkSmartPointer<vtkChartXY >  chart= vtkSmartPointer<vtkChartXY
>>>>>> ::New(); *** chart.Get()->GetAxis(vtkAxis::BOTTOM)->SetLogScale(true);
>>>>> view->GetScene()->AddItem(chart);
>>>>>
>>>>> ---------------
>>>>>
>>>>> Compile and execute the program. See my bug description above to
>>>>> visualize the bug.
>>>>>
>>>>>
>>>>> Please contact me if you need more information. I can also provide
>>>>> images of the bug if needed.
>>>>> I hope the bug can be fixed.
>>>>>
>>>>> Hagen.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> #include <vtkVersion.h>
>>>>> #include <vtkRenderer.h>
>>>>> #include <vtkRenderWindowInteractor.h>
>>>>> #include <vtkRenderWindow.h>
>>>>> #include <vtkSmartPointer.h>
>>>>> #include <vtkChartXY.h>
>>>>> #include <vtkAxis.h>
>>>>> #include <vtkTable.h>
>>>>> #include <vtkPlot.h>
>>>>> #include <vtkFloatArray.h>
>>>>> #include <vtkContextView.h>
>>>>> #include <vtkContextScene.h>
>>>>> #include <vtkPen.h>
>>>>>
>>>>> int main(int, char *[])
>>>>> {
>>>>>      // Create a table with some points in it
>>>>>      vtkSmartPointer<vtkTable> table =
>>>>>        vtkSmartPointer<vtkTable>::New();
>>>>>
>>>>>      vtkSmartPointer<vtkFloatArray> arrX =
>>>>>        vtkSmartPointer<vtkFloatArray>::New();
>>>>>      arrX->SetName("X Axis");
>>>>>      table->AddColumn(arrX);
>>>>>
>>>>>      vtkSmartPointer<vtkFloatArray> arrC =
>>>>>        vtkSmartPointer<vtkFloatArray>::New();
>>>>>      arrC->SetName("Cosine");
>>>>>      table->AddColumn(arrC);
>>>>>
>>>>>      vtkSmartPointer<vtkFloatArray> arrS =
>>>>>        vtkSmartPointer<vtkFloatArray>::New();
>>>>>      arrS->SetName("Sine");
>>>>>      table->AddColumn(arrS);
>>>>>
>>>>>      // Fill in the table with some example values
>>>>>      int numPoints = 69;
>>>>>      float inc = 7.5 / (numPoints-1);
>>>>>      table->SetNumberOfRows(numPoints);
>>>>>      for (int i = 0; i < numPoints; ++i)
>>>>>      {
>>>>>        table->SetValue(i, 0, i * inc);
>>>>>        table->SetValue(i, 1, cos(i * inc));
>>>>>        table->SetValue(i, 2, sin(i * inc));
>>>>>      }
>>>>>
>>>>>      // Set up the view
>>>>>      vtkSmartPointer<vtkContextView> view =
>>>>>        vtkSmartPointer<vtkContextView>::New();
>>>>>      view->GetRenderer()->SetBackground(1.0, 1.0, 1.0);
>>>>>
>>>>>      // Add multiple line plots, setting the colors etc
>>>>>      vtkSmartPointer<vtkChartXY> chart =
>>>>>        vtkSmartPointer<vtkChartXY>::New();
>>>>>      chart.Get()->GetAxis(vtkAxis::BOTTOM)->SetLogScale(true);
>>>>>      view->GetScene()->AddItem(chart);
>>>>>      vtkPlot *line = chart->AddPlot(vtkChart::LINE);
>>>>> #if VTK_MAJOR_VERSION <= 5
>>>>>      line->SetInput(table, 0, 1);
>>>>> #else
>>>>>      line->SetInputData(table, 0, 1);
>>>>> #endif
>>>>>      line->SetColor(0, 255, 0, 255);
>>>>>      line->SetWidth(1.0);
>>>>>      line = chart->AddPlot(vtkChart::LINE);
>>>>> #if VTK_MAJOR_VERSION <= 5
>>>>>      line->SetInput(table, 0, 2);
>>>>> #else
>>>>>      line->SetInputData(table, 0, 2);
>>>>> #endif
>>>>>      line->SetColor(255, 0, 0, 255);
>>>>>      line->SetWidth(5.0);
>>>>>
>>>>>      // For dotted line, the line type can be from 2 to 5 for different
>>>>> dash/dot
>>>>>      // patterns (see enum in vtkPen containing DASH_LINE, value 2):
>>>>> #ifndef WIN32
>>>>>      line->GetPen()->SetLineType(vtkPen::DASH_LINE);
>>>>> #endif
>>>>>      // (ifdef-ed out on Windows because DASH_LINE does not work on
>>>>> Windows
>>>>>      //  machines with built-in Intel HD graphics card...)
>>>>>
>>>>>      //view->GetRenderWindow()->SetMultiSamples(0);
>>>>>
>>>>>      // Start interactor
>>>>>      view->GetInteractor()->Initialize();
>>>>>      view->GetInteractor()->Start();
>>>>>
>>>>>      return EXIT_SUCCESS;
>>>>> }
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Search the list archives at:
>>>>> http://markmail.org/search/?q=vtk-developers
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>>
>>>>
>>>>
>>>> --
>>>> ___________________________________________
>>>> Andrew J. P. Maclean
>>>>
>>>> ___________________________________________
>>>>
>>>>



More information about the vtk-developers mailing list