18 #ifndef __HUSD_Data_h__
19 #define __HUSD_Data_h__
95 int layer_badge_index = 0);
97 const std::string &filepath,
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;
184 const std::string &rootLayerIdentifier()
const;
192 bool addLayer(
const std::string &filepath,
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);
307 void createCopyWithReplacement(
312 bool replace_sublayers_only,
315 bool createReplacementLayer(
const XUSD_Data &src,
318 bool create_new_sublayer,
320 int new_layer_position,
323 int &out_found_layer_root_index,
326 bool setEditLayer(
int root_index,
341 int creator_node_id);
345 int creator_node_id);
349 UsdStageRefPtr getOrCreateStageForFlattening(
355 bool mirrorUpdateRootLayer(
358 void afterLock(
bool for_write,
365 bool remove_layer_breaks =
false);
366 XUSD_LayerPtr editActiveSourceLayer(
bool create_change_block);
367 void createInitialPlaceholderSublayers();
368 void applyRootLayerDataToStage();
371 static void exitCallback(
void *);
373 UsdStageRefPtr myStage;
390 bool myMirrorLoadRulesChanged;
391 bool myOwnsActiveLayer;
392 int myActiveLayerIndex;
398 friend class ::HUSD_DataHandle;
405 bool create_change_block)
407 myChangeBlock(nullptr)
409 if (create_change_block)
const SdfLayerRefPtr & layer() const
UT_SharedPtr< HUSD_LoadMasks > HUSD_LoadMasksPtr
HUSD_OverridesPtr myWriteOverrides
GLsizei const GLfloat * value
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)