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"
45PXR_NAMESPACE_OPEN_SCOPE
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);
284PXR_NAMESPACE_CLOSE_SCOPE
Contains an asset path and an optional resolved path.
A path value used to locate objects in layers or scenegraphs.
TfType represents a dynamic runtime type.
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Base class for UsdGeomBasisCurves, UsdGeomNurbsCurves, and UsdGeomHermiteCurves.
Represents points and tangents of the same size.
PointAndTangentArrays()=default
Construct empty points and tangents arrays.
bool IsEmpty() const
Returns true if the containers are empty.
const VtVec3fArray & GetPoints() const
Get separated points array.
static USDGEOM_API PointAndTangentArrays Separate(const VtVec3fArray &interleaved)
Given an interleaved points and tangents arrays (P0, T0, ..., Pn, Tn), separates them into two arrays...
USDGEOM_API VtVec3fArray Interleave() const
Interleaves points (P0, ..., Pn) and tangents (T0, ..., Tn) into one array (P0, T0,...
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.
This schema specifies a cubic hermite interpolated curve batch as sometimes used for defining guides ...
UsdGeomHermiteCurves(const UsdSchemaBase &schemaObj)
Construct a UsdGeomHermiteCurves on the prim held by schemaObj .
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
USDGEOM_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this 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 UsdPrim &prim=UsdPrim())
Construct a UsdGeomHermiteCurves on UsdPrim prim .
virtual USDGEOM_API ~UsdGeomHermiteCurves()
Destructor.
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.
USDGEOM_API UsdAttribute GetTangentsAttr() const
Defines the outgoing trajectory tangent for each point.
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.
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...
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
The base class for all schema types in Usd.
Singleton registry that provides access to schema type information and the prim definitions for regis...
Represents an arbitrary dimensional rectangular container class.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
size_t size() const
Return the total number of elements in this array.
bool empty() const
Return true if this array contains no elements, false otherwise.
void clear()
Equivalent to resize(0).
#define TF_RUNTIME_ERROR(fmt, args)
Issue a generic runtime error, but continue execution.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
std::vector< TfToken > TfTokenVector
Convenience types.