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
16namespace bpp
17{
18class DistanceMatrix;
19class Node;
20class Tree;
21
26 public virtual Clonable
27{
28public:
31
32 virtual DistanceMethodInterface* clone() const override = 0;
33
34public:
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{
84public:
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 std::string getName() const =0
virtual bool hasTree() const =0
virtual DistanceMethodInterface * clone() const override=0
virtual const Tree & tree() const =0
Interface for phylogenetic tree objects.
Definition: Tree.h:115
Defines the basic types of data flow nodes.