11 #ifndef __GU_SopResolver__
12 #define __GU_SopResolver__
51 if (idx < minInputIdx() || idx > maxInputIdx())
54 return myNegInputCache(-(idx+1));
56 return myPosInputCache(idx);
66 myNegInputCache.forcedRef(idx) = gdp;
67 myNegVexGeoCache.forcedRef(idx) = 0;
71 myPosInputCache.forcedRef(idx) = gdp;
72 myPosVexGeoCache.forcedRef(idx) = 0;
80 myClearCBList.append(cb);
90 if (idx < minInputIdx() || idx > maxInputIdx())
93 return myNegVexGeoCache(-(idx+1));
95 return myPosVexGeoCache(idx);
100 auto it = myVexGeoCacheMap.find(key);
102 if( it == myVexGeoCacheMap.end() )
109 UT_ASSERT(idx >= minInputIdx() && idx <= maxInputIdx());
117 UT_ASSERT(!myNegVexGeoCache(idx) || !cache);
118 myNegVexGeoCache(idx) = cache;
122 UT_ASSERT(!myPosVexGeoCache(idx) || !cache);
123 myPosVexGeoCache(idx) = cache;
133 UT_ASSERT(!myVexGeoCacheMap.contains(key) || !cache );
134 myVexGeoCacheMap.insert( std::make_pair(key,cache ) );
163 myFrameSpecified =
false;
164 myTimeSpecified =
false;
173 void clearButLeaveTime();
184 const char *fullpath,
int relative_to=-1);
190 void addDopReference(
int callerid);
193 if (myFrameSpecified)
195 return myFrameSpecified;
200 myFrameSpecified =
true;
208 return myTimeSpecified;
213 myTimeSpecified =
true;
225 bool myFrameSpecified;
227 bool myTimeSpecified;
253 static bool lookup(
const char *fullpath,
GU_SopQuery &q);
254 static bool lookupXform(
const char *fullpath,
GU_SopQuery &q);
261 virtual int resolveId(
const char *fullpath,
262 int relative_to,
bool &flaginterest) = 0;
269 virtual void addDopReference(
GU_SopQuery &q,
int callerid) = 0;
bool getFlagInterest() const
bool getTime(fpreal &frame) const
void setXform(const UT_Matrix4D &xform)
void setFrame(fpreal frame)
const UT_String & getSubPath() const
void addPreserveRequest()
void setDetail(const GU_ConstDetailHandle &handle)
void setIsDopData(bool isdop)
bool getFrame(fpreal &frame) const
void setTime(fpreal frame)