internal void SetFace3DAngle(ASF_Face3DAngle face3DAngle) { float[] _roll = new float[face3DAngle.num]; float[] _yaw = new float[face3DAngle.num]; float[] _pitch = new float[face3DAngle.num]; int[] _status = new int[face3DAngle.num]; Marshal.Copy(face3DAngle.roll, _roll, 0, face3DAngle.num); Marshal.Copy(face3DAngle.yaw, _yaw, 0, face3DAngle.num); Marshal.Copy(face3DAngle.pitch, _pitch, 0, face3DAngle.num); Marshal.Copy(face3DAngle.status, _status, 0, face3DAngle.num); for (int i = 0; i < face3DAngle.num; i++) { var angle = new Face3DAngle { pitch = _pitch[i], roll = _roll[i], status = _status[i], yaw = _yaw[i] }; Face3DAngles.Add(angle); FaceInfos[i].Face3DAngle = angle; } }