Loading...
Searching...
No Matches
implicitSurfaceMeshUtils.h
1//
2// Copyright 2019 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_USD_IMAGING_USD_IMAGING_IMPLICIT_SURFACE_MESH_UTILS_H
8#define PXR_USD_IMAGING_USD_IMAGING_IMPLICIT_SURFACE_MESH_UTILS_H
9
10#include "pxr/pxr.h"
11#include "pxr/usdImaging/usdImaging/api.h"
12#include "pxr/base/vt/types.h"
13
14PXR_NAMESPACE_OPEN_SCOPE
15
17class TfToken;
18
19// Sphere
20
24USDIMAGING_API
26UsdImagingGetUnitSphereMeshTopology();
27
36USDIMAGING_API
37const VtVec3fArray&
38UsdImagingGetUnitSphereMeshPoints();
39
40// Cube
41
45USDIMAGING_API
47UsdImagingGetUnitCubeMeshTopology();
48
56USDIMAGING_API
57const VtVec3fArray&
58UsdImagingGetUnitCubeMeshPoints();
59
60// Cone
61
65USDIMAGING_API
67UsdImagingGetUnitConeMeshTopology();
68
80USDIMAGING_API
81const VtVec3fArray&
82UsdImagingGetUnitConeMeshPoints();
83
84// Cylinder
85
89USDIMAGING_API
91UsdImagingGetUnitCylinderMeshTopology();
92
104USDIMAGING_API
105const VtVec3fArray&
106UsdImagingGetUnitCylinderMeshPoints();
107
108// Capsule
109
113USDIMAGING_API
115UsdImagingGetCapsuleMeshTopology();
116
129USDIMAGING_API
130VtVec3fArray
131UsdImagingGenerateCapsuleMeshPoints(
132 const double height,
133 const double radius,
134 const TfToken& axis);
135
136// Plane
137
141USDIMAGING_API
143UsdImagingGetPlaneTopology();
144
155USDIMAGING_API
156VtVec3fArray
157UsdImagingGeneratePlaneMeshPoints(
158 const double width,
159 const double length,
160 const TfToken& axis);
161
162
163// Transforms
164
169USDIMAGING_API
171UsdImagingGenerateSphereOrCubeTransform(
172 const double size);
173
180USDIMAGING_API
182UsdImagingGenerateConeOrCylinderTransform(
183 const double height,
184 const double radius,
185 const TfToken& axis);
186
187PXR_NAMESPACE_CLOSE_SCOPE
188
189#endif // PXR_USD_IMAGING_USD_IMAGING_IMPLICIT_SURFACE_MESH_UTILS_H
Defines all the types "TYPED" for which Vt creates a VtTYPEDArray typedef.
Stores a 4x4 matrix of double elements.
Definition: matrix4d.h:71
Topology data for meshes.
Definition: meshTopology.h:52
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
size_t size() const
Return the size of the string that this token represents.
Definition: token.h:169