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 class OP_BundlePattern;
00028
00029 class OP_API OP_BundleFilter {
00030 public:
00031
00032
00033
00034
00035 OP_BundleFilter();
00036 virtual ~OP_BundleFilter();
00037
00038 static const OP_BundleFilter *findFilter(const char *name);
00039 static int getFilterCount();
00040 static const OP_BundleFilter *getFilter(int index);
00041
00042 static const char *getNullFilterName();
00043
00044 virtual const char *getName() const = 0;
00045 virtual const char *getLabel() const = 0;
00046 virtual bool isNodeValid(const OP_Bundle *bundle,
00047 const OP_Node *node) const = 0;
00048
00049 virtual int findAllNodes(const OP_Bundle *bundle,
00050 UT_IntArray &list,
00051 const OP_Node *net,
00052 const OP_Node *relativeto) const;
00053 private:
00054 };
00055
00056 #endif
00057