Hi,

how can I get consistent normal vectors for each point from triangle strips (after applying vtkStripper filter)?

Thank’s in advance

Hi,

how can I get consistent normal vectors for each point from triangle strips (after applying vtkStripper filter)?

Thank’s in advance

`vtk.vtkPolyDataNormals`

can compute normals, and has an option to make normals consistent.

1 Like

Thank you very much for answer

Hi Mr;

I have tried compute normal vectors by turning on some features to ensure the consistency and good orientation but It seems normals are oriented in wrong direction when incorporate them in my reconstrution method.

After converting contours to Ribbon model I have Apply vtkStripper filter to get triangles strips then I have applied vtkPolyDataNormals to get PointNormals like this:

vtkSmartPointer normalGenerator = vtkSmartPointer::New();

normalGenerator->SetInputData(polydata);

normalGenerator->ConsistencyOn();

normalGenerator->ComputePointNormalsOn();

normalGenerator->SetFlipNormals(0);

normalGenerator->SetSplitting(0);

normalGenerator->SetAutoOrientNormals(0);

normalGenerator->SetNonManifoldTraversal(1);

// normalGenerator->ComputeCellNormalsOff();

normalGenerator->Update();

Is there another method to compute normals from triangles strips (ribbons) without passing by constructing binary labelMap? Or is it possible to construct binary labelMap from Ribbon then using vtkProbe filter to attribut consistent normals to Ribbon Model points?

thank’s in advance

It is only possible to compute consistent normals for closed, watertight mesh - not for a set of ribbons.