Loading...
Searching...
No Matches
nurbsPatch.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_NURBSPATCH_H
8#define USDGEOM_GENERATED_NURBSPATCH_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// NURBSPATCH //
34// -------------------------------------------------------------------------- //
35
93{
94public:
98 static const UsdSchemaKind schemaKind = UsdSchemaKind::ConcreteTyped;
99
104 explicit UsdGeomNurbsPatch(const UsdPrim& prim=UsdPrim())
105 : UsdGeomPointBased(prim)
106 {
107 }
108
112 explicit UsdGeomNurbsPatch(const UsdSchemaBase& schemaObj)
113 : UsdGeomPointBased(schemaObj)
114 {
115 }
116
118 USDGEOM_API
120
124 USDGEOM_API
125 static const TfTokenVector &
126 GetSchemaAttributeNames(bool includeInherited=true);
127
137 USDGEOM_API
138 static UsdGeomNurbsPatch
139 Get(const UsdStagePtr &stage, const SdfPath &path);
140
163 USDGEOM_API
164 static UsdGeomNurbsPatch
165 Define(const UsdStagePtr &stage, const SdfPath &path);
166
167protected:
171 USDGEOM_API
173
174private:
175 // needs to invoke _GetStaticTfType.
176 friend class UsdSchemaRegistry;
177 USDGEOM_API
178 static const TfType &_GetStaticTfType();
179
180 static bool _IsTypedSchema();
181
182 // override SchemaBase virtuals.
183 USDGEOM_API
184 const TfType &_GetTfType() const override;
185
186public:
187 // --------------------------------------------------------------------- //
188 // UVERTEXCOUNT
189 // --------------------------------------------------------------------- //
198 USDGEOM_API
200
206 USDGEOM_API
207 UsdAttribute CreateUVertexCountAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
208
209public:
210 // --------------------------------------------------------------------- //
211 // VVERTEXCOUNT
212 // --------------------------------------------------------------------- //
221 USDGEOM_API
223
229 USDGEOM_API
230 UsdAttribute CreateVVertexCountAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
231
232public:
233 // --------------------------------------------------------------------- //
234 // UORDER
235 // --------------------------------------------------------------------- //
244 USDGEOM_API
246
252 USDGEOM_API
253 UsdAttribute CreateUOrderAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
254
255public:
256 // --------------------------------------------------------------------- //
257 // VORDER
258 // --------------------------------------------------------------------- //
267 USDGEOM_API
269
275 USDGEOM_API
276 UsdAttribute CreateVOrderAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
277
278public:
279 // --------------------------------------------------------------------- //
280 // UKNOTS
281 // --------------------------------------------------------------------- //
291 USDGEOM_API
293
299 USDGEOM_API
300 UsdAttribute CreateUKnotsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
301
302public:
303 // --------------------------------------------------------------------- //
304 // VKNOTS
305 // --------------------------------------------------------------------- //
315 USDGEOM_API
317
323 USDGEOM_API
324 UsdAttribute CreateVKnotsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
325
326public:
327 // --------------------------------------------------------------------- //
328 // UFORM
329 // --------------------------------------------------------------------- //
342 USDGEOM_API
344
350 USDGEOM_API
351 UsdAttribute CreateUFormAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
352
353public:
354 // --------------------------------------------------------------------- //
355 // VFORM
356 // --------------------------------------------------------------------- //
369 USDGEOM_API
371
377 USDGEOM_API
378 UsdAttribute CreateVFormAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
379
380public:
381 // --------------------------------------------------------------------- //
382 // URANGE
383 // --------------------------------------------------------------------- //
395 USDGEOM_API
397
403 USDGEOM_API
404 UsdAttribute CreateURangeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
405
406public:
407 // --------------------------------------------------------------------- //
408 // VRANGE
409 // --------------------------------------------------------------------- //
421 USDGEOM_API
423
429 USDGEOM_API
430 UsdAttribute CreateVRangeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
431
432public:
433 // --------------------------------------------------------------------- //
434 // POINTWEIGHTS
435 // --------------------------------------------------------------------- //
448 USDGEOM_API
450
456 USDGEOM_API
457 UsdAttribute CreatePointWeightsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
458
459public:
460 // --------------------------------------------------------------------- //
461 // TRIMCURVECOUNTS
462 // --------------------------------------------------------------------- //
474 USDGEOM_API
476
482 USDGEOM_API
483 UsdAttribute CreateTrimCurveCountsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
484
485public:
486 // --------------------------------------------------------------------- //
487 // TRIMCURVEORDERS
488 // --------------------------------------------------------------------- //
496 USDGEOM_API
498
504 USDGEOM_API
505 UsdAttribute CreateTrimCurveOrdersAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
506
507public:
508 // --------------------------------------------------------------------- //
509 // TRIMCURVEVERTEXCOUNTS
510 // --------------------------------------------------------------------- //
519 USDGEOM_API
521
527 USDGEOM_API
528 UsdAttribute CreateTrimCurveVertexCountsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
529
530public:
531 // --------------------------------------------------------------------- //
532 // TRIMCURVEKNOTS
533 // --------------------------------------------------------------------- //
544 USDGEOM_API
546
552 USDGEOM_API
553 UsdAttribute CreateTrimCurveKnotsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
554
555public:
556 // --------------------------------------------------------------------- //
557 // TRIMCURVERANGES
558 // --------------------------------------------------------------------- //
567 USDGEOM_API
569
575 USDGEOM_API
576 UsdAttribute CreateTrimCurveRangesAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
577
578public:
579 // --------------------------------------------------------------------- //
580 // TRIMCURVEPOINTS
581 // --------------------------------------------------------------------- //
591 USDGEOM_API
593
599 USDGEOM_API
600 UsdAttribute CreateTrimCurvePointsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
601
602public:
603 // ===================================================================== //
604 // Feel free to add custom code below this line, it will be preserved by
605 // the code generator.
606 //
607 // Just remember to:
608 // - Close the class declaration with };
609 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
610 // - Close the include guard with #endif
611 // ===================================================================== //
612 // --(BEGIN CUSTOM CODE)--
613};
614
615PXR_NAMESPACE_CLOSE_SCOPE
616
617#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
Encodes a rational or polynomial non-uniform B-spline surface, with optional trim curves.
Definition: nurbsPatch.h:93
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.
USDGEOM_API UsdAttribute CreateVFormAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetVFormAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetUKnotsAttr() const
Knot vector for U direction providing U parameterization.
USDGEOM_API UsdAttribute CreateUOrderAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetUOrderAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetVKnotsAttr() const
Knot vector for V direction providing U parameterization.
virtual USDGEOM_API ~UsdGeomNurbsPatch()
Destructor.
USDGEOM_API UsdAttribute GetTrimCurveOrdersAttr() const
Flat list of orders for each of the nCurves curves.
USDGEOM_API UsdAttribute GetTrimCurveRangesAttr() const
Flat list of minimum and maximum parametric values (as defined by knots) for each of the nCurves curv...
USDGEOM_API UsdAttribute CreateVOrderAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetVOrderAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute CreateURangeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetURangeAttr(), 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: nurbsPatch.h:98
USDGEOM_API UsdAttribute GetTrimCurveCountsAttr() const
Each element specifies how many curves are present in each "loop" of the trimCurve,...
USDGEOM_API UsdAttribute CreateTrimCurvePointsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTrimCurvePointsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute CreateTrimCurveRangesAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTrimCurveRangesAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetTrimCurveVertexCountsAttr() const
Flat list of number of vertices for each of the nCurves curves.
USDGEOM_API UsdAttribute CreateUVertexCountAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetUVertexCountAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetVVertexCountAttr() const
Number of vertices in the V direction.
USDGEOM_API UsdAttribute GetVRangeAttr() const
Provides the minimum and maximum parametric values (as defined by vKnots) over which the surface is a...
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...
USDGEOM_API UsdAttribute GetUOrderAttr() const
Order in the U direction.
USDGEOM_API UsdAttribute CreateTrimCurveKnotsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTrimCurveKnotsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
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 UsdAttribute GetVOrderAttr() const
Order in the V direction.
USDGEOM_API UsdAttribute CreateVVertexCountAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetVVertexCountAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetUFormAttr() const
Interpret the control grid and knot vectors as representing an open, geometrically closed,...
USDGEOM_API UsdAttribute CreateTrimCurveCountsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTrimCurveCountsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static USDGEOM_API UsdGeomNurbsPatch Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdGeomNurbsPatch holding the prim adhering to this schema at path on stage.
USDGEOM_API UsdAttribute GetVFormAttr() const
Interpret the control grid and knot vectors as representing an open, geometrically closed,...
USDGEOM_API UsdAttribute CreateTrimCurveVertexCountsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTrimCurveVertexCountsAttr(), and also Create vs Get Property Methods for when to use Get vs Cr...
USDGEOM_API UsdAttribute GetTrimCurvePointsAttr() const
Flat list of homogeneous 2D points (u, v, w) that comprise the nCurves curves.
USDGEOM_API UsdAttribute GetURangeAttr() const
Provides the minimum and maximum parametric values (as defined by uKnots) over which the surface is a...
USDGEOM_API UsdAttribute CreateTrimCurveOrdersAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTrimCurveOrdersAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
UsdGeomNurbsPatch(const UsdSchemaBase &schemaObj)
Construct a UsdGeomNurbsPatch on the prim held by schemaObj .
Definition: nurbsPatch.h:112
USDGEOM_API UsdAttribute CreateVRangeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetVRangeAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetUVertexCountAttr() const
Number of vertices in the U direction.
UsdGeomNurbsPatch(const UsdPrim &prim=UsdPrim())
Construct a UsdGeomNurbsPatch on UsdPrim prim .
Definition: nurbsPatch.h:104
USDGEOM_API UsdAttribute CreateVKnotsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetVKnotsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute CreateUFormAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetUFormAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static USDGEOM_API UsdGeomNurbsPatch Define(const UsdStagePtr &stage, const SdfPath &path)
Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefin...
USDGEOM_API UsdAttribute CreateUKnotsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetUKnotsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetTrimCurveKnotsAttr() const
Flat list of parametric values for each of the nCurves curves.
Base class for all UsdGeomGprims that possess points, providing common attributes such as normals and...
Definition: pointBased.h:42
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