By Augusto Goncalves (@augustomaia)
First of all, early bird registration is due to end on April 15th, so you don't have much time to buy your ticket at the low cost of $499. If you're a student, you can come for FREE- just sign up for a student ticket using a .edu email address.We're still working on the agenda. Visit this link for a list of the classes we currently have planned.
After some discussions for specific questions asked by some developers, this blog post summarizes what have being discussed.
When drawing point cloud, Revit calculates the total number of points that can read in the current view and camera, divide the number into several blocks and ask the IPointSetIterator to fill the block by calling ReadPoints(). Revit keep asking for the points until all the blocks as filed or there no points returned. This happens for every view change or camera change. The ReadPoints() method implementation needs to case about the points returned to each call with consideration of LOD.
Most engines implemented the LOD. The figure below shows the context of calling readPoints, and a typical implementation of this interface. The rule is simple:
- The filter can be used to identify the volume of point cloud to be read.
- For each call of readPoints, it returns the denser points compared to last call.
This pseudo code is the abstraction from a REAL engine and it works well in Revit.