示例#1
0
        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);
        }
示例#2
0
 public void IrrWorkItemQueue(IrrWorkItem item)
 {
     lock (irrWorkItems)
     {
         irrWorkItems.Add(item);
     }
 }