18 #ifndef __HUSD_Data_h__
19 #define __HUSD_Data_h__
95 int layer_badge_index = 0);
99 int layer_badge_index = 0);
148 explicit XUSD_Data(
const UsdStageRefPtr &stage);
152 bool isStageValid()
const;
154 UsdStageRefPtr stage()
const;
159 bool activeLayerIsReusable()
const;
162 std::set<std::string> getStageLayersToRemoveFromLayerBreak()
const;
196 bool copy_root_prim_metadata);
200 bool copy_root_prim_metadata);
206 const std::vector<std::string> &paths,
207 const std::vector<bool> &above_breaks,
211 bool copy_root_prim_metadata);
213 const std::vector<std::string> &paths,
217 bool copy_root_prim_metadata);
221 bool copy_root_prim_metadata);
227 const std::set<std::string> &filepaths);
231 bool replaceAllSourceLayers(
239 bool last_sublayer_is_editable);
243 bool applyLayerBreak();
249 void setStageRootPrimMetadata(
const TfToken &field,
251 void setStageRootLayerData(
254 void setStageRootLayerData(
276 void addReplacements(
284 void addLockedStages(
290 static void clearAllMirroredData();
295 int resolver_context_nodeid,
299 void createSoftCopy(
const XUSD_Data &src,
301 bool make_new_implicit_layer);
302 void createCopyWithReplacement(
318 int creator_node_id);
322 int creator_node_id);
326 UsdStageRefPtr getOrCreateStageForFlattening(
332 bool mirrorUpdateRootLayer(
335 void afterLock(
bool for_write,
342 bool remove_layer_breaks =
false);
343 XUSD_LayerPtr editActiveSourceLayer(
bool create_change_block);
344 void createInitialPlaceholderSublayers();
345 void applyRootLayerDataToStage();
348 static void exitCallback(
void *);
350 UsdStageRefPtr myStage;
367 bool myMirrorLoadRulesChanged;
368 int myActiveLayerIndex;
369 bool myOwnsActiveLayer;
371 friend class ::HUSD_DataHandle;
378 bool create_change_block)
380 myChangeBlock(nullptr)
382 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
#define SYS_DECLARE_IS_NOT_TR(T)
Declare that that trivial relocation with type T is not guaranteed to be safe.
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)