private void onReadingComplete(LoadPointsJob job) { lock (_lock) { if (job.State != LoadPointsJob.JobState.Cancelled) { job.Stage = LoadPointsJob.JobStage.Parsing; //_parsingThread.Dispatch(job, job.Priority); } } }
private void onPostLoadingComplete(LoadPointsJob job) { lock (_lock) { if (job.State != LoadPointsJob.JobState.Cancelled) { Node node = job.Node; node.IntensityRange = job.IntensityRange; node.Points = job.AugmentedPoints; node.Edges = job.Edges; } } OnNodeLoaded?.Invoke(job.Node); }
private void onBatchingComplete(LoadPointsJob job) { lock (_lock) { if (job.State != LoadPointsJob.JobState.Cancelled) { Node node = job.Node; node.Points = job.AugmentedPoints; node.PartitionOffsets = job.PartitionOffsets; dispatchPendingChildren(node); job.Stage = LoadPointsJob.JobStage.PostLoading; //_postLoadingThread.Dispatch(job, job.Priority); } } }
private void onParsingComplete(LoadPointsJob job) { lock (_lock) { if (job.State != LoadPointsJob.JobState.Cancelled) { if (job.PrepareForDynamicBatching()) { job.Stage = LoadPointsJob.JobStage.Batching; //_batchingThread.Dispatch(job, job.Priority); } else { job.Stage = LoadPointsJob.JobStage.WaitingForParentPoints; } } } }
public override LoadPointsJob Load(Node node, float p) { LoadPointsJob job; job = new LoadPointsJob(node, p); job.Stage = LoadPointsJob.JobStage.Reading; job.State = LoadPointsJob.JobState.Loading; //_readingThread.Dispatch(job, job.Priority); job.Execute(null); onReadingComplete(job); job.Execute(null); onParsingComplete(job); job.Execute(null); onBatchingComplete(job); job.Execute(null); onPostLoadingComplete(job); return(job); }