public Match( DatabaseFin unknownFin, DarwinDatabase db, UpdateDisplayOutlinesDelegate updateOutlines, List <MatchFactor> matchFactors, bool createDefaultFactors = false) : this(unknownFin, db, updateOutlines) { if (!createDefaultFactors) { MatchFactors = matchFactors; } else if (Database.CatalogScheme != null) { switch (db.CatalogScheme.FeatureSetType) { case FeatureSetType.DorsalFin: SetMatchOptions(RegistrationMethodType.TrimOptimalTip, true); break; case FeatureSetType.Bear: MatchFactors = MatchFactorPresets.CreateBearMatchFactors(db); break; } } CheckUnknownForRequiredFeatures(); // Force rediscovery (for debugging/testing, can uncomment //UnknownFin.FinOutline.RediscoverFeaturePoints(Database.CatalogScheme.FeatureSetType); }
public Match( DatabaseFin unknownFin, DarwinDatabase db, UpdateDisplayOutlinesDelegate updateOutlines, RegistrationMethodType registrationMethod, bool useFullFinError) : this(unknownFin, db, updateOutlines) { SetMatchOptions(registrationMethod, useFullFinError); }
public Match( DatabaseFin unknownFin, DarwinDatabase db, UpdateDisplayOutlinesDelegate updateOutlines) { if (unknownFin == null) { throw new ArgumentNullException(nameof(unknownFin)); } if (db == null) { throw new ArgumentNullException(nameof(db)); } UnknownFin = new DatabaseFin(unknownFin); Database = db; _updateOutlines = updateOutlines; CurrentFinIndex = 0; MatchResults = new MatchResults(unknownFin.IDCode, unknownFin?.FinFilename, db?.Filename); }