PointIterator
A class used to iterate individual points in a PointCollection.
Inheritance Hierarchy
System.Object
Autodesk.Revit.DB.PointClouds.PointIterator
Namespace: Autodesk.Revit.DB.PointClouds
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class PointIterator : IEnumerator<CloudPoint>
The PointIterator type exposes the following members.
Properties
Name
Description
Public Property
Current
Public Property
CurrentObject
Public Property
IsValidObject
Specifies whether the .NET object represents a valid Revit entity.
Methods
Name
Description
Public Method
Dispose
Releases all resources used by the PointIterator
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object)
Public Method
Free
Completes lifetime of the iterator. Call it when done using the iterator.
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object)
Public Method
IsDone
Identifies if the iteration has reached the end of the collection.
Public Method
MoveNext
Increments the iterator to the next point in the collection.
Public Method
Reset
Resets the iterator to the beginning of the collection.
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object)
Remarks
Points may be iterated in two different ways:
- In the traditional IEnumerable interface, you can iterate the resulting points directly from the PointCollection.
- 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).