.1 - it gathers polydata, builds a numbered list,
.2 - gathers materials for each poly, makes “polydata” using ( “Sensor_” Integer) in the material name
Once only /\
.3- Uses host Id to look up polydata,
.4 -casts ray from face identified in HostID
-==hits any face that has polydata, looks up face, looks up pair , sets HostId in object hit by ray to == opposing face from pair…
Example(current version)
pairs -[ [1, 2], [3,4], [2,1], [4,3]]
I am a cube, my hostId is 1 so I cast a ray from 1
I hit cube 2, his host Id is 4,
I look up his “paired” face, it is 3
I set his host Id to 3 and mine to 0,
Example next version(what I need some help writing out)
I am a cube I have 30 properties that represent a label I am to pass,
I have 30 “indexes” 1 for each face,
If my face label property changes to anything but empty, cast a ray from the corresponding face based on face index,
if it hits a face that has poly data, change it’s label to my label, and remove my label back to empty,
for all 30 faces potentially for every frame
another object ->set Property FaceLabel_01= “Anything”
Property FaceLabel_01 is not “empty”
look up FaceIndex_01 which is “2”
cast ray from 2
if I hit another polydata mapped item “cube 2 face 05”
look up FaceLabel_05 for that face on that item
change propertyl FaceLabel_05 to “Anything”
this trips cube 2 to fire on the next frame, passing “Anything” to the next cube it hits or “effector” that uses “property” to do things