00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __SHOP_Output__
00023 #define __SHOP_Output__
00024
00025 #include "SHOP_API.h"
00026 #include "SHOP_VariableInput.h"
00027
00028 class SHOP_API SHOP_Output : public SHOP_VariableInput {
00029 public:
00030 SHOP_Output(OP_Network *dad, const char *name,
00031 OP_Operator *entry, SHOP_TYPE shader_type=SHOP_MUTABLE)
00032 : SHOP_VariableInput(dad, name, entry, shader_type)
00033 {
00034 }
00035 virtual ~SHOP_Output();
00036
00037
00038 static const int theMaxInputSize;
00039
00040 static OP_Node *myConstructor(OP_Network *net,
00041 const char *name,
00042 OP_Operator *entry);
00043 static PRM_Template myTemplateList[];
00044
00045 virtual SHOP_Node *findShader(SHOP_TYPE type, fpreal now,
00046 const UT_Options *options);
00047 virtual int collectShaders(UT_PtrArray<SHOP_Node *>&list,
00048 SHOP_TYPE shop_type, fpreal now,
00049 const UT_Options *options);
00050
00051 virtual unsigned getNumVisibleInputs() const;
00052 virtual unsigned maxInputs() const;
00053 virtual void getInputName(UT_String &name, int idx) const;
00054 virtual SHOP_TYPE getInputType(int idx) const;
00055 virtual unsigned orderedInputs() const;
00056 virtual OP_ERROR setInput(unsigned idx, OP_Node *op,
00057 unsigned outputIdx=0);
00058
00059 virtual int getInputTileLOD() const;
00060 virtual bool isInputVisible(int idx) const;
00061
00062 virtual unsigned getNumVisibleOutputs() const;
00063
00064 static int getMaterialOutputCount();
00065
00066 protected:
00067 virtual void preOpChanged(OP_EventType Reason, void *data);
00068 };
00069
00070 #endif