Loading...
Searching...
No Matches
implicitSurfaceMeshUtils.h
1//
2// Copyright 2019 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 PXR_USD_IMAGING_USD_IMAGING_IMPLICIT_SURFACE_MESH_UTILS_H
25#define PXR_USD_IMAGING_USD_IMAGING_IMPLICIT_SURFACE_MESH_UTILS_H
26
27#include "pxr/pxr.h"
28#include "pxr/usdImaging/usdImaging/api.h"
29#include "pxr/base/vt/types.h"
30
31PXR_NAMESPACE_OPEN_SCOPE
32
34class TfToken;
35
36// Sphere
37
41USDIMAGING_API
43UsdImagingGetUnitSphereMeshTopology();
44
53USDIMAGING_API
54const VtVec3fArray&
55UsdImagingGetUnitSphereMeshPoints();
56
57// Cube
58
62USDIMAGING_API
64UsdImagingGetUnitCubeMeshTopology();
65
73USDIMAGING_API
74const VtVec3fArray&
75UsdImagingGetUnitCubeMeshPoints();
76
77// Cone
78
82USDIMAGING_API
84UsdImagingGetUnitConeMeshTopology();
85
97USDIMAGING_API
98const VtVec3fArray&
99UsdImagingGetUnitConeMeshPoints();
100
101// Cylinder
102
106USDIMAGING_API
108UsdImagingGetUnitCylinderMeshTopology();
109
121USDIMAGING_API
122const VtVec3fArray&
123UsdImagingGetUnitCylinderMeshPoints();
124
125// Capsule
126
130USDIMAGING_API
132UsdImagingGetCapsuleMeshTopology();
133
146USDIMAGING_API
147VtVec3fArray
148UsdImagingGenerateCapsuleMeshPoints(
149 const double height,
150 const double radius,
151 const TfToken& axis);
152
153// Plane
154
158USDIMAGING_API
160UsdImagingGetPlaneTopology();
161
172USDIMAGING_API
173VtVec3fArray
174UsdImagingGeneratePlaneMeshPoints(
175 const double width,
176 const double length,
177 const TfToken& axis);
178
179
180// Transforms
181
186USDIMAGING_API
188UsdImagingGenerateSphereOrCubeTransform(
189 const double size);
190
197USDIMAGING_API
199UsdImagingGenerateConeOrCylinderTransform(
200 const double height,
201 const double radius,
202 const TfToken& axis);
203
204PXR_NAMESPACE_CLOSE_SCOPE
205
206#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:88
Topology data for meshes.
Definition: meshTopology.h:69
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:88
size_t size() const
Return the size of the string that this token represents.
Definition: token.h:186