Loading...
Searching...
No Matches
cylinder_1.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the Apache License, Version 2.0 (the "Apache License")
5// with the following modification; you may not use this file except in
6// compliance with the Apache License and the following modification to it:
7// Section 6. Trademarks. is deleted and replaced with:
8//
9// 6. Trademarks. This License does not grant permission to use the trade
10// names, trademarks, service marks, or product names of the Licensor
11// and its affiliates, except as required to comply with Section 4(c) of
12// the License and to reproduce the content of the NOTICE file.
13//
14// You may obtain a copy of the Apache License at
15//
16// http://www.apache.org/licenses/LICENSE-2.0
17//
18// Unless required by applicable law or agreed to in writing, software
19// distributed under the Apache License with the above modification is
20// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21// KIND, either express or implied. See the Apache License for the specific
22// language governing permissions and limitations under the Apache License.
23//
24#ifndef USDGEOM_GENERATED_CYLINDER_1_H
25#define USDGEOM_GENERATED_CYLINDER_1_H
26
28
29#include "pxr/pxr.h"
30#include "pxr/usd/usdGeom/api.h"
32#include "pxr/usd/usd/prim.h"
33#include "pxr/usd/usd/stage.h"
35
36#include "pxr/base/vt/value.h"
37
38#include "pxr/base/gf/vec3d.h"
39#include "pxr/base/gf/vec3f.h"
41
42#include "pxr/base/tf/token.h"
43#include "pxr/base/tf/type.h"
44
45PXR_NAMESPACE_OPEN_SCOPE
46
47class SdfAssetPath;
48
49// -------------------------------------------------------------------------- //
50// CYLINDER_1 //
51// -------------------------------------------------------------------------- //
52
68{
69public:
73 static const UsdSchemaKind schemaKind = UsdSchemaKind::ConcreteTyped;
74
79 explicit UsdGeomCylinder_1(const UsdPrim& prim=UsdPrim())
80 : UsdGeomGprim(prim)
81 {
82 }
83
87 explicit UsdGeomCylinder_1(const UsdSchemaBase& schemaObj)
88 : UsdGeomGprim(schemaObj)
89 {
90 }
91
93 USDGEOM_API
95
99 USDGEOM_API
100 static const TfTokenVector &
101 GetSchemaAttributeNames(bool includeInherited=true);
102
112 USDGEOM_API
113 static UsdGeomCylinder_1
114 Get(const UsdStagePtr &stage, const SdfPath &path);
115
138 USDGEOM_API
139 static UsdGeomCylinder_1
140 Define(const UsdStagePtr &stage, const SdfPath &path);
141
142protected:
146 USDGEOM_API
148
149private:
150 // needs to invoke _GetStaticTfType.
151 friend class UsdSchemaRegistry;
152 USDGEOM_API
153 static const TfType &_GetStaticTfType();
154
155 static bool _IsTypedSchema();
156
157 // override SchemaBase virtuals.
158 USDGEOM_API
159 const TfType &_GetTfType() const override;
160
161public:
162 // --------------------------------------------------------------------- //
163 // HEIGHT
164 // --------------------------------------------------------------------- //
175 USDGEOM_API
177
183 USDGEOM_API
184 UsdAttribute CreateHeightAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
185
186public:
187 // --------------------------------------------------------------------- //
188 // RADIUSTOP
189 // --------------------------------------------------------------------- //
201 USDGEOM_API
203
209 USDGEOM_API
210 UsdAttribute CreateRadiusTopAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
211
212public:
213 // --------------------------------------------------------------------- //
214 // RADIUSBOTTOM
215 // --------------------------------------------------------------------- //
227 USDGEOM_API
229
235 USDGEOM_API
236 UsdAttribute CreateRadiusBottomAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
237
238public:
239 // --------------------------------------------------------------------- //
240 // AXIS
241 // --------------------------------------------------------------------- //
251 USDGEOM_API
253
259 USDGEOM_API
260 UsdAttribute CreateAxisAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
261
262public:
263 // --------------------------------------------------------------------- //
264 // EXTENT
265 // --------------------------------------------------------------------- //
274 USDGEOM_API
276
282 USDGEOM_API
283 UsdAttribute CreateExtentAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
284
285public:
286 // ===================================================================== //
287 // Feel free to add custom code below this line, it will be preserved by
288 // the code generator.
289 //
290 // Just remember to:
291 // - Close the class declaration with };
292 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
293 // - Close the include guard with #endif
294 // ===================================================================== //
295 // --(BEGIN CUSTOM CODE)--
296
309 USDGEOM_API
310 static bool ComputeExtent(double height, double radiusTop,
311 double radiusBottom, const TfToken& axis, VtVec3fArray* extent);
312
315 USDGEOM_API
316 static bool ComputeExtent(double height, double radiusTop,
317 double radiusBottom, const TfToken& axis,
318 const GfMatrix4d& transform, VtVec3fArray* extent);
319};
320
321PXR_NAMESPACE_CLOSE_SCOPE
322
323#endif
Stores a 4x4 matrix of double elements.
Definition: matrix4d.h:88
Contains an asset path and an optional resolved path.
Definition: assetPath.h:47
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:290
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:88
TfType represents a dynamic runtime type.
Definition: type.h:65
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:176
Defines a primitive cylinder with closed ends, centered at the origin, whose spine is along the speci...
Definition: cylinder_1.h:68
USDGEOM_API UsdAttribute CreateRadiusBottomAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRadiusBottomAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute CreateExtentAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetExtentAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static USDGEOM_API UsdGeomCylinder_1 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 CreateRadiusTopAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRadiusTopAttr(), 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: cylinder_1.h:73
USDGEOM_API UsdAttribute GetRadiusTopAttr() const
The radius of the top of the cylinder - i.e.
static USDGEOM_API UsdGeomCylinder_1 Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdGeomCylinder_1 holding the prim adhering to this schema at path on stage.
virtual USDGEOM_API ~UsdGeomCylinder_1()
Destructor.
USDGEOM_API UsdAttribute GetRadiusBottomAttr() const
The radius of the bottom of the cylinder - i.e.
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...
USDGEOM_API UsdAttribute GetAxisAttr() const
The axis along which the spine of the cylinder is aligned.
USDGEOM_API UsdAttribute GetHeightAttr() const
The length of the cylinder's spine along the specified axis.
USDGEOM_API UsdAttribute CreateAxisAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetAxisAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetExtentAttr() const
Extent is re-defined on Cylinder only to provide a fallback value.
static USDGEOM_API bool ComputeExtent(double height, double radiusTop, double radiusBottom, const TfToken &axis, VtVec3fArray *extent)
Compute the extent for the cylinder defined by the height, radiusTop, radiusBottom,...
static USDGEOM_API bool ComputeExtent(double height, double radiusTop, double radiusBottom, const TfToken &axis, const GfMatrix4d &transform, VtVec3fArray *extent)
This is an overloaded member function, provided for convenience. It differs from the above function o...
UsdGeomCylinder_1(const UsdSchemaBase &schemaObj)
Construct a UsdGeomCylinder_1 on the prim held by schemaObj .
Definition: cylinder_1.h:87
USDGEOM_API UsdAttribute CreateHeightAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetHeightAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
UsdGeomCylinder_1(const UsdPrim &prim=UsdPrim())
Construct a UsdGeomCylinder_1 on UsdPrim prim .
Definition: cylinder_1.h:79
Base class for all geometric primitives.
Definition: gprim.h:67
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:134
The base class for all schema types in Usd.
Definition: schemaBase.h:56
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:164
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:129
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:457