<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi Lin,</div><div><br></div><div>The header test is telling you to add an export macro defined in vtkFiltersBezierModule.h to each class in the module. It means that you should declare the classes like this:</div><div><div dir="ltr"><pre><font color="#000000" face="UICTFontTextStyleBody"><span style="white-space: normal; background-color: rgba(255, 255, 255, 0);">class VTKFILTERSBEZIER_EXPORT vtkXXX { ... };</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;">On Windows, the macro is turned into a declspec that tells the compiler the class is part of the library's public API (instead of for internal use only).</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;">The test also complains that your header file includes more than one other header. We have had problems with compilation times for VTK growing very large because developers would add many include statements to the headers (instead of putting them in the implementation file, where they belong). To keep that from happening again, the header test complains when there is more than one include file. When the include file is necessary, simply add a comment explaining why it is needed to the right of the include statement, like</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;">#include "vtkFiltersBezierModule.h" // for export macro</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;">The only mandatory header file is the one for the declared class's parent.</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;">You should not implement the copy constructor and assignment operators. Instead, you should declare them as private methods and provide no implementation. Classes derived from vtkObject (which should be the default) should have instances created by calling a static New() method, should always be referenced by pointer instead of by value, and should not be copied unless ShallowCopy or DeepCopy methods are implemented. This is a design pattern used throughout VTK to make memory management safer.</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;">The failing image tests can be fixed by adding images that are correct but drawn with a few different pixels. Each test can have multiple valid baseline images. Just download the image from the dashboard web page, name it baseline_1.png (assuming the original was baseline.png), and add its MD5 checksum to the Data directory. There should be mention of how to do this on the wiki.</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;">    David</span></font></pre><pre><font face="UICTFontTextStyleBody"><span style="white-space: normal;"><br></span></font></pre></div></div><div>On Sep 4, 2015, at 21:47, Lin M <<a href="mailto:majcjc@gmail.com">majcjc@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi Dr. Thompson,<div><br></div><div>Some of the tests are still failing.</div><div><br></div><div>1. The header test output that </div><div><pre style="color:rgb(0,0,0);font-size:14px">Use export macro: VTKFILTERSBEZIER_EXPORT

File: c:/Dashboards/buildbot/eec47309/source/Filters/Bezier/vtkBezierPatchAdaptor.h has 2 includes: 
   23: #include "vtkObject.h"
   24: #include "vtkFiltersBezierModule.h"</pre><pre style="color:rgb(0,0,0);font-size:14px">where I have no clue the problem is, and also</pre><pre style="color:rgb(0,0,0);font-size:14px"><pre>File: c:/Dashboards/buildbot/eec47309/source/Filters/Bezier/vtkBREPReader.h has 2 includes: 
   28: #include "vtkAlgorithm.h"
   29: #include "vtkFiltersBezierModule.h"</pre><pre>File: c:/Dashboards/buildbot/eec47309/source/Filters/Bezier/vtkBREPReader.h does not define copy constructor
Should be:
vtkBREPReader(const vtkBREPReader&); // Not implemented
File: c:/Dashboards/buildbot/eec47309/source/Filters/Bezier/vtkBREPReader.h does not define assignment operator
Should be:
void operator=(const vtkBREPReader&); // Not implemented</pre><pre>where I really have implemented them.</pre><pre><br></pre><pre>2. The image tests seems to fail because of there are some slightly differences between the test image and the valid image.</pre><pre>The lines in the valid image have different line width the rendered test image in different platforms.</pre><pre>Could you give me some suggestions about how to fix that? Thank you!</pre><pre><br></pre><pre>Best,</pre><pre>Lin</pre></pre></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 5, 2015 at 9:35 AM, Lin M <span dir="ltr"><<a href="mailto:majcjc@gmail.com" target="_blank">majcjc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Derek,<div><br></div><div>I put it in my public folder with the name Moto.brep (<a href="http://midas3.kitware.com/midas/folder/13193" target="_blank">http://midas3.kitware.com/midas/folder/13193</a>).</div><div>Please let me know if you have any other questions. :-)</div><div><br></div><div>Best,</div><div>Lin</div><div><br></div><div><br></div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 4, 2015 at 10:55 PM, David Thompson <span dir="ltr"><<a href="mailto:david.thompson@kitware.com" target="_blank">david.thompson@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Derek,<br>
<br>
Lin should be able to point you at the test data. It should be on Midas, so he may just send the URL (hint hint).<br>
<span><br>
> I also have a question regarding the implementation.  Would it be possible to use this work to generate a nonlinear cell type to represent an unstructured grid of Bezier patches?<br>
<br>
</span>Yes. The idea is that you would write an adaptor like the one Lin has written for NURBS to convert your non-linear data into Bézier patches. The patches can either be tessellated directly or operations performed on the patches.<br>
<br>
I am working on a contouring algorithm that would take patches in and output more Bézier patches of just the ioscontours/isovolumes, but it will be some time before it is ready.<br>
<span><font color="#888888"><br>
        David</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></blockquote></body></html>