13 #ifndef __OBJ_Shared__
14 #define __OBJ_Shared__
28 mySwitcher = switcher;
35 UT_ASSERT(!myPrev && theCurrentSwitcher !=
this);
36 if (theCurrentSwitcher ==
this)
38 if (myFolder >= 0 && myFolder != myMaxSize)
40 UT_ASSERT(0 &&
"Forgot to call finish() didn't you?");
47 myPrev = theCurrentSwitcher;
48 theCurrentSwitcher =
this;
54 prev = theCurrentSwitcher->myPrev;
55 theCurrentSwitcher->myPrev = 0;
56 theCurrentSwitcher = prev;
61 theCurrentSwitcher->startFolder(label);
66 theCurrentSwitcher->endFolder();
71 if (theCurrentSwitcher)
74 theCurrentSwitcher->myCount++;
80 return myFolder >= 0 && myFolder < myMaxSize;
82 void startFolder(
const char *
label)
84 if (myCount || myFolder >= 0)
87 mySwitcher[myFolder].setOrdinal(myCount);
91 mySwitcher[myFolder].setString(label);
99 mySwitcher[myFolder].setOrdinal(myCount);
100 myFolder = myMaxSize;
111 #define SET_DECL_SWITCHER(builder, switcher) \
112 obj_SwitcherBuilder builder(switcher, sizeof(switcher)/sizeof(PRM_Default));
113 #define SET_PUSH_SWITCHER(builder) builder.push();
114 #define SET_FOLDER(label) obj_SwitcherBuilder::folder(label);
115 #define SET_POP_SWITCHER() obj_SwitcherBuilder::finish();
116 #define SET_TPLATE(src, idx) \
117 theTemplate[i] = src[idx]; i++; obj_SwitcherBuilder::add();
118 #define SET_TPLATE_NOINC(src, idx) \
119 theTemplate[i] = src[idx]; i++;
120 #define SET_ADDED_TPLATE() obj_SwitcherBuilder::add();
121 #define SET_TPLATE_EX(src, idx) \
122 theTemplate[i] = src[idx]; \
123 obj_SwitcherBuilder::add(); \
124 theTemplate[i].setExportLevel(PRM_Template::PRM_EXPORT_TBX); i++;
127 #define SET_TPLATE_LEGACY_LOOKAT_PATH() \
128 SET_TPLATE(OBJbaseTemplate, I_CONSTRAINTS_ON) \
129 SET_TPLATE(OBJbaseTemplate, I_CONSTRAINTS) \
130 SET_TPLATE(OBJbaseITemplate, I_LOOKAT) \
131 SET_TPLATE(OBJbaseITemplate, I_LOOKUPOBJ) \
132 SET_TPLATE(OBJbaseITemplate, I_LOOKUP) \
133 SET_TPLATE(OBJbaseITemplate, I_PATHOBJ) \
134 SET_TPLATE(OBJbaseITemplate, I_PATHROLL) \
135 SET_TPLATE(OBJbaseITemplate, I_PATHPOS) \
136 SET_TPLATE(OBJbaseITemplate, I_PATHUPARMTYPE) \
137 SET_TPLATE(OBJbaseITemplate, I_PATHORIENT) \
138 SET_TPLATE(OBJbaseITemplate, I_PATHUP) \
139 SET_TPLATE(OBJbaseITemplate, I_PATHBANK)
142 #define SET_TPLATEI_LEGACY_LOOKAT_PATH() \
143 SET_TPLATE(OBJbaseTemplate, I_CONSTRAINTS_ON) \
144 SET_TPLATE(OBJbaseTemplate, I_CONSTRAINTS) \
145 SET_TPLATE(OBJbaseITemplate, I_LOOKAT) \
146 SET_TPLATE(OBJbaseITemplate, I_LOOKUPOBJ) \
147 SET_TPLATE(OBJbaseITemplate, I_LOOKUP) \
148 SET_TPLATE(OBJbaseITemplate, I_PATHOBJ) \
149 SET_TPLATE(OBJbaseITemplate, I_PATHROLL) \
150 SET_TPLATE(OBJbaseITemplate, I_PATHPOS) \
151 SET_TPLATE(OBJbaseITemplate, I_PATHUPARMTYPE) \
152 SET_TPLATE(OBJbaseITemplate, I_PATHORIENT) \
153 SET_TPLATE(OBJbaseITemplate, I_PATHUP) \
154 SET_TPLATE(OBJbaseITemplate, I_PATHBANK)
OBJ_API PRM_Template OBJambientObsolete[]
OBJ_API PRM_Template OBJstickyITemplate[]
OBJ_API PRM_Template OBJstickySharedTemplate[]
GLuint GLsizei const GLchar * label
OBJ_API PRM_Template OBJstickyTemplate[]
OBJ_API PRM_Template OBJgeoITemplate[]
OBJ_API PRM_Template OBJcamSwitchTemplate[]
OBJ_API const char * input1ObjectToken
OBJ_API PRM_Template OBJgeoObsolete[]
OBJ_API const char * renderSopToken
OBJ_API PRM_Template OBJcamObsolete[]
OBJ_API PRM_Template OBJhandleTemplate[]
OBJ_API PRM_Template OBJambientITemplate[]
OBJ_API PRM_Template OBJsubnetITemplate[]
OBJ_API PRM_Template OBJsubnetTemplate[]
OBJ_API PRM_Template OBJdopnetITemplate[]
OBJ_API PRM_Template OBJstickyBlendITemplate[]
OBJ_API PRM_Template OBJmicrophoneITemplate[]
OBJ_API const char * displaySopToken
OBJ_API PRM_Template OBJfogObsolete[]
OBJ_API PRM_Template OBJblendTemplate[]
OBJ_API PRM_Template OBJfetchObsolete[]
OBJ_API PRM_Template OBJhandleITemplate[]
OBJ_API PRM_Template OBJstickySharedITemplate[]
OBJ_API PRM_Template OBJmuscleITemplate[]
OBJ_API PRM_Template OBJboneTemplate[]
OBJ_API PRM_Template OBJfetchITemplate[]
OBJ_API PRM_Template OBJhandleObsolete[]
OBJ_API PRM_Template OBJfogITemplate[]
OBJ_API PRM_Template OBJfetchTemplate[]
OBJ_API const char * input3ObjectToken
OBJ_API PRM_Template OBJlightObsolete[]
OBJ_API PRM_Template OBJsoundTemplate[]
OBJ_API const char * boundingSphereToken
OBJ_API const char * boundingBoxToken
OBJ_API const char * input4ObjectToken
OBJ_API PRM_Template OBJbaseObsolete[]
OBJ_API PRM_Template OBJmuscleTemplate[]
OBJ_API PRM_Template OBJboneITemplate[]
OBJ_API PRM_Template OBJsoundObsolete[]
OBJ_API PRM_Template OBJrivetTemplate[]
OBJ_API PRM_Template OBJboneObsolete[]
OBJ_API PRM_Template OBJcamSwitchITemplate[]
OBJ_API PRM_Template OBJdopnetObsolete[]
OBJ_API PRM_Template OBJsoundITemplate[]
OBJ_API PRM_Template OBJbaseITemplate[]
OBJ_API PRM_Template OBJdopnetTemplate[]
static void folder(const char *label)
OBJ_API PRM_Template OBJblendObsolete[]
OBJ_API PRM_Template OBJnullTemplate[]
OBJ_API PRM_Template OBJgeoTemplate[]
OBJ_API PRM_Template OBJrivetITemplate[]
OBJ_API const char * input2ObjectToken
OBJ_API PRM_Template OBJbaseTemplate[]
obj_SwitcherBuilder(PRM_Default *switcher, int maxsize)
OBJ_API PRM_Template OBJnullITemplate[]
OBJ_API PRM_Template OBJextractgeoTemplate[]
OBJ_API PRM_Template OBJfogTemplate[]
OBJ_API PRM_Template OBJstereoCameraITemplate[]
OBJ_API PRM_Template OBJmicrophoneObsolete[]
OBJ_API PRM_Template OBJambientTemplate[]
OBJ_API PRM_Template OBJstereoCameraTemplate[]
OBJ_API PRM_Template OBJmicrophoneTemplate[]
OBJ_API PRM_Template OBJblendITemplate[]
OBJ_API PRM_Template OBJstickyBlendTemplate[]