public EvaluationNodeReference AddAnalysisNode(ref EvaluationNode evaluationNode) { var buffer = GetBuffer(); var bufferIndex = (ushort)_evaluationNodeBuffers.IndexOf(buffer); buffer.Entries[buffer.LowestFreeSlot] = evaluationNode; var reference = new EvaluationNodeReference { Buffer = bufferIndex, Index = buffer.LowestFreeSlot }; buffer.LowestFreeSlot++; return(reference); }
public INode GetEvaluationNode(EvaluationNodeReference evaluationNodeReference) { var buffer = _evaluationNodeBuffers[evaluationNodeReference.Buffer]; return(buffer.Entries[evaluationNodeReference.Index]); }