Loading...
Searching...
No Matches
xformable.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 USDGEOM_GENERATED_XFORMABLE_H
8#define USDGEOM_GENERATED_XFORMABLE_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usdGeom/api.h"
15#include "pxr/usd/usd/prim.h"
16#include "pxr/usd/usd/stage.h"
18
20#include <vector>
21
22#include "pxr/base/vt/value.h"
23
24#include "pxr/base/gf/vec3d.h"
25#include "pxr/base/gf/vec3f.h"
27
28#include "pxr/base/tf/token.h"
29#include "pxr/base/tf/type.h"
30
31PXR_NAMESPACE_OPEN_SCOPE
32
33class SdfAssetPath;
34
35// -------------------------------------------------------------------------- //
36// XFORMABLE //
37// -------------------------------------------------------------------------- //
38
242{
243public:
247 static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractTyped;
248
253 explicit UsdGeomXformable(const UsdPrim& prim=UsdPrim())
254 : UsdGeomImageable(prim)
255 {
256 }
257
261 explicit UsdGeomXformable(const UsdSchemaBase& schemaObj)
262 : UsdGeomImageable(schemaObj)
263 {
264 }
265
267 USDGEOM_API
269
273 USDGEOM_API
274 static const TfTokenVector &
275 GetSchemaAttributeNames(bool includeInherited=true);
276
286 USDGEOM_API
287 static UsdGeomXformable
288 Get(const UsdStagePtr &stage, const SdfPath &path);
289
290
291protected:
295 USDGEOM_API
297
298private:
299 // needs to invoke _GetStaticTfType.
300 friend class UsdSchemaRegistry;
301 USDGEOM_API
302 static const TfType &_GetStaticTfType();
303
304 static bool _IsTypedSchema();
305
306 // override SchemaBase virtuals.
307 USDGEOM_API
308 const TfType &_GetTfType() const override;
309
310public:
311 // --------------------------------------------------------------------- //
312 // XFORMOPORDER
313 // --------------------------------------------------------------------- //
330 USDGEOM_API
332
338 USDGEOM_API
339 UsdAttribute CreateXformOpOrderAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
340
341public:
342 // ===================================================================== //
343 // Feel free to add custom code below this line, it will be preserved by
344 // the code generator.
345 //
346 // Just remember to:
347 // - Close the class declaration with };
348 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
349 // - Close the include guard with #endif
350 // ===================================================================== //
351 // --(BEGIN CUSTOM CODE)--
352
369 public:
370 XformQuery():
371 _resetsXformStack(false)
372 { }
373
377 USDGEOM_API
378 XformQuery(const UsdGeomXformable &xformable);
379
382 USDGEOM_API
384 const UsdTimeCode time) const;
385
387 bool GetResetXformStack() const {
388 return _resetsXformStack;
389 }
390
392 USDGEOM_API
394
405 USDGEOM_API
407
409 USDGEOM_API
411
416 USDGEOM_API
417 bool GetTimeSamples(std::vector<double> *times) const;
418
423 USDGEOM_API
425 std::vector<double> *times) const;
426
429 USDGEOM_API
431 const TfToken &attrName) const;
432
433 private:
434 // Cached copy of the vector of ordered xform ops.
435 std::vector<UsdGeomXformOp> _xformOps;
436
437 // Cache whether the xformable has !resetsXformStack! in its
438 // xformOpOrder.
439 bool _resetsXformStack;
440 };
441
477 USDGEOM_API
481 TfToken const &opSuffix = TfToken(),
482 bool isInverseOp=false) const;
483
503 USDGEOM_API
505 TfToken const &opSuffix = TfToken(),
506 bool isInverseOp=false) const;
507
512 USDGEOM_API
515 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
516
521 USDGEOM_API
524 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
525
530 USDGEOM_API
533 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
534
539 USDGEOM_API
542 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
543
548 USDGEOM_API
550 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
551
556 USDGEOM_API
558 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
559
564 USDGEOM_API
566 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
567
572 USDGEOM_API
574 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
575
580 USDGEOM_API
583 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
584
589 USDGEOM_API
592 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
593
598 USDGEOM_API
601 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
602
607 USDGEOM_API
610 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
611
616 USDGEOM_API
618 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
619
624 USDGEOM_API
626 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
627
632 USDGEOM_API
634 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
635
640 USDGEOM_API
642 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
643
649 USDGEOM_API
652 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
653
658 USDGEOM_API
660 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
661
667 USDGEOM_API
670 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
671
676 USDGEOM_API
678 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
679
684 USDGEOM_API
687 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
688
693 USDGEOM_API
695 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
696
702 USDGEOM_API
705 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
706
711 USDGEOM_API
713 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
714
720 USDGEOM_API
723 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
724
729 USDGEOM_API
731 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
732
738 USDGEOM_API
741 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
742
747 USDGEOM_API
749 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
750
756 USDGEOM_API
759 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
760
765 USDGEOM_API
767 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
768
774 USDGEOM_API
777 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
778
783 USDGEOM_API
785 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
786
792 USDGEOM_API
795 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
796
801 USDGEOM_API
803 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
804
809 USDGEOM_API
812 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
813
818 USDGEOM_API
820 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
821
831 USDGEOM_API
834 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
835
841 USDGEOM_API
843 TfToken const &opSuffix = TfToken(), bool isInverseOp=false) const;
844
854 USDGEOM_API
855 bool SetResetXformStack(bool resetXform) const;
856
863 USDGEOM_API
864 bool GetResetXformStack() const;
865
887 USDGEOM_API
888 bool SetXformOpOrder(std::vector<UsdGeomXformOp> const &orderedXformOps,
889 bool resetXformStack = false) const;
890
908 USDGEOM_API
909 std::vector<UsdGeomXformOp> GetOrderedXformOps(bool *resetsXformStack) const;
910
912 USDGEOM_API
913 bool ClearXformOpOrder() const;
914
923 USDGEOM_API
925
932 USDGEOM_API
934
943 USDGEOM_API
945 const std::vector<UsdGeomXformOp> &ops) const;
946
954 USDGEOM_API
955 bool GetTimeSamples(std::vector<double> *times) const;
956
965 USDGEOM_API
967 std::vector<double> *times) const;
968
976 USDGEOM_API
977 static bool GetTimeSamples(
978 std::vector<UsdGeomXformOp> const &orderedXformOps,
979 std::vector<double> *times);
980
989 USDGEOM_API
991 std::vector<UsdGeomXformOp> const &orderedXformOps,
992 const GfInterval &interval,
993 std::vector<double> *times);
994
1015 USDGEOM_API
1017 GfMatrix4d *transform,
1018 bool *resetsXformStack,
1019 const UsdTimeCode time = UsdTimeCode::Default()) const;
1020
1042 USDGEOM_API
1044 bool *resetsXformStack,
1045 const std::vector<UsdGeomXformOp> &ops,
1046 const UsdTimeCode time = UsdTimeCode::Default()) const;
1047
1060 USDGEOM_API
1061 static bool GetLocalTransformation(GfMatrix4d *transform,
1062 std::vector<UsdGeomXformOp> const &ops,
1063 const UsdTimeCode time);
1064
1067 USDGEOM_API
1068 static bool IsTransformationAffectedByAttrNamed(const TfToken &attrName);
1069
1070private:
1071 // Extracts the value of the xformOpOrder attribute. Returns false if
1072 // the xformOpOrder attribute doesn't exist on the prim (eg. when the prim
1073 // type is incompatible or if it's a pure over).
1074 bool _GetXformOpOrderValue(VtTokenArray *xformOpOrder) const;
1075
1076 // Helper function for getting xformops with or without attribute queries.
1077 std::vector<UsdGeomXformOp>
1078 _GetOrderedXformOps(bool *resetsXformStack,
1079 bool withAttributeQueries) const;
1080};
1081
1082PXR_NAMESPACE_CLOSE_SCOPE
1083
1084#endif
A basic mathematical interval class.
Definition: interval.h:33
Stores a 4x4 matrix of double elements.
Definition: matrix4d.h:71
Contains an asset path and optional evaluated and resolved paths.
Definition: assetPath.h:79
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:281
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
TfType represents a dynamic runtime type.
Definition: type.h:48
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:183
Base class for all prims that may require rendering or visualization of some sort.
Definition: imageable.h:58
Schema wrapper for UsdAttribute for authoring and computing transformation operations,...
Definition: xformOp.h:106
Type
Enumerates the set of all transformation operation types.
Definition: xformOp.h:110
Precision
Precision of the encoded transformation operation's value.
Definition: xformOp.h:140
@ PrecisionFloat
Floating-point precision.
Definition: xformOp.h:142
@ PrecisionDouble
Double precision.
Definition: xformOp.h:141
Helper class that caches the ordered vector of UsGeomXformOps that contribute to the local transforma...
Definition: xformable.h:368
USDGEOM_API bool GetTimeSamples(std::vector< double > *times) const
Sets the vector of times at which xformOp samples have been authored in the cached set of xform ops.
USDGEOM_API bool GetLocalTransformation(GfMatrix4d *transform, const UsdTimeCode time) const
Utilizes the internally cached UsdAttributeQuery's to efficiently compute the transform value at the ...
USDGEOM_API bool TransformMightHaveEffect() const
Returns true if the xform ops might have an effect.
USDGEOM_API bool GetTimeSamplesInInterval(const GfInterval &interval, std::vector< double > *times) const
Sets the vector of times in the interval at which xformOp samples have been authored in the cached se...
bool GetResetXformStack() const
Returns whether the xformable resets its parent's transformation.
Definition: xformable.h:387
USDGEOM_API bool TransformMightBeTimeVarying() const
Returns whether the xform value might change over time.
USDGEOM_API bool HasNonEmptyXformOpOrder() const
Returns whether xformOpOrder is non-empty.
USDGEOM_API bool IsAttributeIncludedInLocalTransform(const TfToken &attrName) const
Returns whether the given attribute affects the local transformation computed for this query.
USDGEOM_API XformQuery(const UsdGeomXformable &xformable)
Constructs an XformQuery object for the given xformable prim.
Base class for all transformable prims, which allows arbitrary sequences of component affine transfor...
Definition: xformable.h:242
USDGEOM_API bool GetTimeSamples(std::vector< double > *times) const
Sets times to the union of all the timesamples at which xformOps that are included in the xformOpOrde...
USDGEOM_API UsdAttribute CreateXformOpOrderAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetXformOpOrderAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdGeomXformOp GetTransformOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a tranform op (4x4 matrix transformation) from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddTransformOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a tranform op (4x4 matrix transformation) to the local stack represented by this xformable.
USDGEOM_API bool ClearXformOpOrder() const
Clears the local transform stack.
USDGEOM_API UsdGeomXformOp GetRotateZXYOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation op with ZXY rotation order from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetTranslateZOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a translation about the Z-axis from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddTranslateYOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a translation about the Y-axis to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetScaleOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a scale operation from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddScaleXOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a scale operation about the X-axis to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddRotateYZXOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation op with YZX rotation order to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddTranslateXOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a translation about the X-axis to the local stack represented by this xformable.
USDGEOM_API bool GetLocalTransformation(GfMatrix4d *transform, bool *resetsXformStack, const std::vector< UsdGeomXformOp > &ops, const UsdTimeCode time=UsdTimeCode::Default()) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: xformable.h:247
USDGEOM_API UsdGeomXformOp GetTranslateXOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a translation about the X-axis from the local stack represented by this xformable.
USDGEOM_API bool TransformMightBeTimeVarying(const std::vector< UsdGeomXformOp > &ops) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USDGEOM_API UsdGeomXformOp GetRotateZOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation about the Z-axis from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddScaleZOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a scale operation about the Z-axis to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetRotateZYXOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation op with ZYX rotation order from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddRotateYOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation about the Y-axis to the local stack represented by this xformable.
USDGEOM_API bool SetXformOpOrder(std::vector< UsdGeomXformOp > const &orderedXformOps, bool resetXformStack=false) const
Reorder the already-existing transform ops on this prim.
UsdGeomXformable(const UsdSchemaBase &schemaObj)
Construct a UsdGeomXformable on the prim held by schemaObj .
Definition: xformable.h:261
USDGEOM_API UsdGeomXformOp AddScaleOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a scale operation to the local stack represented by this xformable.
static USDGEOM_API bool GetTimeSamplesInInterval(std::vector< UsdGeomXformOp > const &orderedXformOps, const GfInterval &interval, std::vector< double > *times)
Returns the union of all the timesamples in the interval at which the attributes belonging to the giv...
USDGEOM_API UsdGeomXformOp GetScaleZOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a scale operation about the Z-axis from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddRotateZYXOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation op with ZYX rotation order to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetOrientOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get an orient op (arbitrary axis/angle rotation) from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddRotateXZYOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation op with XZY rotation order to the local stack represented by this xformable.
USDGEOM_API bool GetTimeSamplesInInterval(const GfInterval &interval, std::vector< double > *times) const
Sets times to the union of all the timesamples in the interval, interval, at which xformOps that are ...
USDGEOM_API bool GetResetXformStack() const
Does this prim reset its parent's inherited transformation?
USDGEOM_API UsdGeomXformOp AddRotateZXYOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation op with ZXY rotation order to the local stack represented by this xformable.
USDGEOM_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
USDGEOM_API UsdGeomXformOp AddScaleYOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a scale operation about the Y-axis to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddTranslateOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a translate operation to the local stack represented by this xformable.
static USDGEOM_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...
USDGEOM_API UsdGeomXformOp GetRotateYXZOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation op with YXZ rotation order from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddOrientOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a orient op (arbitrary axis/angle rotation) to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetRotateXYZOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation op with XYZ rotation order from the local stack represented by this xformable.
virtual USDGEOM_API ~UsdGeomXformable()
Destructor.
USDGEOM_API UsdGeomXformOp MakeMatrixXform() const
Clears the existing local transform stack and creates a new xform op of type 'transform'.
USDGEOM_API UsdGeomXformOp GetRotateYOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation about the Y-axis from the local stack represented by this xformable.
USDGEOM_API bool SetResetXformStack(bool resetXform) const
Specify whether this prim's transform should reset the transformation stack inherited from its parent...
USDGEOM_API bool GetLocalTransformation(GfMatrix4d *transform, bool *resetsXformStack, const UsdTimeCode time=UsdTimeCode::Default()) const
Computes the fully-combined, local-to-parent transformation for this prim.
USDGEOM_API UsdGeomXformOp AddRotateZOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation about the Z-axis to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetRotateYZXOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation op with YZX rotation order from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetScaleXOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a scale operation about the X-axis from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetXformOp(UsdGeomXformOp::Type const opType, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get an affine transformation from the local stack represented by this Xformable.
USDGEOM_API UsdGeomXformOp GetTranslateOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a translate operation from the local stack represented by this xformable.
static USDGEOM_API bool GetTimeSamples(std::vector< UsdGeomXformOp > const &orderedXformOps, std::vector< double > *times)
Returns the union of all the timesamples at which the attributes belonging to the given orderedXformO...
USDGEOM_API UsdGeomXformOp AddTranslateZOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a translation about the Z-axis to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddRotateXYZOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation op with XYZ rotation order to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddRotateXOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation about the X-axis to the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp GetScaleYOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a scale operation about the Y-axis from the local stack represented by this xformable.
USDGEOM_API UsdGeomXformOp AddRotateYXZOp(UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add a rotation op with YXZ rotation order to the local stack represented by this xformable.
USDGEOM_API std::vector< UsdGeomXformOp > GetOrderedXformOps(bool *resetsXformStack) const
Return the ordered list of transform operations to be applied to this prim, in least-to-most-local or...
USDGEOM_API UsdGeomXformOp GetTranslateYOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a translation about the Y-axis from the local stack represented by this xformable.
USDGEOM_API bool TransformMightBeTimeVarying() const
Determine whether there is any possibility that this prim's local transformation may vary over time.
static USDGEOM_API UsdGeomXformable Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdGeomXformable holding the prim adhering to this schema at path on stage.
static USDGEOM_API bool GetLocalTransformation(GfMatrix4d *transform, std::vector< UsdGeomXformOp > const &ops, const UsdTimeCode time)
This is an overloaded member function, provided for convenience. It differs from the above function o...
USDGEOM_API UsdGeomXformOp AddXformOp(UsdGeomXformOp::Type const opType, UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Add an affine transformation to the local stack represented by this Xformable.
static USDGEOM_API bool IsTransformationAffectedByAttrNamed(const TfToken &attrName)
Returns true if the attribute named attrName could affect the local transformation of an xformable pr...
USDGEOM_API UsdGeomXformOp GetRotateXOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation about the X-axis from the local stack represented by this xformable.
UsdGeomXformable(const UsdPrim &prim=UsdPrim())
Construct a UsdGeomXformable on UsdPrim prim .
Definition: xformable.h:253
USDGEOM_API UsdGeomXformOp GetRotateXZYOp(TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
Get a rotation op with XZY rotation order from the local stack represented by this xformable.
USDGEOM_API UsdAttribute GetXformOpOrderAttr() const
Encodes the sequence of transformation operations in the order in which they should be pushed onto a ...
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...
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
Definition: timeCode.h:72
static constexpr UsdTimeCode Default()
Produce a UsdTimeCode representing the sentinel value for 'default'.
Definition: timeCode.h:113
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:90
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:112
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