So, a little report...
One speed increase with PointClouds resultant that i check if an instance shape is changed or not.
So that i must not read the topology from the shape for every point in the PointCloud.
That works great with one instance shape.
The problem begins with mixed shapes. For that, the routine will read the topology for every change of the shape.
That means, if you have a PointCloud with 2 instance shapes, nearly every point will have a other shape, so that i must read the topology.
That was a time killer. A sample looks like:
point0 shape2
point1 shape1
point2 shape2
point3 shape1
point4 shape1
point5 shape2
...
Here are 5 shape changes for 6 points. I also must read 5 times the topology.
Project that an a PointCloud with 20.000 points...
The solution i found is, that i first sort the PointCloud by shapes and write the shape id and the point number in a structure.
The result shows as below:
shape1 point1
shape1 point3
shape1 point4
shape2 point0
shape2 point2
shape2 point5
...
The effect you can see is, that the shape now switches only 2 times.
It´s now also irrelevant how many shapes you use.
An example with a PointCloud with 20.000 points and 5 instance shapes with the old method.
The shape will changed nearly every point so that the topology must read maybe 19000 times.
The same with the new method, the topology changed only 5 times...
The speed increase is also not disturbed, hurrayyyyy
The next step before the release is, to implement that with strands and finetune the LightGeo output.
Wish you all a happy new year...
face