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 * Side Effects Software Inc. 00008 * 20 Maud St. 00009 * Toronto, Ontario, M5V 2M5 00010 * Canada 00011 * 416-366-4607 00012 * 00013 * NAME: VOP Library (C++) 00014 * 00015 */ 00016 00017 #ifndef __VOP_OutputVar_h__ 00018 #define __VOP_OutputVar_h__ 00019 00020 #include "VOP_API.h" 00021 #include "VOP_Node.h" 00022 00023 class VOP_API VOP_OutputVar : public VOP_Node 00024 { 00025 public: 00026 static OP_Node *myConstructor(OP_Network *net, 00027 const char *name, 00028 OP_Operator *entry); 00029 static PRM_Template myTemplateList[]; 00030 00031 virtual void getCode(UT_String &codestr); 00032 00033 virtual void ensureParametersAreValid(); 00034 00035 virtual const char *inputLabel(unsigned idx) const; 00036 00037 virtual unsigned maxInputs() const; 00038 00039 virtual bool forceCodeGenerationOfInputs() const; 00040 00041 bool OUTPUTCODELAST(); 00042 00043 protected: 00044 VOP_OutputVar(OP_Network *parent, const char *name, OP_Operator *entry); 00045 virtual ~VOP_OutputVar(); 00046 00047 virtual void getInputNameSubclass(UT_String &in, int idx) const; 00048 virtual int getInputFromNameSubclass(const UT_String &in) const; 00049 virtual VOP_Type getInputTypeSubclass(int idx); 00050 virtual void getAllowedInputTypesSubclass(unsigned idx, VOP_VopTypeArray &voptypes); 00051 00052 private: 00053 VOP_GlobalVarList myGlobalVarList; 00054 }; 00055 00056 #endif
1.5.9