All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
clipsAPI.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef USD_GENERATED_CLIPSAPI_H
8#define USD_GENERATED_CLIPSAPI_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usd/api.h"
15#include "pxr/usd/usd/prim.h"
16#include "pxr/usd/usd/stage.h"
17#include "pxr/usd/usd/tokens.h"
18
19#include "pxr/base/vt/value.h"
20
21#include "pxr/base/gf/vec3d.h"
22#include "pxr/base/gf/vec3f.h"
24
25#include "pxr/base/tf/token.h"
26#include "pxr/base/tf/type.h"
27
28PXR_NAMESPACE_OPEN_SCOPE
29
30class SdfAssetPath;
31
32// -------------------------------------------------------------------------- //
33// CLIPSAPI //
34// -------------------------------------------------------------------------- //
35
89{
90public:
94 static const UsdSchemaKind schemaKind = UsdSchemaKind::NonAppliedAPI;
95
100 explicit UsdClipsAPI(const UsdPrim& prim=UsdPrim())
101 : UsdAPISchemaBase(prim)
102 {
103 }
104
108 explicit UsdClipsAPI(const UsdSchemaBase& schemaObj)
109 : UsdAPISchemaBase(schemaObj)
110 {
111 }
112
114 USD_API
115 virtual ~UsdClipsAPI();
116
120 USD_API
121 static const TfTokenVector &
122 GetSchemaAttributeNames(bool includeInherited=true);
123
133 USD_API
134 static UsdClipsAPI
135 Get(const UsdStagePtr &stage, const SdfPath &path);
136
137
138protected:
142 USD_API
144
145private:
146 // needs to invoke _GetStaticTfType.
147 friend class UsdSchemaRegistry;
148 USD_API
149 static const TfType &_GetStaticTfType();
150
151 static bool _IsTypedSchema();
152
153 // override SchemaBase virtuals.
154 USD_API
155 const TfType &_GetTfType() const override;
156
157public:
158 // ===================================================================== //
159 // Feel free to add custom code below this line, it will be preserved by
160 // the code generator.
161 //
162 // Just remember to:
163 // - Close the class declaration with };
164 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
165 // - Close the include guard with #endif
166 // ===================================================================== //
167 // --(BEGIN CUSTOM CODE)--
168 //
169
170 // --------------------------------------------------------------------- //
178 // --------------------------------------------------------------------- //
179
189 USD_API
190 bool GetClips(VtDictionary* clips) const;
191
194 USD_API
195 bool SetClips(const VtDictionary& clips);
196
212 USD_API
213 bool GetClipSets(SdfStringListOp* clipSets) const;
214
217 USD_API
218 bool SetClipSets(const SdfStringListOp& clipSets);
219
228 USD_API
230 ComputeClipAssetPaths(const std::string& clipSet) const;
231
234 USD_API
236
240 USD_API
242 const std::string& clipSet) const;
246 USD_API
248
251 USD_API
253 const std::string& clipSet);
257 USD_API
259
269 USD_API
270 bool GetClipPrimPath(std::string* primPath,
271 const std::string& clipSet) const;
275 USD_API
276 bool GetClipPrimPath(std::string* primPath) const;
277
280 USD_API
281 bool SetClipPrimPath(const std::string& primPath,
282 const std::string& clipSet);
286 USD_API
287 bool SetClipPrimPath(const std::string& primPath);
288
294 USD_API
295 bool GetClipActive(VtVec2dArray* activeClips,
296 const std::string& clipSet) const;
300 USD_API
301 bool GetClipActive(VtVec2dArray* activeClips) const;
302
305 USD_API
306 bool SetClipActive(const VtVec2dArray& activeClips,
307 const std::string& clipSet);
311 USD_API
312 bool SetClipActive(const VtVec2dArray& activeClips);
313
324 USD_API
325 bool GetClipTimes(VtVec2dArray* clipTimes,
326 const std::string& clipSet) const;
330 USD_API
331 bool GetClipTimes(VtVec2dArray* clipTimes) const;
332
335 USD_API
336 bool SetClipTimes(const VtVec2dArray& clipTimes,
337 const std::string& clipSet);
341 USD_API
342 bool SetClipTimes(const VtVec2dArray& clipTimes);
343
355 USD_API
356 bool GetClipManifestAssetPath(SdfAssetPath* manifestAssetPath,
357 const std::string& clipSet) const;
361 USD_API
362 bool GetClipManifestAssetPath(SdfAssetPath* manifestAssetPath) const;
363
366 USD_API
367 bool SetClipManifestAssetPath(const SdfAssetPath& manifestAssetPath,
368 const std::string& clipSet);
372 USD_API
373 bool SetClipManifestAssetPath(const SdfAssetPath& manifestAssetPath);
374
388 USD_API
390 const std::string& clipSet,
391 bool writeBlocksForClipsWithMissingValues = false) const;
392
396 USD_API
398 bool writeBlocksForClipsWithMissingValues = false) const;
399
406 USD_API
407 static SdfLayerRefPtr
408 GenerateClipManifestFromLayers(const SdfLayerHandleVector& clipLayers,
409 const SdfPath& clipPrimPath);
410
411 // Flag indicating whether values for a clip that does not contain authored
412 // time samples are interpolated from surrounding clips.
413 //
414 // If this flag is set, values for clips that do not have authored time
415 // samples for an attribute that is declared in the manifest without a
416 // fallback value will be interpolated from values in surrounding clips.
417 // This is disabled by default.
418 USD_API
419 bool GetInterpolateMissingClipValues(bool* interpolate,
420 const std::string& clipSet) const;
421
424 USD_API
425 bool GetInterpolateMissingClipValues(bool* interpolate) const;
426
429 USD_API
430 bool SetInterpolateMissingClipValues(bool interpolate,
431 const std::string& clipSet);
432
435 USD_API
436 bool SetInterpolateMissingClipValues(bool interpolate);
437
468 USD_API
469 bool GetClipTemplateAssetPath(std::string* clipTemplateAssetPath,
470 const std::string& clipSet) const;
474 USD_API
475 bool GetClipTemplateAssetPath(std::string* clipTemplateAssetPath) const;
476
479 USD_API
480 bool SetClipTemplateAssetPath(const std::string& clipTemplateAssetPath,
481 const std::string& clipSet);
485 USD_API
486 bool SetClipTemplateAssetPath(const std::string& clipTemplateAssetPath);
487
491 USD_API
492 bool GetClipTemplateStride(double* clipTemplateStride,
493 const std::string& clipSet) const;
497 USD_API
498 bool GetClipTemplateStride(double* clipTemplateStride) const;
499
502 USD_API
503 bool SetClipTemplateActiveOffset(const double clipTemplateActiveOffset,
504 const std::string& clipSet);
505
509 USD_API
510 bool SetClipTemplateActiveOffset(const double clipTemplateActiveOffset);
511
514 USD_API
515 bool GetClipTemplateActiveOffset(double* clipTemplateActiveOffset,
516 const std::string& clipSet) const;
517
521 USD_API
522 bool GetClipTemplateActiveOffset(double* clipTemplateActiveOffset) const;
523
526 USD_API
527 bool SetClipTemplateStride(const double clipTemplateStride,
528 const std::string& clipSet);
532 USD_API
533 bool SetClipTemplateStride(const double clipTemplateStride);
534
539 USD_API
540 bool GetClipTemplateStartTime(double* clipTemplateStartTime,
541 const std::string& clipSet) const;
545 USD_API
546 bool GetClipTemplateStartTime(double* clipTemplateStartTime) const;
547
550 USD_API
551 bool SetClipTemplateStartTime(const double clipTemplateStartTime,
552 const std::string& clipSet);
556 USD_API
557 bool SetClipTemplateStartTime(const double clipTemplateStartTime);
558
563 USD_API
564 bool GetClipTemplateEndTime(double* clipTemplateEndTime,
565 const std::string& clipSet) const;
569 USD_API
570 bool GetClipTemplateEndTime(double* clipTemplateEndTime) const;
571
574 USD_API
575 bool SetClipTemplateEndTime(const double clipTemplateEndTime,
576 const std::string& clipSet);
580 USD_API
581 bool SetClipTemplateEndTime(const double clipTemplateEndTime);
582
584
585};
586
588#define USDCLIPS_INFO_KEYS \
589 (active) \
590 (assetPaths) \
591 (interpolateMissingClipValues) \
592 (manifestAssetPath) \
593 (primPath) \
594 (templateAssetPath) \
595 (templateEndTime) \
596 (templateStartTime) \
597 (templateStride) \
598 (templateActiveOffset) \
599 (times) \
600
621TF_DECLARE_PUBLIC_TOKENS(UsdClipsAPIInfoKeys, USD_API, USDCLIPS_INFO_KEYS);
622
624#define USDCLIPS_SET_NAMES \
625 ((default_, "default")) \
626
635TF_DECLARE_PUBLIC_TOKENS(UsdClipsAPISetNames, USD_API, USDCLIPS_SET_NAMES);
636
637PXR_NAMESPACE_CLOSE_SCOPE
638
639#endif
Contains an asset path and an optional resolved path.
Definition: assetPath.h:30
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
TfType represents a dynamic runtime type.
Definition: type.h:48
The base class for all API schemas.
Definition: apiSchemaBase.h:99
UsdClipsAPI is an API schema that provides an interface to a prim's clip metadata.
Definition: clipsAPI.h:89
USD_API bool SetClipTemplateEndTime(const double clipTemplateEndTime, const std::string &clipSet)
Set the template end time for the clipset named clipSet.
USD_API bool SetClipTimes(const VtVec2dArray &clipTimes)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipTemplateStride(double *clipTemplateStride) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API SdfLayerRefPtr GenerateClipManifest(const std::string &clipSet, bool writeBlocksForClipsWithMissingValues=false) const
Create a clip manifest containing entries for all attributes in the value clips for clip set clipSet.
USD_API bool SetClipTemplateStride(const double clipTemplateStride)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static USD_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...
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: clipsAPI.h:94
USD_API bool SetClipPrimPath(const std::string &primPath, const std::string &clipSet)
Set the clip prim path for the clip set named clipSet.
USD_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
static USD_API UsdClipsAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdClipsAPI holding the prim adhering to this schema at path on stage.
USD_API bool SetClipTemplateAssetPath(const std::string &clipTemplateAssetPath, const std::string &clipSet)
Set the clip template asset path for the clip set named clipSet.
USD_API bool GetClipPrimPath(std::string *primPath, const std::string &clipSet) const
Path to the prim in the clips in the clip set named clipSet from which time samples will be read.
USD_API bool GetClipTimes(VtVec2dArray *clipTimes, const std::string &clipSet) const
List of pairs (stage time, clip time) indicating the time in the active clip in the clip set named cl...
USD_API bool SetClipTimes(const VtVec2dArray &clipTimes, const std::string &clipSet)
Set the clip times metadata for this prim.
USD_API bool SetClipTemplateStride(const double clipTemplateStride, const std::string &clipSet)
Set the template stride for the clip set named clipSet.
USD_API bool SetClipTemplateActiveOffset(const double clipTemplateActiveOffset, const std::string &clipSet)
Set the clip template offset for the clip set named clipSet.
static USD_API SdfLayerRefPtr GenerateClipManifestFromLayers(const SdfLayerHandleVector &clipLayers, const SdfPath &clipPrimPath)
Create a clip manifest containing entries for all attributes in the given clipLayers that belong to t...
USD_API bool GetClipTemplateStartTime(double *clipTemplateStartTime, const std::string &clipSet) const
A double which indicates the start of the range USD will use to search for asset paths for the clip s...
USD_API bool SetClipActive(const VtVec2dArray &activeClips)
This is an overloaded member function, provided for convenience. It differs from the above function o...
UsdClipsAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdClipsAPI on UsdPrim prim .
Definition: clipsAPI.h:100
USD_API SdfLayerRefPtr GenerateClipManifest(bool writeBlocksForClipsWithMissingValues=false) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
UsdClipsAPI(const UsdSchemaBase &schemaObj)
Construct a UsdClipsAPI on the prim held by schemaObj .
Definition: clipsAPI.h:108
USD_API bool GetClipTemplateStride(double *clipTemplateStride, const std::string &clipSet) const
A double representing the increment value USD will use when searching for asset paths for the clip se...
USD_API bool SetClipTemplateEndTime(const double clipTemplateEndTime)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipTemplateAssetPath(std::string *clipTemplateAssetPath, const std::string &clipSet) const
A template string representing a set of assets to be used as clips for the clip set named clipSet.
USD_API bool SetClipTemplateStartTime(const double clipTemplateStartTime, const std::string &clipSet)
Set the template start time for the clip set named clipSet.
USD_API bool SetClipAssetPaths(const VtArray< SdfAssetPath > &assetPaths)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClips(VtDictionary *clips) const
Dictionary that contains the definition of the clip sets on this prim.
USD_API bool SetInterpolateMissingClipValues(bool interpolate)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API VtArray< SdfAssetPath > ComputeClipAssetPaths(const std::string &clipSet) const
Computes and resolves the list of clip asset paths used by the clip set named clipSet.
USD_API bool SetClips(const VtDictionary &clips)
Set the clips dictionary for this prim.
USD_API bool GetClipTemplateEndTime(double *clipTemplateEndTime, const std::string &clipSet) const
A double which indicates the end of the range USD will use to to search for asset paths for the clip ...
USD_API bool GetClipManifestAssetPath(SdfAssetPath *manifestAssetPath) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool SetInterpolateMissingClipValues(bool interpolate, const std::string &clipSet)
Set whether missing clip values are interpolated from surrounding clips.
USD_API bool GetClipPrimPath(std::string *primPath) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool SetClipSets(const SdfStringListOp &clipSets)
Set the clip sets list op for this prim.
USD_API bool SetClipManifestAssetPath(const SdfAssetPath &manifestAssetPath)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetInterpolateMissingClipValues(bool *interpolate) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool SetClipTemplateAssetPath(const std::string &clipTemplateAssetPath)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool SetClipTemplateActiveOffset(const double clipTemplateActiveOffset)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual USD_API ~UsdClipsAPI()
Destructor.
USD_API bool SetClipTemplateStartTime(const double clipTemplateStartTime)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipManifestAssetPath(SdfAssetPath *manifestAssetPath, const std::string &clipSet) const
Asset path for the clip manifest for the clip set named clipSet.
USD_API bool GetClipTemplateAssetPath(std::string *clipTemplateAssetPath) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool SetClipManifestAssetPath(const SdfAssetPath &manifestAssetPath, const std::string &clipSet)
Set the clip manifest asset path for this prim.
USD_API bool GetClipTimes(VtVec2dArray *clipTimes) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipTemplateActiveOffset(double *clipTemplateActiveOffset) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipAssetPaths(VtArray< SdfAssetPath > *assetPaths, const std::string &clipSet) const
List of asset paths to the clips in the clip set named clipSet.
USD_API bool SetClipAssetPaths(const VtArray< SdfAssetPath > &assetPaths, const std::string &clipSet)
Set the clip asset paths for the clip set named clipSet.
USD_API bool GetClipActive(VtVec2dArray *activeClips, const std::string &clipSet) const
List of pairs (time, clip index) indicating the time on the stage at which the clip in the clip set n...
USD_API bool GetClipTemplateStartTime(double *clipTemplateStartTime) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipSets(SdfStringListOp *clipSets) const
ListOp that may be used to affect how opinions from clip sets are applied during value resolution.
USD_API bool GetClipActive(VtVec2dArray *activeClips) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipTemplateEndTime(double *clipTemplateEndTime) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool SetClipActive(const VtVec2dArray &activeClips, const std::string &clipSet)
Set the active clip metadata for the clip set named clipSet.
USD_API bool SetClipPrimPath(const std::string &primPath)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API VtArray< SdfAssetPath > ComputeClipAssetPaths() const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool GetClipTemplateActiveOffset(double *clipTemplateActiveOffset, const std::string &clipSet) const
A double representing the offset value used by USD when determining the active period for each clip.
USD_API bool GetClipAssetPaths(VtArray< SdfAssetPath > *assetPaths) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:117
The base class for all schema types in Usd.
Definition: schemaBase.h:39
Singleton registry that provides access to schema type information and the prim definitions for regis...
Represents an arbitrary dimensional rectangular container class.
Definition: array.h:211
A map with string keys and VtValue values.
Definition: dictionary.h:43
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:112
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Definition: staticTokens.h:81
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:440