HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
LOP_LayerCheckpoints.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: LOP_LayerCheckpoints.h (LOP Library, C++)
7
*
8
* COMMENTS: Data structure for managing checkpoints in LOP cooks.
9
*/
10
11
#ifndef __LOP_LayerCheckpoints_h__
12
#define __LOP_LayerCheckpoints_h__
13
14
#include "
LOP_API.h
"
15
#include <
HUSD/HUSD_DataHandle.h
>
16
#include <
HUSD/HUSD_LayerCheckpoint.h
>
17
#include <
DEP/DEP_MicroNode.h
>
18
#include <
UT/UT_StringMap.h
>
19
#include <
UT/UT_UniquePtr.h
>
20
21
class
OP_Context
;
22
class
LOP_Node
;
23
class
LOP_LayerCheckpoints
;
24
25
class
LOP_API
LOP_CheckpointMicroNode
:
public
DEP_MicroNode
26
{
27
public
:
28
LOP_CheckpointMicroNode
(
LOP_LayerCheckpoints
&owner);
29
~
LOP_CheckpointMicroNode
()
override
;
30
31
void
becameDirty
(
DEP_MicroNode
&
src
,
32
const
DEP_PropagateData
&propdata)
override
;
33
34
private
:
35
LOP_LayerCheckpoints
&myOwner;
36
};
37
38
class
LOP_API
LOP_LayerCheckpoints
39
{
40
public
:
41
LOP_LayerCheckpoints
(
LOP_Node
&owner);
42
~
LOP_LayerCheckpoints
();
43
44
void
ownerInputRewired();
45
void
clearIfUpdateRequired(
const
OP_Context
&context);
46
void
setClearCheckpointsOnInputChange(
bool
clear);
47
48
void
createCheckpoint(
const
HUSD_AutoAnyLock
&lock,
49
const
UT_StringHolder
&
id
);
50
void
removeCheckpoint(
const
UT_StringRef
&
id
);
51
void
clear();
52
53
void
getAvailableCheckpoints(
UT_StringArray
&
ids
)
const
;
54
bool
restoreCheckpoint(
const
HUSD_AutoLayerLock
&layerlock,
55
const
UT_StringRef
&
id
)
const
;
56
57
private
:
58
void
addInterestInInputDataChange();
59
void
removeInterestInInputDataChange();
60
61
typedef
UT_StringMap<HUSD_LayerCheckpoint>
CheckpointMap
;
62
63
UT_UniquePtr<CheckpointMap>
myCheckpoints;
64
LOP_Node
&myOwner;
65
LOP_CheckpointMicroNode
myMicroNode;
66
bool
myClearCheckpointsOnInputDataChange;
67
};
68
69
#endif
LOP_API.h
UT_StringMap
Definition:
GEO_Detail.h:53
DEP_MicroNode::becameDirty
virtual void becameDirty(DEP_MicroNode &src, const DEP_PropagateData &propdata)
Definition:
DEP_MicroNode.h:160
UT_StringRef
Definition:
UT_StringHolder.h:188
LOP_Node
Definition:
LOP_Node.h:107
OP_Context
Definition:
OP_Context.h:44
UT_UniquePtr
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition:
UT_UniquePtr.h:39
HUSD_LayerCheckpoint.h
UT_StringHolder
Definition:
UT_StringHolder.h:999
UT_StringArray
Definition:
UT_StringArray.h:24
DEP_MicroNode.h
LOP_API
#define LOP_API
Definition:
LOP_API.h:10
HUSD_AutoAnyLock
Definition:
HUSD_DataHandle.h:188
LOP_CheckpointMicroNode
Definition:
LOP_LayerCheckpoints.h:25
LOP_LayerCheckpoints
Definition:
LOP_LayerCheckpoints.h:38
UT_UniquePtr.h
DEP_PropagateData
Propagation info for a dep micro node.
Definition:
DEP_MicroNode.h:36
DEP_MicroNode
Definition:
DEP_MicroNode.h:60
HUSD_DataHandle.h
ids
GLuint * ids
Definition:
glcorearb.h:652
HUSD_AutoLayerLock
Definition:
HUSD_DataHandle.h:289
UT_StringMap.h
src
GLenum src
Definition:
glcorearb.h:1793
LOP
LOP_LayerCheckpoints.h
Generated on Fri Nov 8 2024 03:39:24 for HDK by
1.8.6