Loading...
Searching...
No Matches
capsule_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_CAPSULE_1_H
25#define USDGEOM_GENERATED_CAPSULE_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// CAPSULE_1 //
51// -------------------------------------------------------------------------- //
52
68{
69public:
73 static const UsdSchemaKind schemaKind = UsdSchemaKind::ConcreteTyped;
74
79 explicit UsdGeomCapsule_1(const UsdPrim& prim=UsdPrim())
80 : UsdGeomGprim(prim)
81 {
82 }
83
87 explicit UsdGeomCapsule_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 UsdGeomCapsule_1
114 Get(const UsdStagePtr &stage, const SdfPath &path);
115
138 USDGEOM_API
139 static UsdGeomCapsule_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 // --------------------------------------------------------------------- //
176 USDGEOM_API
178
184 USDGEOM_API
185 UsdAttribute CreateHeightAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
186
187public:
188 // --------------------------------------------------------------------- //
189 // RADIUSTOP
190 // --------------------------------------------------------------------- //
202 USDGEOM_API
204
210 USDGEOM_API
211 UsdAttribute CreateRadiusTopAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
212
213public:
214 // --------------------------------------------------------------------- //
215 // RADIUSBOTTOM
216 // --------------------------------------------------------------------- //
228 USDGEOM_API
230
236 USDGEOM_API
237 UsdAttribute CreateRadiusBottomAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
238
239public:
240 // --------------------------------------------------------------------- //
241 // AXIS
242 // --------------------------------------------------------------------- //
252 USDGEOM_API
254
260 USDGEOM_API
261 UsdAttribute CreateAxisAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
262
263public:
264 // --------------------------------------------------------------------- //
265 // EXTENT
266 // --------------------------------------------------------------------- //
275 USDGEOM_API
277
283 USDGEOM_API
284 UsdAttribute CreateExtentAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
285
286public:
287 // ===================================================================== //
288 // Feel free to add custom code below this line, it will be preserved by
289 // the code generator.
290 //
291 // Just remember to:
292 // - Close the class declaration with };
293 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
294 // - Close the include guard with #endif
295 // ===================================================================== //
296 // --(BEGIN CUSTOM CODE)--
297
310 USDGEOM_API
311 static bool ComputeExtent(double height, double radiusTop,
312 double radiusBottom, const TfToken& axis, VtVec3fArray* extent);
313
316 USDGEOM_API
317 static bool ComputeExtent(double height, double radiusTop,
318 double radiusBottom, const TfToken& axis, const GfMatrix4d& transform,
319 VtVec3fArray* extent);
320};
321
322PXR_NAMESPACE_CLOSE_SCOPE
323
324#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 capsule, i.e.
Definition: capsule_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.
UsdGeomCapsule_1(const UsdPrim &prim=UsdPrim())
Construct a UsdGeomCapsule_1 on UsdPrim prim .
Definition: capsule_1.h:79
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.
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: capsule_1.h:73
USDGEOM_API UsdAttribute GetRadiusTopAttr() const
The radius of the capping sphere at the top of the capsule - i.e.
USDGEOM_API UsdAttribute GetRadiusBottomAttr() const
The radius of the capping sphere at the bottom of the capsule - i.e.
USDGEOM_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
static USDGEOM_API UsdGeomCapsule_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...
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...
static USDGEOM_API UsdGeomCapsule_1 Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdGeomCapsule_1 holding the prim adhering to this schema at path on stage.
virtual USDGEOM_API ~UsdGeomCapsule_1()
Destructor.
USDGEOM_API UsdAttribute GetAxisAttr() const
The axis along which the spine of the capsule is aligned.
USDGEOM_API UsdAttribute GetHeightAttr() const
The length of the capsule's spine along the specified axis excluding the size of the two half spheres...
UsdGeomCapsule_1(const UsdSchemaBase &schemaObj)
Construct a UsdGeomCapsule_1 on the prim held by schemaObj .
Definition: capsule_1.h:87
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 Capsule 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 capsule defined by the height, radiusTop, radiusBottom and axis.
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...
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.
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