00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __OP_BundleFilter__
00019 #define __OP_BundleFilter__
00020
00021 #include "OP_API.h"
00022
00023 #include <UT/UT_IntArray.h>
00024
00025 class OP_Node;
00026 class OP_Bundle;
00027
00028 class OP_API OP_BundleFilter {
00029 public:
00030
00031
00032
00033
00034 OP_BundleFilter();
00035 virtual ~OP_BundleFilter();
00036
00037 static const OP_BundleFilter *findFilter(const char *name);
00038 static int getFilterCount();
00039 static const OP_BundleFilter *getFilter(int index);
00040
00041 static const char *getNullFilterName();
00042
00043 virtual const char *getName() const = 0;
00044 virtual const char *getLabel() const = 0;
00045 virtual bool isNodeValid(const OP_Bundle *bundle,
00046 const OP_Node *node) const = 0;
00047
00048 virtual int findAllNodes(const OP_Bundle *bundle,
00049 UT_IntArray &list,
00050 const OP_Node *net,
00051 const OP_Node *relativeto) const;
00052 private:
00053 };
00054
00055 #endif
00056