bpp-phyl3  3.0.0
DistanceMethod.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
5 #ifndef BPP_PHYL_DISTANCE_DISTANCEMETHOD_H
6 #define BPP_PHYL_DISTANCE_DISTANCEMETHOD_H
7 
8 
9 // From bpp-core:
10 #include <Bpp/Clonable.h>
11 #include <Bpp/Exceptions.h>
12 
13 // From the STL:
14 #include <string>
15 
16 namespace bpp
17 {
18 class DistanceMatrix;
19 class Node;
20 class Tree;
21 
26  public virtual Clonable
27 {
28 public:
31 
32  virtual DistanceMethodInterface* clone() const override = 0;
33 
34 public:
41  virtual void setDistanceMatrix(const DistanceMatrix& matrix) = 0;
42 
46  virtual void computeTree() = 0;
47 
51  virtual bool hasTree() const = 0;
52 
56  virtual const Tree& tree() const = 0;
57 
61  virtual std::string getName() const = 0;
62 
66  virtual void setVerbose(bool yn) = 0;
67 
71  virtual bool isVerbose() const = 0;
72 };
73 
82  public virtual DistanceMethodInterface
83 {
84 public:
87 
88  virtual AgglomerativeDistanceMethodInterface* clone() const override = 0;
89 };
90 } // end of namespace bpp.
91 #endif // BPP_PHYL_DISTANCE_DISTANCEMETHOD_H
Interface for agglomerative distance methods.
virtual AgglomerativeDistanceMethodInterface * clone() const override=0
General interface for distance-based phylogenetic reconstruction methods.
virtual void setDistanceMatrix(const DistanceMatrix &matrix)=0
Set the distance matrix to use.
virtual void setVerbose(bool yn)=0
virtual void computeTree()=0
Perform the clustering.
virtual bool isVerbose() const =0
virtual const Tree & tree() const =0
virtual DistanceMethodInterface * clone() const override=0
virtual std::string getName() const =0
virtual bool hasTree() const =0
Interface for phylogenetic tree objects.
Definition: Tree.h:115
Defines the basic types of data flow nodes.