Maybe you could use the split.index, like so:
@StartRule
Lot -->
alignScopeToAxes(y)
split (x){10: Spli}*
Spli -->
extrude(split.index)
That is brilliant. Thank you!
If you need to know the positions of the buildings relative to the world, you could also convert scope coordinates to world coordinates using convert() (but using split.index is easier).
The next step is for the height of the buildings to respond to the sun location. For example,
I want the buildings along the southern edge of the lot to be low, and the neighboring ones
progressively taller. I haven't figured out how to get the heights of neighboring buildings, so I am
using the python export to get building locations and calculating the height using python.
Unfortunately, with Jython, I cannot import modules like "numpy" so it's becoming a bit
of kluge, doing a system call to a python script from within Cityengine's jython.
I feel I am approaching this problem the wrong way. Suggestions?
Knowledge about neighboring shapes in CityEngine is really difficult and limited. It's currently limited to the occlusion queries in CGA. If you figure out a way to do it with Python, it's probably the only way to do it.
Thanks for the information. Perhaps I can import the JTS geometry library into CityEngine to extend the jython functionality.
Update: Getting JTS into cityengine worked, using this article pyright: jython + the JTS geometry library. Note I had to be
careful with the coordinate system: CityEngine -z is JTS y.