public object ComputeSharedParameters(List <Vector4> rotatedModelPoints, List <Vector4> staticPoints, Vector4 translation) { List <Vector4> transformedPoints = new List <Vector4>(); int[] XIs = new int[rotatedModelPoints.Count]; bool xi; Vector4 transformedModelPoint; int idx = 0; foreach (Vector4 rotatedModelPoint in rotatedModelPoints) { transformedModelPoint = rotatedModelPoint + translation; transformedPoints.Add(transformedModelPoint); xi = staticModelContainmentDetector.GameObjectContains( point: referenceTransform.TransformPoint(transformedModelPoint) ); XIs[idx++] = xi ? 1 : 0; } return(new SharedParameters(XIs, transformedPoints)); }
private bool ContainmentDetectorTest_Helper(string point_name) { EditorSceneManager.OpenScene(sceneName); GameObject demisphere = GameObject.Find(demispherename); GameObject point = GameObject.Find(point_name); Vector3 center = point.transform.position; Vector4 position = new Vector4(center.x, center.y, center.z, 1.0f); ContainmentDetector detector = demisphere.GetComponent <ContainmentDetector>(); //Awake/update is not run by the test detector.collider = demisphere.GetComponent <MeshCollider>(); return(detector.GameObjectContains(position)); }