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;
167 std::set<std::string> getStageLayersToRemoveFromLayerBreak(
168 LayerPathFormat
format)
const;
190 const std::string &rootLayerIdentifier()
const;
198 bool addLayer(
const std::string &filepath,
202 bool copy_root_prim_metadata);
206 bool copy_root_prim_metadata);
212 const std::vector<std::string> &paths,
213 const std::vector<bool> &above_breaks,
217 bool copy_root_prim_metadata);
219 const std::vector<std::string> &paths,
223 bool copy_root_prim_metadata);
227 bool copy_root_prim_metadata);
233 const std::set<std::string> &filepaths);
237 bool replaceAllSourceLayers(
245 bool last_sublayer_is_editable);
249 bool applyLayerBreak();
255 void setStageRootPrimMetadata(
const TfToken &field,
257 void setStageRootLayerData(
260 void setStageRootLayerData(
282 void addReplacements(
290 void addLockedStages(
296 static void clearAllMirroredData();
301 int resolver_context_nodeid,
307 bool make_new_implicit_layer);
313 void createCopyWithReplacement(
318 bool replace_sublayers_only,
324 bool create_new_sublayer,
326 int new_layer_position,
329 int &out_found_layer_root_index,
332 bool setEditLayer(
int root_index,
347 int creator_node_id);
351 int creator_node_id);
355 UsdStageRefPtr getOrCreateStageForFlattening(
361 bool mirrorUpdateRootLayer(
364 void afterLock(
bool for_write,
371 bool remove_layer_breaks =
false);
372 void updateLayerMutingAfterLock();
374 XUSD_LayerPtr editActiveSourceLayer(
bool create_change_block);
375 void createInitialPlaceholderSublayers();
376 void applyRootLayerDataToStage();
379 static void exitCallback(
void *);
381 UsdStageRefPtr myStage;
398 bool myMirrorLoadRulesChanged;
399 bool myOwnsActiveLayer;
400 int myActiveLayerIndex;
406 friend class ::HUSD_DataHandle;
413 bool create_change_block)
415 myChangeBlock(nullptr)
417 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
GLint GLint GLsizei GLint GLenum format
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)