vrcore  0.45
visuReal Messkern
 All Classes Files Functions Variables
Combine.h
1 #pragma once
2 
3 /*bewertung einer Menge von Konturkombinationen. Die Stati OK und 5 sind moegliche eingabestati f Folgende.*/
4 enum Rating {
5  RATING_OK,
6  RATING_DATA_NIO, // Daten nicht iO/zu kurz
7  RATING_CONTOURS_SHORT, // Konturen in der Summe zu kurz
8  RATING_NO_COMBIS, // Combiner erreicht maxKombis, ohne welche davon gutzuheissen. Kommt vor bei Halbfassungen.
9  RATING_OBVIOUS_NIO, // validate verwirft alle Kombinationen (kann nur sein, wenn alle offensichtlich schlecht sind)
10  //oder laesst nur son paar kurze Kombis durchs obviousOut - also keine langen u kaum kurze.
11  RATING_FEW // validate laesst nur son paar Kombis durchs obviousOut. Konsequenz sollte sein: Verringerter Markenstatus
12  // moeglicherweise ist eine feinere Unterteilung der Rueckgaben von validate
13 };
14 
15 
16 /*Rueckgabe:
17 1 - DataVec zu kurz zum Kombinieren
18 2 - Gesmatlaenge aller Konturen zu klein*/
19 
20 Rating prepareContData(ContourDataVector &contVec);
21 
22 
23 class Combine
24 {
25 private:
26 
33  bool offDirection(int i, int j) const;
40  int parallelity(int i, int j) const;
41 /* int testCombination (const std::vector<bool>& combination);
42  void operator()(const unsigned int depth, std::vector<bool>& combination);
43  */
44  private:
46  static const int maxTested = 50000;
47  static const int maxCombinations = 1500;//750;
48  int n_tested; //Soll die Zahl der Blaetter des Rekursionsbaums begrenzen, viell. ca 32 000 Kombinationen.
49 
50  CombiSystemsVector &combiVec;
51 //falls Laengenkriterium zu streng, hat man hier wenigstens was:
52  CombiSystemsVector &reserveCombiVec;
53  const ContourDataVector &contVec;
54  const int nConts;
55 
75  std::vector<bool>* mutualPlausibilityOneEdge;
77  std::vector<int>* mutualPlausibilityParallelEdges;
78  bool testCombination (std::vector<bool>& combination) const;
79 //?? void rangeQualifier () const;
80 public:
81  //Alt:Combine (CombiSystemsVector &combiVec, const ContourDataVector &contVec);
82  Combine ( CombiSystemsVector &combiVectorIn
83  , CombiSystemsVector &reserveCombiVectorIn
84  , const ContourDataVector &contVector);
85  ~Combine(void);
86 
87  void operator() (const size_t depth, std::vector<bool>& combination ) ;
88  void operator() () const;
89 };
90 
Definition: Combine.h:23
Definition: CombiSystemsVector.h:7