Loading...
Searching...
No Matches
assetPreviewsAPI.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 USDMEDIA_GENERATED_ASSETPREVIEWSAPI_H
25#define USDMEDIA_GENERATED_ASSETPREVIEWSAPI_H
26
28
29#include "pxr/pxr.h"
30#include "pxr/usd/usdMedia/api.h"
32#include "pxr/usd/usd/prim.h"
33#include "pxr/usd/usd/stage.h"
35
36#include "pxr/usd/sdf/types.h"
37
38
39#include "pxr/base/vt/value.h"
40
41#include "pxr/base/gf/vec3d.h"
42#include "pxr/base/gf/vec3f.h"
44
45#include "pxr/base/tf/token.h"
46#include "pxr/base/tf/type.h"
47
48PXR_NAMESPACE_OPEN_SCOPE
49
50class SdfAssetPath;
51
52// -------------------------------------------------------------------------- //
53// ASSETPREVIEWSAPI //
54// -------------------------------------------------------------------------- //
55
95{
96public:
100 static const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI;
101
107 : UsdAPISchemaBase(prim)
108 {
109 }
110
114 explicit UsdMediaAssetPreviewsAPI(const UsdSchemaBase& schemaObj)
115 : UsdAPISchemaBase(schemaObj)
116 {
117 }
118
120 USDMEDIA_API
122
126 USDMEDIA_API
127 static const TfTokenVector &
128 GetSchemaAttributeNames(bool includeInherited=true);
129
139 USDMEDIA_API
141 Get(const UsdStagePtr &stage, const SdfPath &path);
142
143
160 USDMEDIA_API
161 static bool
162 CanApply(const UsdPrim &prim, std::string *whyNot=nullptr);
163
179 USDMEDIA_API
181 Apply(const UsdPrim &prim);
182
183protected:
187 USDMEDIA_API
189
190private:
191 // needs to invoke _GetStaticTfType.
192 friend class UsdSchemaRegistry;
193 USDMEDIA_API
194 static const TfType &_GetStaticTfType();
195
196 static bool _IsTypedSchema();
197
198 // override SchemaBase virtuals.
199 USDMEDIA_API
200 const TfType &_GetTfType() const override;
201
202public:
203 // ===================================================================== //
204 // Feel free to add custom code below this line, it will be preserved by
205 // the code generator.
206 //
207 // Just remember to:
208 // - Close the class declaration with };
209 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
210 // - Close the include guard with #endif
211 // ===================================================================== //
212 // --(BEGIN CUSTOM CODE)--
213
220 {
221 USDMEDIA_API
222 explicit Thumbnails(const SdfAssetPath &defaultImage=SdfAssetPath());
223
224 SdfAssetPath defaultImage;
225 };
226
229 USDMEDIA_API
230 bool GetDefaultThumbnails(Thumbnails *defaultThumbnails) const;
231
234 USDMEDIA_API
235 void SetDefaultThumbnails(const Thumbnails &defaultThumbnails) const;
236
239 USDMEDIA_API
241
248 USDMEDIA_API
250 GetAssetDefaultPreviews(const std::string &layerPath);
251
253 USDMEDIA_API
255 GetAssetDefaultPreviews(const SdfLayerHandle &layer);
256
257private:
258 UsdStageRefPtr _defaultMaskedStage;
259};
260
261PXR_NAMESPACE_CLOSE_SCOPE
262
263#endif
Contains an asset path and an optional resolved path.
Definition: assetPath.h:47
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:291
TfType represents a dynamic runtime type.
Definition: type.h:65
The base class for all API schemas.
AssetPreviewsAPI is the interface for authoring and accessing precomputed, lightweight previews of as...
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
virtual USDMEDIA_API ~UsdMediaAssetPreviewsAPI()
Destructor.
USDMEDIA_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
static USDMEDIA_API UsdMediaAssetPreviewsAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdMediaAssetPreviewsAPI holding the prim adhering to this schema at path on stage.
static USDMEDIA_API const TfTokenVector & GetSchemaAttributeNames(bool includeInherited=true)
Return a vector of names of all pre-declared attributes for this schema class and all its ancestor cl...
USDMEDIA_API bool GetDefaultThumbnails(Thumbnails *defaultThumbnails) const
Fetch the default Thumbnails data, returning true if data was successfully fetched.
UsdMediaAssetPreviewsAPI(const UsdSchemaBase &schemaObj)
Construct a UsdMediaAssetPreviewsAPI on the prim held by schemaObj .
USDMEDIA_API void ClearDefaultThumbnails() const
Remove the entire entry for default Thumbnails in the current UsdEditTarget.
USDMEDIA_API void SetDefaultThumbnails(const Thumbnails &defaultThumbnails) const
Author the default thumbnails dictionary from the provided Thumbnails data.
static USDMEDIA_API UsdMediaAssetPreviewsAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
static USDMEDIA_API UsdMediaAssetPreviewsAPI GetAssetDefaultPreviews(const SdfLayerHandle &layer)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static USDMEDIA_API UsdMediaAssetPreviewsAPI GetAssetDefaultPreviews(const std::string &layerPath)
Return a schema object that can be used to interrogate previews for the default prim of the stage con...
static USDMEDIA_API bool CanApply(const UsdPrim &prim, std::string *whyNot=nullptr)
Returns true if this single-apply API schema can be applied to the given prim.
UsdMediaAssetPreviewsAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdMediaAssetPreviewsAPI on UsdPrim prim .
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:134
The base class for all schema types in Usd.
Definition: schemaBase.h:56
Singleton registry that provides access to schema type information and the prim definitions for regis...
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:129
Thumbnails is a value type that serves as schema to aid in serialization and deserialization of thumb...
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:457
Basic Sdf data types.