Hi Eric,<div><br></div><div>Good catch! You are abusing the line type to get rid of the outline, and that was not getting set correctly after I refactored the code. If you pull and rebuild now commit 25b58dd should take care of that.</div>
<div><br></div><div>Thanks for catching this - I will adjust one of the unit tests to use the line types so that this will be caught in future.</div><div><br></div><div>Marcus<br><br><div class="gmail_quote">On Mon, Sep 27, 2010 at 10:27 AM, Eric E. Monson <span dir="ltr"><<a href="mailto:emonson@cs.duke.edu">emonson@cs.duke.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">Here's the block that was ending up with with a black line around it. Setting the pen opacity to zero (after setting the line type) works fine for getting rid of the black line.<div>
<br></div><div>Thanks,</div><div>-Eric</div><div><br></div><div><br></div><div> // Semi-transparent box over non-valid scales<br> if (this->DrawSets)<br> {<br> int oldLineType = painter->GetPen()->GetLineType();<div class="im">
<br><br> painter->GetBrush()->SetColor(254, 254, 254, 150);<br> painter->GetPen()->SetLineType(0);<br></div> int opaquePadding = 4; <span style="white-space:pre-wrap"> </span>// extra padding so axes and points themselves are covered<br>
for (int i = 0; i < this->VisibleColumns->GetNumberOfTuples(); i+=this->NumPerSet)<br> {<br> if ((i+this->NumPerSet-1) <= static_cast<int>(this->Storage->Axes.size()) &&<br>
(i/this->NumPerSet == this->CurrentScale+1))<span style="white-space:pre-wrap"> </span>// opaque on next scale<br> {<br> vtkAxis* axis0 = this->Storage->Axes[i];<br> vtkAxis* axis1 = this->Storage->Axes[this->Storage->Axes.size()-1];<br>
painter->DrawRect(axis0->GetPoint1()[0]-opaquePadding, <br> this->Point1[1]-opaquePadding,<br> axis1->GetPoint1()[0]-axis0->GetPoint1()[0]+(2*opaquePadding),<br>
this->Point2[1]-this->Point1[1]+(2*opaquePadding));<br> }<br> }<br> <br> painter->GetPen()->SetLineType(oldLineType);<div><div></div><div class="h5"><br> }<br><br>
<div><div><br></div><div>On Sep 27, 2010, at 10:18 AM, Marcus D. Hanwell wrote:</div><br><blockquote type="cite"><div class="gmail_quote">On Mon, Sep 27, 2010 at 9:43 AM, Eric E. Monson <span dir="ltr"><<a href="mailto:emonson@cs.duke.edu" target="_blank">emonson@cs.duke.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hey Marcus,<br>
<br>
That looks great -- thanks for figuring out the right way to do it.<br>
<br>
I'm having a strange problem after rebuilding, though: I have a variant on the parallel coordinates chart that draws some extra decorations on the plot. One of these is a semi-transparent white rectangle. Before the paint calls I set<br>
<br>
painter->GetBrush()->SetColor(254, 254, 254, 150);<br>
painter->GetPen()->SetLineType(0);<br>
<br>
but the rectangle now shows up with a black outline around it...<br>
<br>
Has there been some change to the 2D drawing classes lately that might be causing this? (I can set the pen opacity to 0 to get rid of this black border line, but it just started showing up with this pull.)<br><br></blockquote>
<div class="gmail_quote">Over the weekend I spent some time refactoring the 2D API in order to optimize some of the drawing operations (ellipse rendering in particular). Could you send me all of that block of rendering code? It would be good to add it to a regression test, as everything seemed to be coming back clear from the regression tests.</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">Thanks,</div><div class="gmail_quote"><br></div><div class="gmail_quote">Marcus</div>--<br clear="all">Marcus D. Hanwell, Ph.D.<br>R&D Engineer, Kitware Inc.<br>
(518) 881-4937 </div>
</blockquote></div><br></div></div></div></div></blockquote></div><br></div>