This is consistent with section orientation from left to right in the ViewXSection and normal and azimuth defined with azimuth always in the 1st and 2nd quadrant (0 <= azimuth <= 180). This seems an intuitive solution where sections are always seen from the south.
The orientation of ViewXSection must be inverted in order to be consistent with the normal vector and azimuth.
This line must be:
direction = np_array(section_plane.GetNormal())
and not
direction = -np_array(section_plane.GetNormal())
This is consistent with section orientation from left to right in the ViewXSection and normal and azimuth defined with azimuth always in the 1st and 2nd quadrant (0 <= azimuth <= 180). This seems an intuitive solution where sections are always seen from the south.
Check also the way it is implemented in the new gocad2vtk_section function.