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,...)