HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GeomUtilDiskMeshGenerator Class Referencefinal

#include <diskMeshGenerator.h>

+ Inheritance diagram for GeomUtilDiskMeshGenerator:

Static Public Member Functions

static GEOMUTIL_API size_t ComputeNumPoints (const size_t numRadial, const bool closedSweep=true)
 
static size_t ComputeNumNormals ()
 
static TfToken GetNormalsInterpolation ()
 
static GEOMUTIL_API
PxOsdMeshTopology 
GenerateTopology (const size_t numRadial, const bool closedSweep=true)
 
template<typename PointIterType , typename ScalarType , typename Enabled = typename _EnableIfGfVec3Iterator<PointIterType>::type>
static void GeneratePoints (PointIterType iter, const size_t numRadial, const ScalarType radius, const GfMatrix4d *framePtr=nullptr)
 
template<typename PointIterType , typename ScalarType , typename Enabled = typename _EnableIfGfVec3Iterator<PointIterType>::type>
static void GeneratePoints (PointIterType iter, const size_t numRadial, const ScalarType radius, const ScalarType sweepDegrees, const GfMatrix4d *framePtr=nullptr)
 
template<typename PointIterType , typename Enabled = typename _EnableIfGfVec3Iterator<PointIterType>::type>
static void GenerateNormals (PointIterType iter, const GfMatrix4d *framePtr=nullptr)
 
- Static Public Member Functions inherited from GeomUtilMeshGeneratorBase
template<typename PointIterType , typename Enabled = typename _EnableIfNotGfVec3Iterator<PointIterType>::type>
static void GeneratePoints (PointIterType iter,...)
 
template<typename PointIterType , typename Enabled = typename _EnableIfNotGfVec3Iterator<PointIterType>::type>
static void GenerateNormals (PointIterType iter,...)
 

Static Public Attributes

static constexpr size_t minNumRadial = 3
 

Additional Inherited Members

- Protected Types inherited from GeomUtilMeshGeneratorBase
enum  _CapStyle { CapStyleNone, CapStyleSharedEdge, CapStyleSeparateEdge }
 
- Static Protected Member Functions inherited from GeomUtilMeshGeneratorBase
static PxOsdMeshTopology _GenerateCappedQuadTopology (const size_t numRadial, const size_t numQuadStrips, const _CapStyle bottomCapStyle, const _CapStyle topCapStyle, const bool closedSweep)
 
static size_t _ComputeNumRadialPoints (const size_t numRadial, const bool closedSweep)
 
static size_t _ComputeNumCappedQuadTopologyPoints (const size_t numRadial, const size_t numQuadStrips, const _CapStyle bottomCapStyle, const _CapStyle topCapStyle, const bool closedSweep)
 
template<typename ScalarType >
static std::vector< std::array
< ScalarType, 2 > > 
_GenerateUnitArcXY (const size_t numRadial, const ScalarType sweepDegrees)
 

Detailed Description

This class provides an implementation for generating topology, point positions and surface normals on a circular disk given the radius with numRadial segments. The generated disk is centered at the origin.

An optional transform may be provided to GeneratePoints and GenerateNormals to orient the disk as necessary.

Usage:

const size_t numRadial = 8;
const size_t numPoints =
const float radius = 6;
MyPointContainer<GfVec3f> points(numPoints);
points.begin(), numRadial, radius);
const size_t numNormals =
MyPointContainer<GfVec3f> normals(numNormals);
normals.begin());

Definition at line 51 of file diskMeshGenerator.h.

Member Function Documentation

static size_t GeomUtilDiskMeshGenerator::ComputeNumNormals ( )
inlinestatic

Definition at line 62 of file diskMeshGenerator.h.

static GEOMUTIL_API size_t GeomUtilDiskMeshGenerator::ComputeNumPoints ( const size_t  numRadial,
const bool  closedSweep = true 
)
static
template<typename PointIterType , typename Enabled = typename _EnableIfGfVec3Iterator<PointIterType>::type>
static void GeomUtilDiskMeshGenerator::GenerateNormals ( PointIterType  iter,
const GfMatrix4d framePtr = nullptr 
)
inlinestatic

Definition at line 119 of file diskMeshGenerator.h.

template<typename PointIterType , typename ScalarType , typename Enabled = typename _EnableIfGfVec3Iterator<PointIterType>::type>
static void GeomUtilDiskMeshGenerator::GeneratePoints ( PointIterType  iter,
const size_t  numRadial,
const ScalarType  radius,
const GfMatrix4d framePtr = nullptr 
)
inlinestatic

Definition at line 83 of file diskMeshGenerator.h.

template<typename PointIterType , typename ScalarType , typename Enabled = typename _EnableIfGfVec3Iterator<PointIterType>::type>
static void GeomUtilDiskMeshGenerator::GeneratePoints ( PointIterType  iter,
const size_t  numRadial,
const ScalarType  radius,
const ScalarType  sweepDegrees,
const GfMatrix4d framePtr = nullptr 
)
inlinestatic

Definition at line 99 of file diskMeshGenerator.h.

static GEOMUTIL_API PxOsdMeshTopology GeomUtilDiskMeshGenerator::GenerateTopology ( const size_t  numRadial,
const bool  closedSweep = true 
)
static
static TfToken GeomUtilDiskMeshGenerator::GetNormalsInterpolation ( )
inlinestatic

Definition at line 68 of file diskMeshGenerator.h.

Member Data Documentation

constexpr size_t GeomUtilDiskMeshGenerator::minNumRadial = 3
static

Definition at line 55 of file diskMeshGenerator.h.


The documentation for this class was generated from the following file: