Loading...
Searching...
No Matches
GeomUtilDiskMeshGenerator Class Referencefinal

This class provides an implementation for generating topology, point positions and surface normals on a circular disk given the radius with numRadial segments. More...

#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)
 
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 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 =
GeomUtilDiskMeshGenerator::ComputeNumPoints(numRadial);
const float radius = 6;
MyPointContainer<GfVec3f> points(numPoints);
GeomUtilDiskMeshGenerator::GeneratePoints(
points.begin(), numRadial, radius);
const size_t numNormals =
GeomUtilDiskMeshGenerator::ComputeNumNormals();
MyPointContainer<GfVec3f> normals(numNormals);
GeomUtilDiskMeshGenerator::GenerateNormals(
normals.begin());

Definition at line 51 of file diskMeshGenerator.h.

Member Function Documentation

◆ ComputeNumNormals()

static size_t ComputeNumNormals ( )
inlinestatic

Definition at line 62 of file diskMeshGenerator.h.

◆ GenerateNormals() [1/2]

static void GenerateNormals ( PointIterType  iter,
const GfMatrix4d framePtr = nullptr 
)
inlinestatic

Definition at line 119 of file diskMeshGenerator.h.

◆ GenerateNormals() [2/2]

static void GenerateNormals ( PointIterType  iter,
  ... 
)
inlinestatic

Definition at line 326 of file meshGeneratorBase.h.

◆ GeneratePoints() [1/3]

static void GeneratePoints ( PointIterType  iter,
const size_t  numRadial,
const ScalarType  radius,
const GfMatrix4d framePtr = nullptr 
)
inlinestatic

Definition at line 83 of file diskMeshGenerator.h.

◆ GeneratePoints() [2/3]

static void 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.

◆ GeneratePoints() [3/3]

static void GeneratePoints ( PointIterType  iter,
  ... 
)
inlinestatic

Definition at line 308 of file meshGeneratorBase.h.

◆ GetNormalsInterpolation()

static TfToken GetNormalsInterpolation ( )
inlinestatic

Definition at line 68 of file diskMeshGenerator.h.

Member Data Documentation

◆ minNumRadial

constexpr size_t minNumRadial = 3
staticconstexpr

Definition at line 55 of file diskMeshGenerator.h.


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