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(
225 bool last_sublayer_is_editable);
229 bool applyLayerBreak();
235 void setStageRootPrimMetadata(
const TfToken &field,
237 void setStageRootLayerData(
240 void setStageRootLayerData(
262 void addReplacements(
270 void addLockedStages(
276 static void clearAllMirroredData();
281 int resolver_context_nodeid,
285 void createSoftCopy(
const XUSD_Data &src,
287 bool make_new_implicit_layer);
288 void createCopyWithReplacement(
304 int creator_node_id);
308 int creator_node_id);
312 UsdStageRefPtr getOrCreateStageForFlattening(
318 bool mirrorUpdateRootLayer(
321 void afterLock(
bool for_write,
328 bool remove_layer_breaks =
false);
329 XUSD_LayerPtr editActiveSourceLayer(
bool create_change_block);
330 void createInitialPlaceholderSublayers();
331 void applyRootLayerDataToStage();
334 static void exitCallback(
void *);
336 UsdStageRefPtr myStage;
353 bool myMirrorLoadRulesChanged;
354 int myActiveLayerIndex;
355 bool myOwnsActiveLayer;
357 friend class ::HUSD_DataHandle;
364 bool create_change_block)
366 myChangeBlock(nullptr)
368 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)