2023 Class
Changes 0
C

PointIterator

Description:
A class used to iterate individual points in a PointCollection.
Remarks:
Points may be iterated in two different ways:
  1. In the traditional IEnumerable interface, you can iterate the resulting points directly from the PointCollection.
  2. In an unsafe interface usable only from C# and C++/CLI, you can get a pointer to the point storage of the collection and access the points directly in memory. Although you must deal with pointers directly, there may be performance improvements when traversing large buffers of points.
Regardless of the approach used to obtain the points, the points are reported in the coordinate system of the point cloud. If you need the points in the coordinate system of the model, you will need to transform the point in those coordinates. The most direct way to do this is to obtain the transformation matrix from the PointCloudInstance (GetTransform()), convert the CloudPoint to an XYZ using the implicit conversion operator, and use Transform.OfPoint(XYZ).
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.PointClouds.PointIterator
public class PointIterator : IEnumerator<CloudPoint>
Name Return Type Description
M Dispose() None Releases all resources used by the
M Free() None Completes lifetime of the iterator. Call it when done using the iterator.
M IsDone() bool Identifies if the iteration has reached the end of the collection.
M MoveNext() bool Increments the iterator to the next point in the collection.
M Reset() None Resets the iterator to the beginning of the collection.
Name Return Type Description
P CurrentObject Object
P Current CloudPoint
P IsValidObject bool Specifies whether the .NET object represents a valid Revit entity.