For methods like FindCellsWithinBounds() that don’t wrap because they pass a pointer instead of an array, you can submit an MR that changes the parameter to an array. That’s all that’s needed for those ones.
E.g. in vtkCellLocator.cxx:
- void FindCellsWithinBounds(double* bbox, vtkIdList* cells) override;
+ void FindCellsWithinBounds(double bbox[6], vtkIdList* cells) override;
As for why this method didn’t use an array parameter to begin with, some VTK developers (especially new or temporary ones) prefer pointer parameters over array parameters and are not aware of the impact their choice has on the wrappers. The VTK code review process isn’t perfect and we should be doing better…
Methods like IntersectWithLine() that use pass-by-reference are the ones that are really hard to wrap:
int IntersectWithLine(const double a0[3], const double a1[3], double tol, double& t, double x[3],
double pcoords[3], int& subId, vtkIdType& cellId, vtkGenericCell* cell) override;