public static void GetDefaultDNA(BrainRGBRecognizerDNA dna) { if (dna.Extra == null) { dna.Extra = BrainRGBRecognizerDNAExtra.GetDefaultDNA(); } }
public BrainRGBRecognizer(EditorOptions options, ItemOptions itemOptions, BrainRGBRecognizerDNA dna, IContainer energyTanks) : base(options, dna, itemOptions.Brain_Damage.HitpointMin, itemOptions.Brain_Damage.HitpointSlope, itemOptions.Brain_Damage.Damage) { _itemOptions = itemOptions; _energyTanks = energyTanks; this.Design = new BrainRGBRecognizerDesign(options, true); this.Design.SetDNA(dna); _dnaExtra = dna.Extra ?? BrainRGBRecognizerDNAExtra.GetDefaultDNA(); _isColor = _dnaExtra.IsColor; _finalResolution = _dnaExtra.FinalResolution; if (_dnaExtra.UseEdgeDetect) { _convolution = Convolutions.GetEdgeSet_Sobel(); } else { _convolution = null; } _somDiscardDupes = _dnaExtra.ShouldSOMDiscardDupes; _somIsColor = _isColor; _shortTermMemory = new ShortTermMemory<double[]>(itemOptions.ShortTermMemory_MillisecondsBetween, itemOptions.ShortTermMemory_Size); //TODO: Get params from itemOptions _nonLifeEventSnapshots = new NonLifeEventSnapshots<double[]>(); //_nonLifeEventSnapshots = new NonLifeEventSnapshots<double[]>(.25, .6, 2); // faster times for debugging GetMass(out _mass, out _volume, out _radius, out _scaleActual, dna, itemOptions); }
public override ShipPartDNA GetDNA() { BrainRGBRecognizerDNA retVal = new BrainRGBRecognizerDNA(); base.FillDNA(retVal); return retVal; }