00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __OR_Mapping__
00022 #define __OR_Mapping__
00023
00024 #include "OP_API.h"
00025 #include <UT/UT_PtrArray.h>
00026
00027
00028 #define OR_MAP_AUTONAME 0
00029 #define OR_MAP_MANUAL 1
00030
00031 #define OR_MAP_DEFAULT OR_MAP_AUTONAME
00032
00033 class orMapElement;
00034 class OP_Node;
00035 class opParmData;
00036 class UT_IStream;
00037
00038 class OP_API OR_Mapping
00039 {
00040
00041 public:
00042
00043 OR_Mapping();
00044 ~OR_Mapping();
00045
00046 void setMapping(int idx, int type, const char *label = 0);
00047 int getMapping(int idx, const char *&label) const;
00048
00049 int getNumMappings() const
00050 { return myElements.entries(); }
00051
00052 int findManualParms(int index, OP_Node *src);
00053 const opParmData *getManualParm(int index, int i);
00054
00055 void buildOpDependencies( OP_Node *src );
00056 void changeOpRef(const char *new_fullpath, const char *old_fullpath,
00057 const char *old_cwd);
00058
00059 int save(ostream &os, int binary);
00060 bool load(UT_IStream &is);
00061
00062 private:
00063
00064 void reset();
00065
00066
00067 UT_PtrArray<orMapElement *> myElements;
00068
00069 };
00070
00071 #endif
00072