11 #ifndef __GU_SopResolver__
12 #define __GU_SopResolver__
56 if (idx < minInputIdx() || idx > maxInputIdx())
59 return myNegInputCache(-(idx+1));
61 return myPosInputCache(idx);
71 myNegInputCache.forcedRef(idx) = gdp;
72 myNegVexGeoCache.forcedRef(idx) = 0;
76 myPosInputCache.forcedRef(idx) = gdp;
77 myPosVexGeoCache.forcedRef(idx) = 0;
85 myClearCBList.append(cb);
95 if (idx < minInputIdx() || idx > maxInputIdx())
98 return myNegVexGeoCache(-(idx+1));
100 return myPosVexGeoCache(idx);
105 auto it = myVexGeoCacheMap.find(key);
107 if( it == myVexGeoCacheMap.end() )
114 UT_ASSERT(idx >= minInputIdx() && idx <= maxInputIdx());
122 UT_ASSERT(!myNegVexGeoCache(idx) || !cache);
123 myNegVexGeoCache(idx) = cache;
127 UT_ASSERT(!myPosVexGeoCache(idx) || !cache);
128 myPosVexGeoCache(idx) = cache;
138 UT_ASSERT(!myVexGeoCacheMap.contains(key) || !cache );
139 myVexGeoCacheMap.insert( std::make_pair(key,cache ) );
168 myFrameSpecified =
false;
169 myTimeSpecified =
false;
178 void clearButLeaveTime();
182 myDetail.addPreserveRequest();
189 const char *fullpath,
int relative_to=-1);
195 void addDopReference(
int callerid);
198 if (myFrameSpecified)
200 return myFrameSpecified;
205 myFrameSpecified =
true;
213 return myTimeSpecified;
218 myTimeSpecified =
true;
230 bool myFrameSpecified;
232 bool myTimeSpecified;
258 static bool lookup(
const char *fullpath,
GU_SopQuery &
q);
259 static bool lookupXform(
const char *fullpath,
GU_SopQuery &q);
266 virtual int resolveId(
const char *fullpath,
267 int relative_to,
bool &flaginterest) = 0;
274 virtual void addDopReference(
GU_SopQuery &q,
int callerid) = 0;
bool getFlagInterest() const
bool getTime(fpreal &frame) const
void setXform(const UT_Matrix4D &xform)
GLdouble GLdouble GLdouble q
void setFrame(fpreal frame)
const UT_String & getSubPath() const
void setDetail(const GU_ConstDetailHandle &handle)
void setIsDopData(bool isdop)
bool getFrame(fpreal &frame) const
void setTime(fpreal frame)