private static bool ObscuresLight(IGeometry s, Vector3D intersectionPoint, Vector3D directionToLight, double lightT) { var test = s.Test(intersectionPoint+(directionToLight*0.001), directionToLight); return test.HasValue && test > 0 && test <= lightT; }