Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
stageNoticeListener.h
Go to the documentation of this file.
1
//
2
// Copyright 2018 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 PXRUSDMAYA_STAGE_NOTICE_LISTENER_H
25
#define PXRUSDMAYA_STAGE_NOTICE_LISTENER_H
26
28
29
#include "usdMaya/api.h"
30
31
#include "
pxr/pxr.h
"
32
33
#include "pxr/base/tf/notice.h"
34
#include "pxr/base/tf/weakBase.h"
35
36
#include "pxr/usd/usd/notice.h"
37
#include "pxr/usd/usd/stage.h"
38
39
#include <functional>
40
41
42
PXR_NAMESPACE_OPEN_SCOPE
43
44
51
class
UsdMayaStageNoticeListener
:
public
TfWeakBase
52
{
53
public
:
54
PXRUSDMAYA_API
55
UsdMayaStageNoticeListener
();
56
57
PXRUSDMAYA_API
58
virtual
~UsdMayaStageNoticeListener();
59
61
PXRUSDMAYA_API
62
void
SetStage
(
const
UsdStageWeakPtr& stage);
63
65
typedef
std::function<void (const UsdNotice::StageContentsChanged& notice)>
66
StageContentsChangedCallback
;
67
70
PXRUSDMAYA_API
71
void
SetStageContentsChangedCallback
(
72
const
StageContentsChangedCallback
& callback);
73
74
private
:
75
UsdMayaStageNoticeListener(
const
UsdMayaStageNoticeListener&);
76
UsdMayaStageNoticeListener& operator=(
77
const
UsdMayaStageNoticeListener&);
78
79
UsdStageWeakPtr _stage;
80
82
83
TfNotice::Key
_stageContentsChangedKey;
84
StageContentsChangedCallback
_stageContentsChangedCallback;
85
86
void
_UpdateStageContentsChangedRegistration();
87
void
_OnStageContentsChanged(
88
const
UsdNotice::StageContentsChanged
& notice)
const
;
89
};
90
91
92
PXR_NAMESPACE_CLOSE_SCOPE
93
94
95
#endif
TfNotice::Key
Handle-object returned by TfNotice::Register().
Definition:
notice.h:256
UsdMayaStageNoticeListener
A notice listener that can invoke callbacks in response to notices about a specific USD stage...
Definition:
stageNoticeListener.h:51
UsdNotice::StageContentsChanged
Ultra-conservative notice sent when the given UsdStage's contents have changed in any way...
Definition:
notice.h:73
pxr.h
UsdMayaStageNoticeListener::SetStage
PXRUSDMAYA_API void SetStage(const UsdStageWeakPtr &stage)
Set the USD stage for which this instance will listen for notices.
TfWeakBase
Enable a concrete base class for use with TfWeakPtr.
Definition:
weakBase.h:142
UsdMayaStageNoticeListener::StageContentsChangedCallback
std::function< void(const UsdNotice::StageContentsChanged ¬ice)> StageContentsChangedCallback
Callback type for StageContentsChanged notices.
Definition:
stageNoticeListener.h:66
UsdMayaStageNoticeListener::SetStageContentsChangedCallback
PXRUSDMAYA_API void SetStageContentsChangedCallback(const StageContentsChangedCallback &callback)
Sets the callback to be invoked when the listener receives a StageContentsChanged notice...
src
modules
usdMaya
stageNoticeListener.h
Generated on Thu Oct 24 2019 13:58:46 by
1.8.5