00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Mark Elendt 00008 * Side Effects Software Inc 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: VOP_Operator.h ( VOP Library, C++) 00015 * 00016 * COMMENTS: Special class which has additional knowledge about the operator 00017 * being described. 00018 */ 00019 00020 #ifndef __VOP_Operator__ 00021 #define __VOP_Operator__ 00022 00023 #include "VOP_API.h" 00024 #include <OP/OP_Operator.h> 00025 #include "VOP_OperatorInfo.h" 00026 00027 class VOP_API VOP_Operator : public OP_Operator { 00028 public: 00029 VOP_Operator(const char *name, 00030 const char *english, 00031 OP_Constructor construct, 00032 PRM_Template *templates, 00033 unsigned min_sources, 00034 unsigned max_sources, 00035 const char *vopnetMask, 00036 CH_LocalVariable *variables = 0, 00037 unsigned flags = 0, 00038 unsigned num_outputs = 1); 00039 00040 virtual ~VOP_Operator(); 00041 00042 virtual OP_SpecificData *getOpSpecificData() 00043 { return &myOperatorInfo; } 00044 virtual const OP_SpecificData *getOpSpecificData() const 00045 { return &myOperatorInfo; } 00046 00047 virtual unsigned maxOutputs(); 00048 00049 virtual bool wantsInputEditor() const; 00050 virtual bool wantsParmOrderEditor() const; 00051 virtual bool wantsOutputNameEditor() const; 00052 00053 private: 00054 VOP_OperatorInfo myOperatorInfo; 00055 unsigned myNumOutputs; 00056 }; 00057 00058 #endif
1.5.9