IPointCloudAccess.CreatePointSetIterator's parameter ElementId providing the current view is always invalid.

IPointCloudAccess.CreatePointSetIterator's parameter ElementId providing the current view is always invalid.

Oliver_Bringmann
Explorer Explorer
446 Views
3 Replies
Message 1 of 4

IPointCloudAccess.CreatePointSetIterator's parameter ElementId providing the current view is always invalid.

Oliver_Bringmann
Explorer
Explorer

The IPointCloudAccess.CreatePointSetIterator method should provide an ElementId for the current view. We always get an InvalidElementId (-1). 

Why do we need the view?

For a dense rendering we should fill the provided buffer in IPointSetIterator.ReadPoints with only visible points in the foreground. In the best case one point per pixel for dense rendering. Is this a correct interpretation?

Thanks, Oliver

447 Views
3 Replies
Replies (3)
Message 2 of 4

jeremy_tammik
Alumni
Alumni

Thank you for your pertinent question. I asked the development team for you.

   

Jeremy Tammik Developer Advocacy and Support + The Building Coder + Autodesk Developer Network + ADN Open
0 Likes
Message 3 of 4

naveen.kumar.t
Autodesk Support
Autodesk Support

Hi @Oliver_Bringmann ,

 

Your Question 1: When providing current view element id to IPointCloudAccess.CreatePointSetIterator() viewid parameter, you are always get an error as InvalidElementId (-1).

Answer : Could you provide more details on this? Are you implementing this interface? Or Are you calling this interface that is implemented by others? This API is supposed to return a handler to IPointSetIterator instance. How did you get InvalidElementId? Which View are you using? 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


Your Question 2: For a dense rendering, we should fill the provided buffer in IPointSetIterator.ReadPoints with only visible points in the foreground. In the best case one point per pixel for dense rendering. Is this a correct interpretation?

Answer : Are you using using custom PointCloudEngine? In that case IPointCloudAccess.CreatePointSetIterator depends on the custom implementation. For dense rendering, regardless of performance, you could make one point per pixel. But usually you could implement filter for difference scale cases


Naveen Kumar T
Developer Technical Services
Autodesk Developer Network

0 Likes
Message 4 of 4

caiguonengW8PLN
Participant
Participant

How do you obtain views through the CreatePointSetIterator function?I want to obtain the zoom in and zoom out ratio of point clouds through views, but I'm not sure if this method is reasonable. How do you obtain the zoom ratio of the current view of the point cloud?

0 Likes