コード例 #1
0
        /// <summary>
        /// Evaluation procedure -- implementation for modules without layers
        /// </summary>
        /// <param name="input">The input.</param>
        /// <param name="wRecord">The w record.</param>
        /// <returns></returns>
        public override ISpiderModuleData evaluate(ISpiderModuleData input, modelSpiderSiteRecord wRecord)
        {
            List <spiderLink>             output  = new List <spiderLink>();
            spiderModuleData <spiderLink> outdata = new spiderModuleData <spiderLink>();

            moduleDLCRecord       moduleLevelReportTable    = ((spiderModuleData <spiderLink>)input).moduleDLC;
            moduleIterationRecord moduleDLCRecordTableEntry = ((spiderModuleData <spiderLink>)input).moduleDLCRecordTableEntry;

            if (imbWEMManager.settings.directReportEngine.DR_ReportModules)
            {
                //dataInput.moduleDLCRecordTableEntry = dataInput.moduleDLC.GetOrCreate(wRecord.iteration.ToString("D3") + module.name);
                moduleDLCRecordTableEntry.reportEvaluateStart(input as spiderModuleData <spiderLink>, wRecord, this); // <--- module level report --- start
            }

            input.active.ForEach(x => output.Add(x as spiderLink)); // ----- this is part where the layer modules are emulated

            if (imbWEMManager.settings.directReportEngine.DR_ReportModules)
            {
                moduleDLCRecordTableEntry.reportEvaluateEnd(output, wRecord, this);                                                             // <--- module level report --- start
            }
            outdata.active.AddRange(rankLinks(output, wRecord.iteration));


            if (imbWEMManager.settings.directReportEngine.DR_ReportModules)
            {
                moduleDLCRecordTableEntry.reportEvaluateAlterRanking(outdata.active, wRecord, this);                                                            // <--- module level report --- start
            }
            return(outdata);
        }
コード例 #2
0
 public override ISpiderModuleData evaluate(ISpiderModuleData input, modelSpiderSiteRecord wRecord)
 {
     return(evaluate(input as spiderModuleData <spiderLink>, wRecord));
 }
コード例 #3
0
 public abstract ISpiderModuleData evaluate(ISpiderModuleData input, modelSpiderSiteRecord wRecord);