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
GT_PrimCache.h
Go to the documentation of this file.
1
//
2
// Copyright 2017 Pixar
3
//
4
// Licensed under the Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef __GUSD_GT_PRIMCACHE_H__
25
#define __GUSD_GT_PRIMCACHE_H__
26
27
#include "
gusd/api.h
"
28
29
#include "
purpose.h
"
30
#include "
USD_DataCache.h
"
31
#include "
UT_CappedCache.h
"
32
33
#include <
GT/GT_Primitive.h
>
34
35
#include "
pxr/pxr.h
"
36
#include "
pxr/usd/usd/prim.h
"
37
38
PXR_NAMESPACE_OPEN_SCOPE
39
40
/// Cache of refined GT prims created draw USD in the viewport.
41
//
42
// We cache a GT prim for each imageable (leaf node) USD prim and each instance.
43
// The GT prims are refined to prims that can be directly imaged in the Houdini
44
// view port.
45
// The cache is build atop a UT_CappedCache (a LRU cache).
46
47
class
GusdGT_PrimCache
:
public
GusdUSD_DataCache
{
48
49
public
:
50
51
GUSD_API
52
static
GusdGT_PrimCache
&
GetInstance
();
53
54
GusdGT_PrimCache
();
55
~GusdGT_PrimCache
()
override
;
56
57
GT_PrimitiveHandle
GetPrim
(
const
UsdPrim
&usdPrim,
58
UsdTimeCode
time
,
59
GusdPurposeSet
purposes,
60
bool
skipRoot =
false
);
61
62
void
Clear
()
override
;
63
int64
Clear
(
const
UT_StringSet
& paths)
override
;
64
65
private
:
66
67
GusdUT_CappedCache
_prims;
68
};
69
70
PXR_NAMESPACE_CLOSE_SCOPE
71
72
#endif // __GUSD_GT_PRIMCACHE_H__
GusdGT_PrimCache::~GusdGT_PrimCache
~GusdGT_PrimCache() override
GT_Names::time
GT_API const UT_StringHolder time
GT_Primitive.h
UT_CappedCache.h
GusdGT_PrimCache::GetInstance
static GUSD_API GusdGT_PrimCache & GetInstance()
UT_StringSet
Definition:
UT_StringSet.h:45
GusdGT_PrimCache::GetPrim
GT_PrimitiveHandle GetPrim(const UsdPrim &usdPrim, UsdTimeCode time, GusdPurposeSet purposes, bool skipRoot=false)
pxr.h
UsdTimeCode
Definition:
timeCode.h:84
api.h
UT_IntrusivePtr< GT_Primitive >
int64
long long int64
Definition:
SYS_Types.h:116
UsdPrim
Definition:
prim.h:133
prim.h
GusdUT_CappedCache
Definition:
UT_CappedCache.h:82
USD_DataCache.h
purpose.h
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
GusdUSD_DataCache
Definition:
USD_DataCache.h:44
GusdGT_PrimCache::Clear
void Clear() override
Clear all caches.
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
GUSD_API
#define GUSD_API
Definition:
api.h:40
GusdGT_PrimCache::GusdGT_PrimCache
GusdGT_PrimCache()
GusdPurposeSet
GusdPurposeSet
Definition:
purpose.h:39
GusdGT_PrimCache
Cache of refined GT prims created draw USD in the viewport.
Definition:
GT_PrimCache.h:47
gusd
GT_PrimCache.h
Generated on Tue Nov 12 2024 02:41:37 for HDK by
1.8.6