Yes, but you do the same thing as me, so your example applies.
But I now debugged in realtime and found that it is not that transform that takes time, it is either one of two problems that occor depening on how I treat the point list :
If I transform the same list (InPts) as I used when reading the in-port (
DA.GetDataList(IN_Points, InPts) ) then when I try to access or manipulate the transformed points an exception is thrown (the "data has changed", well, they should have been transformed, yes...).
B. If I copy the point list before transform (into a
pts_tmp-list, as in my code example above), then after the transform any manipulation if the points, like in a for-each loop for example, takes "forever" (at least 10 minutes), which should take say 50 ms in total, at most.
Edit: OK, in §A referenced a property. Accessing the variable directly (m_Pts) fixes the problem, the point list does no longer complains about members (points) being changed.
But, the points doesn't seem to be transformed at all! As shown in the picture, only the Cylinder is actually transformed, then in my code I filter points inside the Cylinder BBox, (the green points) and at last, I transform
an "xform_inverse" to revert the Cylinder (and the points) to initial orientation, but, the points doesn't seem to be translated at all
Fig.1. The green points where "captured" inside the Cylinder BoundingBox while the Cylinder was transformed to planar orientation). If also the points had been transformed, the green points would have the same "inclination" as the Cylinder in the picture.