VHISTlib
1.84.0.3018
|
00001 /* $HEADERS 00002 $Id: costmatrix.h 2179 2011-06-24 09:03:24Z ahuesgen $ 00003 */ 00004 00005 #ifndef COSTMATRIX_INCLUDED 00006 #define COSTMATRIX_INCLUDED 00007 00008 #include <QHash> 00009 #include <QPair> 00010 00011 #include "../shared/misc_defines.h" 00012 #include "diffdefines.h" 00013 00014 namespace vhist 00015 { 00016 00017 class WorkflowTree; 00018 class WorkflowstepCosts; 00019 00020 class VHIST_EXTERN CostMatrix 00021 { 00022 public: 00023 static const Costs DEFAULT_COSTS_WRONG_PARENT; 00024 static const Costs DEFAULT_COSTS_UNMATCHED; 00025 00026 public: 00027 CostMatrix(const WorkflowTree& tree1, const WorkflowTree& tree2, 00028 const WorkflowstepCosts* wfsCosts); 00029 ~CostMatrix(); 00030 00031 public: 00032 Costs costs(NodeId id1, NodeId id2) const; 00033 Costs costsWrongParent() const; 00034 Costs costsUnmatchedNode() const; 00035 void printMe(); 00036 00037 private: 00038 QHash<QPair<NodeId, NodeId>, Costs> m_costs; 00039 Costs m_costsUnmatched; 00040 Costs m_costsWrongParent; 00041 }; 00042 00043 00044 } // namespace vhist 00045 00046 #endif // COSTMATRIX_INCLUDED