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 * 123 Front Street West, Suite 1401 00009 * Toronto, Ontario 00010 * Canada M5J 2M2 00011 * 416-504-9876 00012 * 00013 * NAME: SHOP_VariableInput.h ( SHOP Library, C++) 00014 * 00015 * COMMENTS: A node which takes variable numbers of inputs 00016 */ 00017 00018 #ifndef __SHOP_VariableInput__ 00019 #define __SHOP_VariableInput__ 00020 00021 #include "SHOP_API.h" 00022 #include "SHOP_Node.h" 00023 00024 class SHOP_API SHOP_VariableInput : public SHOP_Node { 00025 public: 00026 SHOP_VariableInput(OP_Network *dad, const char *name, 00027 OP_Operator *entry, SHOP_TYPE shader_type=SHOP_SURFACE) 00028 : SHOP_Node(dad, name, entry, shader_type) 00029 { 00030 } 00031 virtual ~SHOP_VariableInput(); 00032 00033 virtual unsigned getNumVisibleInputs() const; 00034 virtual unsigned orderedInputs() const; 00035 00036 virtual void opChanged(OP_EventType reason, void *data=0); 00037 virtual void ensureParametersAreValid(); 00038 00039 protected: 00040 virtual void preOpChanged(OP_EventType, void *) {} 00041 00042 int myLatestOpChangedId; 00043 static SHOP_Node *theOriginalOpChanged; 00044 static int theLatestOpChangedId; 00045 }; 00046 00047 #endif 00048
1.5.9