hmm.. I guess I am trying to use these functions with inserted geometry leafs.
My rule chooses to insert a geometry model of a advertising sign onto a face on the side of a building. However I want to ensure that it is only inserted if it does not touch another building that may be adjacent.
I gather from the link you provided you are suggesting to extrude the given face and do a test to see if this extrusion touches the adjacent building. If not then continue to insert a model?
Jep, right. The extra code is just to give the system a little 'physical room' to prevent imprecision issues. So I move the face out, scale it down so it does not touch something, create the test volume, test, and then go back to the original shape with the result, deleting the rest of the geometries that were created for the test. I know it's a little complex, but that gives the best results.
Nevertheless, in your example, I'd try to not use Occlusions, but really try to well-define all your shapes, so you can guarantee that e.g. signs only get placed where no building is. Maybe post a screenshot of the desired situation and I have an other input.
As we are using CityEngine for a game world production I guess we are looking for slightly different ways of controlling the data to a typical city visualisation use age. Thus a lot of the questions are related to inserting and working with custom artist built component geometry, which maps directly into a game world via a python export pipeline that marries to our data formats.
Inserting signs on the sides of buildings for example I choose a sign from a library of sign geometry, then I am having to insert a cube first and I use the coordinates of the position of the cube, via the reporting mechanism, for placements within our engine, then I insert the chosen geometry afterwards for representation in city engine. This is fine as we only place these streetside.
Now in other cases I have other game elements that are required all over the buildings at random that must be placed in accessible locations, to do this I think I will follow the same logic but using your prior suggestion to determine intersections. I am thinking occlusions are my only real choice, but I know they have overhead.