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
HUSD_Merge.h
Go to the documentation of this file.
1
/*
2
* Copyright 2019 Side Effects Software Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
18
#ifndef __HUSD_Merge_h__
19
#define __HUSD_Merge_h__
20
21
#include "
HUSD_API.h
"
22
#include "
HUSD_DataHandle.h
"
23
#include "
HUSD_Utils.h
"
24
#include <
GU/GU_DetailHandle.h
>
25
#include <
UT/UT_StringArray.h
>
26
#include <
UT/UT_UniquePtr.h
>
27
28
enum
HUSD_MergeStyle
{
29
HUSD_MERGE_FLATTEN_INTO_ACTIVE_LAYER
,
30
HUSD_MERGE_FLATTENED_LAYERS
,
31
HUSD_MERGE_PERHANDLE_FLATTENED_LAYERS
,
32
HUSD_MERGE_SEPARATE_LAYERS
,
33
HUSD_MERGE_SEPARATE_LAYERS_WEAK_FILES
,
34
HUSD_MERGE_SEPARATE_LAYERS_WEAK_FILES_AND_SOPS
,
35
HUSD_MERGE_FLATTEN_LOP_LAYERS_INTO_ACTIVE_LAYER
36
};
37
38
class
HUSD_API
HUSD_Merge
39
{
40
public
:
41
HUSD_Merge
(
HUSD_MergeStyle
merge_style,
42
HUSD_StripLayerResponse
response,
43
bool
striplayerbreaks);
44
~
HUSD_Merge
();
45
46
bool
addHandle(
const
HUSD_DataHandle
&
src
,
47
const
UT_StringHolder
&dest_path =
48
UT_StringHolder::theEmptyString
);
49
bool
addLayer(
const
UT_StringRef
&filepath,
50
const
UT_StringMap<UT_StringHolder>
&refargs =
51
UT_StringMap<UT_StringHolder>
(),
52
const
GU_DetailHandle
&gdh =
53
GU_DetailHandle
());
54
55
const
HUSD_LoadMasksPtr
&mergedLoadMasks()
const
;
56
bool
execute(
HUSD_AutoWriteLock
&lock,
57
bool
replace_all =
false
)
const
;
58
59
private
:
60
class
husd_MergePrivate;
61
62
UT_UniquePtr<husd_MergePrivate>
myPrivate;
63
HUSD_MergeStyle
myMergeStyle;
64
HUSD_StripLayerResponse
myStripLayerResponse;
65
bool
myStripLayerBreaks;
66
};
67
68
#endif
69
HUSD_DataHandle
Definition:
HUSD_DataHandle.h:87
UT_StringMap< UT_StringHolder >
HUSD_LoadMasksPtr
UT_SharedPtr< HUSD_LoadMasks > HUSD_LoadMasksPtr
Definition:
HUSD_DataHandle.h:54
HUSD_API
#define HUSD_API
Definition:
HUSD_API.h:32
UT_StringArray.h
UT_StringRef
Definition:
UT_StringHolder.h:188
HUSD_AutoWriteLock
Definition:
HUSD_DataHandle.h:261
HUSD_MERGE_PERHANDLE_FLATTENED_LAYERS
Definition:
HUSD_Merge.h:31
UT_UniquePtr
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition:
UT_UniquePtr.h:39
UT_StringHolder
Definition:
UT_StringHolder.h:999
UT_StringHolder::theEmptyString
static const UT_StringHolder theEmptyString
Definition:
UT_StringHolder.h:1196
HUSD_MERGE_SEPARATE_LAYERS_WEAK_FILES_AND_SOPS
Definition:
HUSD_Merge.h:34
HUSD_MERGE_SEPARATE_LAYERS
Definition:
HUSD_Merge.h:32
HUSD_API.h
HUSD_StripLayerResponse
HUSD_StripLayerResponse
Definition:
HUSD_Utils.h:92
HUSD_MERGE_FLATTEN_LOP_LAYERS_INTO_ACTIVE_LAYER
Definition:
HUSD_Merge.h:35
GU_DetailHandle
Definition:
GU_DetailHandle.h:38
UT_UniquePtr.h
GU_DetailHandle.h
HUSD_MERGE_SEPARATE_LAYERS_WEAK_FILES
Definition:
HUSD_Merge.h:33
HUSD_MergeStyle
HUSD_MergeStyle
Definition:
HUSD_Merge.h:28
HUSD_MERGE_FLATTEN_INTO_ACTIVE_LAYER
Definition:
HUSD_Merge.h:29
HUSD_DataHandle.h
HUSD_Utils.h
HUSD_Merge
Definition:
HUSD_Merge.h:38
HUSD_MERGE_FLATTENED_LAYERS
Definition:
HUSD_Merge.h:30
src
GLenum src
Definition:
glcorearb.h:1793
HUSD
HUSD_Merge.h
Generated on Sat Dec 21 2024 02:46:50 for HDK by
1.8.6