/usr/include/tulip/Algorithm.h is in libtulip-dev 3.1.2-2.3ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | //-*-c++-*-
/**
Authors: David Auber, Patrick Mary, Morgan Mathiaut
from the LaBRI Visualization Team
Email : auber@tulip-software.org
Last modification : 13/03/2009
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/
#ifndef _CLUSTERING_H
#define _CLUSTERING_H
#include <list>
#include <string>
#include "tulip/Graph.h"
#include "tulip/Reflect.h"
#include "tulip/WithParameter.h"
#include "tulip/WithDependency.h"
#include "tulip/PluginProgress.h"
#include "tulip/Plugin.h"
#include "tulip/TemplateFactory.h"
/**
* \addtogroup plugins
*/
namespace tlp {
/*@{*/
///Interface for general algorithm plug-ins
class Algorithm : public WithParameter, public WithDependency
{
public :
Algorithm (AlgorithmContext context):graph(context.graph),pluginProgress(context.pluginProgress),dataSet(context.dataSet){}
virtual ~Algorithm() {}
virtual bool run() = 0;
virtual bool check(std::string &) {return true;}
virtual void reset() {}
protected:
Graph *graph;
PluginProgress *pluginProgress;
DataSet *dataSet;
};
class AlgorithmFactory:public Plugin{
public:
static TLP_SCOPE TemplateFactory<AlgorithmFactory, Algorithm,AlgorithmContext > *factory;
static void initFactory() {
if (!factory) {
factory = new TemplateFactory<AlgorithmFactory, Algorithm,AlgorithmContext >;
}
}
virtual ~AlgorithmFactory() {}
virtual Algorithm * createPluginObject(AlgorithmContext)=0;
virtual std::string getMajor() const {
return tlp::getMajor(getRelease());
}
virtual std::string getMinor() const {
return tlp::getMinor(getRelease());
}
virtual std::string getTulipMajor() const {
return tlp::getMajor(getTulipRelease());
}
virtual std::string getTulipMinor() const {
return tlp::getMinor(getTulipRelease());
}
};
/*@}*/
}
#endif
|