Loading...
Searching...
No Matches
layerTree.h
Go to the documentation of this file.
1//
2// Copyright 2016 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 PXR_USD_SDF_LAYER_TREE_H
25#define PXR_USD_SDF_LAYER_TREE_H
26
28
29#include "pxr/pxr.h"
30#include "pxr/usd/sdf/api.h"
33
34#include <vector>
35
36PXR_NAMESPACE_OPEN_SCOPE
37
38// Layer tree forward declarations.
39class SdfLayerTree;
41typedef std::vector<SdfLayerTreeHandle> SdfLayerTreeHandleVector;
42
43SDF_DECLARE_HANDLES(SdfLayer);
44
57class SdfLayerTree : public TfRefBase, public TfWeakBase {
58 SdfLayerTree(const SdfLayerTree&) = delete;
59 SdfLayerTree& operator=(const SdfLayerTree&) = delete;
60public:
62 SDF_API
64 New( const SdfLayerHandle & layer,
65 const SdfLayerTreeHandleVector & childTrees,
66 const SdfLayerOffset & cumulativeOffset = SdfLayerOffset() );
67
69 SDF_API const SdfLayerHandle & GetLayer() const;
70
72 SDF_API const SdfLayerOffset & GetOffset() const;
73
75 SDF_API const SdfLayerTreeHandleVector & GetChildTrees() const;
76
77private:
78 SdfLayerTree( const SdfLayerHandle & layer,
79 const SdfLayerTreeHandleVector & childTrees,
80 const SdfLayerOffset & cumulativeOffset );
81
82private:
83 const SdfLayerHandle _layer;
84 const SdfLayerOffset _offset;
85 const SdfLayerTreeHandleVector _childTrees;
86};
87
88PXR_NAMESPACE_CLOSE_SCOPE
89
90#endif // PXR_USD_SDF_LAYER_TREE_H
A scene description container that can combine with other such containers to form simple component as...
Definition: layer.h:100
Represents a time offset and scale between layers.
Definition: layerOffset.h:61
A SdfLayerTree is an immutable tree structure representing a sublayer stack and its recursive structu...
Definition: layerTree.h:57
SDF_API const SdfLayerTreeHandleVector & GetChildTrees() const
Returns the children of this tree node.
static SDF_API SdfLayerTreeHandle New(const SdfLayerHandle &layer, const SdfLayerTreeHandleVector &childTrees, const SdfLayerOffset &cumulativeOffset=SdfLayerOffset())
Create a new layer tree node.
SDF_API const SdfLayerHandle & GetLayer() const
Returns the layer handle this tree node represents.
SDF_API const SdfLayerOffset & GetOffset() const
Returns the cumulative layer offset from the root of the tree.
Enable a concrete base class for use with TfRefPtr.
Definition: refBase.h:73
Reference-counted smart pointer utility class.
Definition: refPtr.h:601
Enable a concrete base class for use with TfWeakPtr.
Definition: weakBase.h:141