<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div style="" class="">Hi all vtkusers,</div><div style="" class=""><br style="" class=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">First post here.</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">I have wrong output result from vtkFeatureEdges filtering BoundaryEdge only.</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">(on vtk 6.1 x64
windows 8.1)</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br style="" class=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">here is sample code:</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br style="" class=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal; margin-left: 40px;">#include <vtkSmartPointer.h><br style="" class="">#include
<vtkPlaneSource.h><br style="" class="">#include <vtkFeatureEdges.h><br style="" class="">#include <vtkCellArray.h><br style="" class="">#include <vtkLine.h><br style="" class="">#include <ostream><br style="" class=""><br style="" class="">int _tmain(int argc, _TCHAR* argv[])<br style="" class="">{<br style="" class=""> vtkSmartPointer<vtkPlaneSource> planeSource = vtkSmartPointer<vtkPlaneSource>::New(); <br style="" class=""> planeSource->SetXResolution(4);<br style="" class=""> planeSource->SetYResolution(4);<br style="" class=""> planeSource->SetCenter(0,0,0);<br style="" class=""> planeSource->SetNormal(0.0, 0.0, 1.0);<br style="" class=""> planeSource->Update(); <br style="" class=""> vtkSmartPointer<vtkPolyData> polydata
= planeSource->GetOutput();<br style="" class=""> std::cout << "Total points:" << polydata->GetNumberOfPoints() << endl;<br style="" class=""> for (int i = 0; i < polydata->GetNumberOfPoints(); i++)<br style="" class=""> {<br style="" class=""> double pt[3];<br style="" class=""> polydata->GetPoint(i , pt);<br style="" class=""> std::cout << "Point:" << i << " \t(" <<pt[0]<<"," << pt[1] <<"," <<pt[2]<< ")" << endl;<br style="" class=""> }<br style="" class=""> vtkSmartPointer<vtkFeatureEdges> borderEdges = vtkSmartPointer<vtkFeatureEdges>::New();<br style="" class="">
borderEdges->SetInputConnection(planeSource->GetOutputPort());<br style="" class=""> borderEdges->FeatureEdgesOff(); <br style="" class=""> borderEdges->ManifoldEdgesOff();<br style="" class=""> borderEdges->NonManifoldEdgesOff();<br style="" class=""> borderEdges->ColoringOff();<br style="" class=""> borderEdges->BoundaryEdgesOn();<br style="" class=""> borderEdges->Update(); <br style="" class=""> vtkSmartPointer<vtkCellArray> lines= borderEdges->GetOutput()->GetLines();<br style="" class=""> int numBorderEdges = lines->GetNumberOfCells(); <br style="" class=""> std::cout << "Total border edges:" << numBorderEdges << endl;<br style="" class=""> for(vtkIdType i
= 0; i < numBorderEdges; i++)<br style="" class=""> { <br style="" class=""> vtkLine* line = vtkLine::SafeDownCast(borderEdges->GetOutput()->GetCell(i)); <br style="" class=""> int numID = line->GetPointIds()->GetNumberOfIds();<br style="" class=""> int id0 = line->GetPointIds()->GetId(0);<br style="" class=""> int id1 = line->GetPointIds()->GetId(1);<br style="" class=""> std::cout << "B-edge:" << i <<"\t"<< numID <<"(" <<id0<<"," <<id1<<")"<< endl;<br style="" class=""> }<br style="" class=""> getchar();<br style="" class=""> return 0;<br style=""
class="">}</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br style="" class=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">report result is:</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal; margin-left: 40px;">Total points:25<br style="" class="">Point:0 (-0.5,-0.5,0)<br style="" class="">Point:1 (-0.25,-0.5,0)<br style="" class="">Point:2 (0,-0.5,0)<br
style="" class="">Point:3 (0.25,-0.5,0)<br style="" class="">Point:4 (0.5,-0.5,0)<br style="" class="">Point:5 (-0.5,-0.25,0)<br style="" class="">Point:6 (-0.25,-0.25,0)<br style="" class="">Point:7 (0,-0.25,0)<br style="" class="">Point:8 (0.25,-0.25,0)<br style="" class="">Point:9 (0.5,-0.25,0)<br style="" class="">Point:10 (-0.5,0,0)<br style="" class="">Point:11 (-0.25,0,0)<br style="" class="">Point:12 (0,0,0)<br style="" class="">Point:13 (0.25,0,0)<br
style="" class="">Point:14 (0.5,0,0)<br style="" class="">Point:15 (-0.5,0.25,0)<br style="" class="">Point:16 (-0.25,0.25,0)<br style="" class="">Point:17 (0,0.25,0)<br style="" class="">Point:18 (0.25,0.25,0)<br style="" class="">Point:19 (0.5,0.25,0)<br style="" class="">Point:20 (-0.5,0.5,0)<br style="" class="">Point:21 (-0.25,0.5,0)<br style="" class="">Point:22 (0,0.5,0)<br style="" class="">Point:23 (0.25,0.5,0)<br style="" class="">Point:24 (0.5,0.5,0)<br style="" class="">Total border
edges:16<br style="" class="">B-edge:0 2(0,1)<br style="" class="">B-edge:1 2(2,0)<br style="" class="">B-edge:2 2(1,3)<br style="" class="">B-edge:3 2(3,4)<br style="" class="">B-edge:4 2(4,5)<br style="" class="">B-edge:5 2(5,6)<br style="" class="">B-edge:6 2(7,2)<br style="" class="">B-edge:7 2(6,8)<br style="" class="">B-edge:8 2(9,7)<br style="" class="">B-edge:9 2(8,10)<br style="" class="">B-edge:10 2(11,12)<br style="" class="">B-edge:11 2(12,9)<br style=""
class="">B-edge:12 2(13,11)<br style="" class="">B-edge:13 2(14,13)<br style="" class="">B-edge:14 2(10,15)<br style="" class="">B-edge:15 2(15,14)</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">as you see b-edges#2,#3 report wrong id pairs.</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">#4 reports wrong
too.</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">Is it library bug ? or I have wrong coding?<br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family:
HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">best regards,</div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">Anuwat<br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br
style="" class=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br style="" class=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"> </div></div></body></html>