VHISTlib  1.84.0.3018
/daten/ahuesgen/projects/vhist/code/vhistlib/include/vhistdifflib/costmatrix.h
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

VHISTlib 1.84.0.3018 of Jun 28 2013, generated by doxygen.