public void RePosition(Vector3 position) { if (connectedObject != null) { //transform.position = connectedObject.GetPosOfClosestVertex (position, new Vector3[] {connectedObject.boundingBox.coordinates[4], connectedObject.boundingBox.coordinates[5],connectedObject.boundingBox.coordinates[6],connectedObject.boundingBox.coordinates[7] }); Vector3[] positions = new Vector3[connectedObject.bottomFace.vertexBundles.Length]; for (int i = 0; i < positions.Length; i++) { positions [i] = connectedObject.transform.TransformPoint(connectedObject.bottomFace.vertexBundles [i].coordinates); } transform.position = connectedObject.GetPosOfClosestVertex(position, positions); } }
public void RepositionScaler() { Vector3[] vertexBundlesCoordinates = new Vector3[vertexBundles.Length]; int idOfVertexbundle; for (int i = 0; i < vertexBundles.Length; i++) { vertexBundlesCoordinates [i] = parentModelingObject.transform.TransformPoint(vertexBundles [i].coordinates); } scalerPosition = parentModelingObject.transform.InverseTransformPoint(parentModelingObject.GetPosOfClosestVertex(Camera.main.transform.position, vertexBundlesCoordinates)); for (int i = 0; i < vertexBundles.Length; i++) { if (vertexBundles [i].coordinates == scalerPosition) { scaler = vertexBundles [i]; parentModelingObject.scalerObject = vertexBundles [i]; break; } } }