7 #ifndef PXR_IMAGING_GEOM_UTIL_CYLINDER_MESH_GENERATOR_H
8 #define PXR_IMAGING_GEOM_UTIL_CYLINDER_MESH_GENERATOR_H
71 const size_t numRadial,
72 const bool closedSweep =
true);
75 const size_t numRadial,
76 const bool closedSweep =
true)
85 return GeomUtilInterpolationTokens->vertex;
90 const size_t numRadial,
91 const bool closedSweep =
true);
93 template<
typename PointIterType,
99 const size_t numRadial,
100 const ScalarType radius,
110 template<
typename PointIterType,
116 const size_t numRadial,
117 const ScalarType bottomRadius,
118 const ScalarType topRadius,
122 constexpr ScalarType sweep = 360;
125 bottomRadius, topRadius,
126 height, sweep, framePtr);
129 template<
typename PointIterType,
135 const size_t numRadial,
136 const ScalarType bottomRadius,
137 const ScalarType topRadius,
139 const ScalarType sweepDegrees,
145 _GeneratePointsImpl(numRadial, bottomRadius, topRadius, height,
153 template<
typename PointIterType,
159 const size_t numRadial,
160 const ScalarType radius,
170 template<
typename PointIterType,
176 const size_t numRadial,
177 const ScalarType bottomRadius,
178 const ScalarType topRadius,
182 constexpr ScalarType sweep = 360;
184 bottomRadius, topRadius,
185 height, sweep, framePtr);
188 template<
typename PointIterType,
194 const size_t numRadial,
195 const ScalarType bottomRadius,
196 const ScalarType topRadius,
198 const ScalarType sweepDegrees,
204 _GenerateNormalsImpl(numRadial, bottomRadius, topRadius, height,
214 template<
typename Po
intType>
215 static void _GeneratePointsImpl(
216 const size_t numRadial,
217 const typename PointType::ScalarType bottomRadius,
218 const typename PointType::ScalarType topRadius,
219 const typename PointType::ScalarType
height,
220 const typename PointType::ScalarType sweepDegrees,
221 const _PointWriter<PointType>& ptWriter);
223 template<
typename Po
intType>
224 static void _GenerateNormalsImpl(
225 const size_t numRadial,
226 const typename PointType::ScalarType bottomRadius,
227 const typename PointType::ScalarType topRadius,
228 const typename PointType::ScalarType
height,
229 const typename PointType::ScalarType sweep,
230 const _PointWriter<PointType>& ptWriter);
235 #endif // PXR_IMAGING_GEOM_UTIL_CYLINDER_MESH_GENERATOR_H
static TfToken GetNormalsInterpolation()
static void GeneratePoints(PointIterType iter, const size_t numRadial, const ScalarType bottomRadius, const ScalarType topRadius, const ScalarType height, const ScalarType sweepDegrees, const GfMatrix4d *framePtr=nullptr)
static void GeneratePoints(PointIterType iter, const size_t numRadial, const ScalarType radius, const ScalarType height, const GfMatrix4d *framePtr=nullptr)
static GEOMUTIL_API size_t ComputeNumPoints(const size_t numRadial, const bool closedSweep=true)
static void GeneratePoints(PointIterType iter, const size_t numRadial, const ScalarType bottomRadius, const ScalarType topRadius, const ScalarType height, const GfMatrix4d *framePtr=nullptr)
GLint GLsizei GLsizei height
static constexpr size_t minNumRadial
static size_t ComputeNumNormals(const size_t numRadial, const bool closedSweep=true)
static GEOMUTIL_API PxOsdMeshTopology GenerateTopology(const size_t numRadial, const bool closedSweep=true)
static void GeneratePoints(PointIterType iter,...)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
static void GenerateNormals(PointIterType iter, const size_t numRadial, const ScalarType bottomRadius, const ScalarType topRadius, const ScalarType height, const ScalarType sweepDegrees, const GfMatrix4d *framePtr=nullptr)
#define PXR_NAMESPACE_CLOSE_SCOPE
static void GenerateNormals(PointIterType iter, const size_t numRadial, const ScalarType radius, const ScalarType height, const GfMatrix4d *framePtr=nullptr)
static void GenerateNormals(PointIterType iter,...)
static void GenerateNormals(PointIterType iter, const size_t numRadial, const ScalarType bottomRadius, const ScalarType topRadius, const ScalarType height, const GfMatrix4d *framePtr=nullptr)