7 #ifndef PXR_IMAGING_GEOM_UTIL_SPHERE_MESH_GENERATOR_H
8 #define PXR_IMAGING_GEOM_UTIL_SPHERE_MESH_GENERATOR_H
67 const size_t numRadial,
68 const size_t numAxial,
69 const bool closedSweep =
true);
72 const size_t numRadial,
73 const size_t numAxial,
74 const bool closedSweep =
true)
83 return GeomUtilInterpolationTokens->vertex;
88 const size_t numRadial,
89 const size_t numAxial,
90 const bool closedSweep =
true);
92 template<
typename PointIterType,
98 const size_t numRadial,
99 const size_t numAxial,
100 const ScalarType radius,
103 constexpr ScalarType sweep = 360;
104 GeneratePoints(iter, numRadial, numAxial, radius, sweep, framePtr);
107 template<
typename PointIterType,
113 const size_t numRadial,
114 const size_t numAxial,
115 const ScalarType radius,
116 const ScalarType sweepDegrees,
122 _GeneratePointsImpl(numRadial, numAxial, radius, sweepDegrees,
129 template<
typename PointIterType,
134 const size_t numRadial,
135 const size_t numAxial,
141 constexpr
typename PointType::ScalarType sweep = 360;
145 template<
typename PointIterType,
151 const size_t numRadial,
152 const size_t numAxial,
153 const ScalarType sweepDegrees,
159 _GenerateNormalsImpl(numRadial, numAxial, sweepDegrees,
168 template<
typename Po
intType>
169 static void _GeneratePointsImpl(
170 const size_t numRadial,
171 const size_t numAxial,
172 const typename PointType::ScalarType radius,
173 const typename PointType::ScalarType sweepDegrees,
174 const _PointWriter<PointType>& ptWriter);
176 template<
typename Po
intType>
177 static void _GenerateNormalsImpl(
178 const size_t numRadial,
179 const size_t numAxial,
180 const typename PointType::ScalarType sweepDegrees,
181 const _PointWriter<PointType>& ptWriter);
186 #endif // PXR_IMAGING_GEOM_UTIL_SPHERE_MESH_GENERATOR_H
static void GenerateNormals(PointIterType iter, const size_t numRadial, const size_t numAxial, const ScalarType sweepDegrees, const GfMatrix4d *framePtr=nullptr)
static void GenerateNormals(PointIterType iter, const size_t numRadial, const size_t numAxial, const GfMatrix4d *framePtr=nullptr)
static GEOMUTIL_API PxOsdMeshTopology GenerateTopology(const size_t numRadial, const size_t numAxial, const bool closedSweep=true)
static TfToken GetNormalsInterpolation()
static size_t ComputeNumNormals(const size_t numRadial, const size_t numAxial, const bool closedSweep=true)
static void GeneratePoints(PointIterType iter, const size_t numRadial, const size_t numAxial, const ScalarType radius, const GfMatrix4d *framePtr=nullptr)
static constexpr size_t minNumRadial
static GEOMUTIL_API size_t ComputeNumPoints(const size_t numRadial, const size_t numAxial, const bool closedSweep=true)
static constexpr size_t minNumAxial
static void GeneratePoints(PointIterType iter,...)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
static void GeneratePoints(PointIterType iter, const size_t numRadial, const size_t numAxial, const ScalarType radius, const ScalarType sweepDegrees, const GfMatrix4d *framePtr=nullptr)
#define PXR_NAMESPACE_CLOSE_SCOPE
static void GenerateNormals(PointIterType iter,...)