Loading...
Searching...
No Matches
nurbsCurves.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_NURBSCURVES_H
8#define USDGEOM_GENERATED_NURBSCURVES_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
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// NURBSCURVES //
34// -------------------------------------------------------------------------- //
35
61{
62public:
66 static const UsdSchemaKind schemaKind = UsdSchemaKind::ConcreteTyped;
67
72 explicit UsdGeomNurbsCurves(const UsdPrim& prim=UsdPrim())
73 : UsdGeomCurves(prim)
74 {
75 }
76
80 explicit UsdGeomNurbsCurves(const UsdSchemaBase& schemaObj)
81 : UsdGeomCurves(schemaObj)
82 {
83 }
84
86 USDGEOM_API
88
92 USDGEOM_API
93 static const TfTokenVector &
94 GetSchemaAttributeNames(bool includeInherited=true);
95
105 USDGEOM_API
106 static UsdGeomNurbsCurves
107 Get(const UsdStagePtr &stage, const SdfPath &path);
108
131 USDGEOM_API
132 static UsdGeomNurbsCurves
133 Define(const UsdStagePtr &stage, const SdfPath &path);
134
135protected:
139 USDGEOM_API
141
142private:
143 // needs to invoke _GetStaticTfType.
144 friend class UsdSchemaRegistry;
145 USDGEOM_API
146 static const TfType &_GetStaticTfType();
147
148 static bool _IsTypedSchema();
149
150 // override SchemaBase virtuals.
151 USDGEOM_API
152 const TfType &_GetTfType() const override;
153
154public:
155 // --------------------------------------------------------------------- //
156 // ORDER
157 // --------------------------------------------------------------------- //
168 USDGEOM_API
170
176 USDGEOM_API
177 UsdAttribute CreateOrderAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
178
179public:
180 // --------------------------------------------------------------------- //
181 // KNOTS
182 // --------------------------------------------------------------------- //
193 USDGEOM_API
195
201 USDGEOM_API
202 UsdAttribute CreateKnotsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
203
204public:
205 // --------------------------------------------------------------------- //
206 // RANGES
207 // --------------------------------------------------------------------- //
220 USDGEOM_API
222
228 USDGEOM_API
229 UsdAttribute CreateRangesAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
230
231public:
232 // --------------------------------------------------------------------- //
233 // POINTWEIGHTS
234 // --------------------------------------------------------------------- //
247 USDGEOM_API
249
255 USDGEOM_API
256 UsdAttribute CreatePointWeightsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
257
258public:
259 // ===================================================================== //
260 // Feel free to add custom code below this line, it will be preserved by
261 // the code generator.
262 //
263 // Just remember to:
264 // - Close the class declaration with };
265 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
266 // - Close the include guard with #endif
267 // ===================================================================== //
268 // --(BEGIN CUSTOM CODE)--
269};
270
271PXR_NAMESPACE_CLOSE_SCOPE
272
273#endif
Contains an asset path and optional evaluated and resolved paths.
Definition: assetPath.h:78
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
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:183
Base class for UsdGeomBasisCurves, UsdGeomNurbsCurves, and UsdGeomHermiteCurves.
Definition: curves.h:59
This schema is analagous to NURBS Curves in packages like Maya and Houdini, often used for interchang...
Definition: nurbsCurves.h:61
USDGEOM_API UsdAttribute CreatePointWeightsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetPointWeightsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
virtual USDGEOM_API ~UsdGeomNurbsCurves()
Destructor.
USDGEOM_API UsdAttribute CreateOrderAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetOrderAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute CreateKnotsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetKnotsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: nurbsCurves.h:66
USDGEOM_API UsdAttribute GetRangesAttr() const
Provides the minimum and maximum parametric values (as defined by knots) over which the curve is actu...
USDGEOM_API UsdAttribute GetOrderAttr() const
Order of the curve.
USDGEOM_API UsdAttribute CreateRangesAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRangesAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
USDGEOM_API UsdAttribute GetPointWeightsAttr() const
Optionally provides "w" components for each control point, thus must be the same length as the points...
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...
UsdGeomNurbsCurves(const UsdPrim &prim=UsdPrim())
Construct a UsdGeomNurbsCurves on UsdPrim prim .
Definition: nurbsCurves.h:72
USDGEOM_API UsdAttribute GetKnotsAttr() const
Knot vector providing curve parameterization.
static USDGEOM_API UsdGeomNurbsCurves Define(const UsdStagePtr &stage, const SdfPath &path)
Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefin...
static USDGEOM_API UsdGeomNurbsCurves Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdGeomNurbsCurves holding the prim adhering to this schema at path on stage.
UsdGeomNurbsCurves(const UsdSchemaBase &schemaObj)
Construct a UsdGeomNurbsCurves on the prim held by schemaObj .
Definition: nurbsCurves.h:80
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...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:152
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