18 #ifndef __HUSD_Data_h__
19 #define __HUSD_Data_h__
81 int layer_badge_index = 0);
85 int layer_badge_index = 0);
134 explicit XUSD_Data(
const UsdStageRefPtr &stage);
138 bool isStageValid()
const;
140 UsdStageRefPtr stage()
const;
145 bool activeLayerIsReusable()
const;
148 std::set<std::string> getStageLayersToRemoveFromLayerBreak()
const;
182 bool copy_root_prim_metadata);
186 bool copy_root_prim_metadata);
192 const std::vector<std::string> &paths,
193 const std::vector<bool> &above_breaks,
197 bool copy_root_prim_metadata);
199 const std::vector<std::string> &paths,
203 bool copy_root_prim_metadata);
207 bool copy_root_prim_metadata);
213 const std::set<std::string> &filepaths);
217 bool replaceAllSourceLayers(
227 bool last_sublayer_is_editable);
231 bool applyLayerBreak();
237 void setStageRootPrimMetadata(
const TfToken &field,
239 void setStageRootLayerData(
242 void setStageRootLayerData(
264 void addReplacements(
272 void addLockedStages(
279 int resolver_context_nodeid,
283 void createSoftCopy(
const XUSD_Data &src,
285 bool make_new_implicit_layer);
286 void createCopyWithReplacement(
302 int creator_node_id);
306 int creator_node_id);
310 UsdStageRefPtr getOrCreateStageForFlattening(
316 bool mirrorUpdateRootLayer(
319 void afterLock(
bool for_write,
326 bool remove_layer_breaks =
false);
327 XUSD_LayerPtr editActiveSourceLayer(
bool create_change_block);
328 void createInitialPlaceholderSublayers();
329 void applyRootLayerDataToStage();
332 static void exitCallback(
void *);
334 UsdStageRefPtr myStage;
351 bool myMirrorLoadRulesChanged;
352 int myActiveLayerIndex;
353 bool myOwnsActiveLayer;
355 friend class ::HUSD_DataHandle;
362 bool create_change_block)
364 myChangeBlock(nullptr)
366 if (create_change_block)
const SdfLayerRefPtr & layer() const
UT_SharedPtr< HUSD_LoadMasks > HUSD_LoadMasksPtr
HUSD_OverridesPtr myWriteOverrides
GLsizei const GLchar *const * string
UT_IntrusivePtr< const HUSD_Overrides > HUSD_ConstOverridesPtr
XUSD_Layer(const SdfLayerRefPtr &layer, bool create_change_block)
A reference counter base class for use with UT_IntrusivePtr.
UsdStagePtr UsdStageWeakPtr
UT_IntrusivePtr< const HUSD_PostLayers > HUSD_ConstPostLayersPtr
UT_IntrusivePtr< HUSD_Overrides > HUSD_OverridesPtr
bool myLayerIsMissingFile
GLenum GLuint GLint GLint layer
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
GLuint GLsizei const GLuint const GLintptr * offsets
std::vector< SdfLayerOffset > SdfLayerOffsetVector
HUSD_ConstOverridesPtr myReadOverrides
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
std::vector< TfRefPtr< SdfLayer > > SdfLayerRefPtrVector
#define HUSD_OVERRIDES_NUM_LAYERS
HUSD_ConstPostLayersPtr myPostLayers
bool hasLayerColorIndex(int &clridx) const
UT_Function< UT_StringHolder(const UT_StringRef &oldpath)> HUSD_MakeNewPathFunc
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
UT_Array< XUSD_LayerAtPath > XUSD_LayerAtPathArray
UT_SharedPtr< HUSD_LockedStage > HUSD_LockedStagePtr
SIM_API const UT_StringHolder position
#define PXR_NAMESPACE_CLOSE_SCOPE
SdfLayerRefPtr mySessionLayers[HUSD_OVERRIDES_NUM_LAYERS]
XUSD_PostLayersInfo(const UsdStageRefPtr &stage)
bool myRemoveWithLayerBreak
SdfLayerRefPtrVector mySessionLayers
XUSD_OverridesInfo(const UsdStageRefPtr &stage)