24 #ifndef USDGEOM_GENERATED_HERMITECURVES_H 25 #define USDGEOM_GENERATED_HERMITECURVES_H 30 #include "pxr/usd/usdGeom/api.h" 36 #include "pxr/base/vt/value.h" 43 #include "pxr/base/tf/type.h" 45 PXR_NAMESPACE_OPEN_SCOPE
133 Get(
const UsdStagePtr &stage,
const SdfPath &path);
172 static const TfType &_GetStaticTfType();
174 static bool _IsTypedSchema();
178 const TfType &_GetTfType()
const override;
239 const VtVec3fArray& tangents)
240 : _points(points), _tangents(tangents) {
241 if (_points.
size() != _tangents.
size()) {
262 return _points.
empty();
266 explicit operator bool()
const {
return !
IsEmpty(); }
269 const VtVec3fArray&
GetPoints()
const {
return _points; }
279 return !((*this) == other);
284 PXR_NAMESPACE_CLOSE_SCOPE
static USDGEOM_API UsdGeomHermiteCurves Define(const UsdStagePtr &stage, const SdfPath &path)
Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefin...
Base class for UsdGeomBasisCurves, UsdGeomNurbsCurves, and UsdGeomHermiteCurves.
USDGEOM_API UsdAttribute CreateTangentsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTangentsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
size_t size() const
Return the total number of elements in this array.
USDGEOM_API VtVec3fArray Interleave() const
Interleaves points (P0, ..., Pn) and tangents (T0, ..., Tn) into one array (P0, T0,...
const VtVec3fArray & GetPoints() const
Get separated points array.
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
static USDGEOM_API UsdGeomHermiteCurves Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdGeomHermiteCurves holding the prim adhering to this schema at path on stage.
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
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...
UsdGeomHermiteCurves(const UsdSchemaBase &schemaObj)
Construct a UsdGeomHermiteCurves on the prim held by schemaObj .
Represents a concrete typed schema.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
USDGEOM_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
std::vector< TfToken > TfTokenVector
Convenience types.
A path value used to locate objects in layers or scenegraphs.
static USDGEOM_API PointAndTangentArrays Separate(const VtVec3fArray &interleaved)
Given an interleaved points and tangents arrays (P0, T0, ..., Pn, Tn), separates them into two arrays...
virtual USDGEOM_API ~UsdGeomHermiteCurves()
Destructor.
Contains an asset path and an optional resolved path.
PointAndTangentArrays()=default
Construct empty points and tangents arrays.
USDGEOM_API UsdAttribute GetTangentsAttr() const
Defines the outgoing trajectory tangent for each point.
bool empty() const
Return true if this array contains no elements, false otherwise.
Represents points and tangents of the same size.
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
TfType represents a dynamic runtime type.
Singleton registry that provides access to schema type information and the prim definitions for regis...
PointAndTangentArrays(const VtVec3fArray &points, const VtVec3fArray &tangents)
Initializes points and tangents if they are the same size.
const VtVec3fArray & GetTangents() const
Get separated tangents array.
The base class for all schema types in Usd.
bool IsEmpty() const
Returns true if the containers are empty.
#define TF_RUNTIME_ERROR(fmt, args)
Issue a generic runtime error, but continue execution.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
void clear()
Equivalent to resize(0).
This schema specifies a cubic hermite interpolated curve batch as sometimes used for defining guides ...
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
UsdGeomHermiteCurves(const UsdPrim &prim=UsdPrim())
Construct a UsdGeomHermiteCurves on UsdPrim prim .