public void RequestObject(VObject _obj) { Reference.Log.Debug(" Request:" + _obj.RequestIrrfileUUID.ToString()); _obj.Requesting = true; lock (requestingList) { if (requestingList.ContainsKey(_obj.RequestIrrfileUUID)) { Reference.Log.Debug(" Already Requested:" + _obj.RequestIrrfileUUID.ToString()); requestingList[_obj.RequestIrrfileUUID].Add(_obj); return; } else { List<VObject> requestors = new List<VObject>(); requestors.Add(_obj); requestingList.Add(_obj.RequestIrrfileUUID, requestors); } } IrrMeshThread ss = new IrrMeshThread(Reference.Viewer, _obj, workDirectory); IrrWorkItem item = new IrrWorkItem("IrrMeshThread.Requesting", new WorkItemCallback(ss.Requesting), null); IrrWorkItemQueue(item); }
public void IrrWorkItemQueue(IrrWorkItem item) { lock (irrWorkItems) { irrWorkItems.Add(item); } }