HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HUSD_LayerCheckpoint.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: HUSD_LayerCheckpoint.h (HUSD Library, C++)
7  *
8  * COMMENTS: Data structure for hold a copy of the active layer.
9  */
10 
11 #ifndef __HUSD_LayerCheckpoint_h__
12 #define __HUSD_LayerCheckpoint_h__
13 
14 #include "HUSD_API.h"
15 #include "HUSD_DataHandle.h"
16 #include "HUSD_PathSet.h"
17 
19 {
20 public:
23 
24  // If modified_prims is provided, a copy of it is stored alongside the
25  // layer, and can be retrieved again later by passing a set to restore().
26  void create(const HUSD_AutoAnyLock &lock,
27  const HUSD_PathSet *modified_prims = nullptr);
28  // If modified_prims is provided, the set of prims stored at create()
29  // time (if any) is inserted into it.
30  bool restore(const HUSD_AutoLayerLock &layerlock,
31  HUSD_PathSet *modified_prims = nullptr);
32 
33 private:
34  PXR_NS::XUSD_LayerPtr myLayer;
35  HUSD_PathSet myModifiedPrims;
36 };
37 
38 #endif
#define HUSD_API
Definition: HUSD_API.h:31
UT_IntrusivePtr< XUSD_Layer > XUSD_LayerPtr