ParticleAPI 3.0.0 Performant particle system API in C++ for interactive graphics

Public Member Functions | Public Attributes | List of all members
PDCylinder Struct Reference

Cylinder. More...

`#include <pDomain.h>`

Inheritance diagram for PDCylinder:

## Public Member Functions
| PDCylinder (const pVec &e0, const pVec &e1, const float OuterRadius, const float InnerRadius=0.0f)
void | PDCylinder_Cons (const pVec &e0, const pVec &e1, const float OuterRadius, const float InnerRadius=0.0f)
bool | Within (const pVec &pos) const
| Returns true if the point is within the cylindrical shell. More...
pVec | Generate () const
| Returns a random point in the cylindrical shell. More...
float | Size () const
| Returns the thick cylindrical shell volume or the thin cylindrical shell area if OuterRadius==InnerRadius. More...
std::shared_ptr< pDomain > | copy () const
virtual bool | Within (const pVec &) const =0
| Returns true if the given point is within the domain. More...
virtual pVec | Generate () const =0
| Returns a random point in the domain. More...
virtual float | Size () const =0
| Returns the size of the domain (length, area, or volume). More...
virtual std::shared_ptr< pDomain > | copy () const =0

## Public Attributes
pVec | apex
pVec | axis
pVec | u
pVec | v
float | radIn
float | radOut
float | radInSqr
float | radOutSqr
float | radDif
float | axisLenInvSqr
float | vol
bool | ThinShell
Public Attributes inherited from pDomain
pDomainType_E | Which

## Detailed Description

Cylinder.

e0 and e1 are the endpoints of the axis of the right cylinder. OuterRadius is the outer radius, and InnerRadius is the inner radius for a cylindrical shell. InnerRadius = 0 for a solid cylinder with no empty space in the middle.

Generate returns a random point in the cylindrical shell. Within returns true if the point is within the cylindrical shell.

## Constructor & Destructor Documentation

## ◆ PDCylinder()

PDCylinder | ( | const pVec & | e0,
|  | const pVec & | e1,
|  | const float | OuterRadius,
|  | const float | InnerRadius = `0.0f`
| ) |  |
| inline

## Member Function Documentation

## ◆ copy()

std::shared_ptr< pDomain > copy | ( |  | ) | const
| inlinevirtual

Implements pDomain.

## ◆ Generate()

pVec Generate | ( |  | ) | const
| inlinevirtual

Returns a random point in the cylindrical shell.

Implements pDomain.

## ◆ PDCylinder_Cons()

void PDCylinder_Cons | ( | const pVec & | e0,
|  | const pVec & | e1,
|  | const float | OuterRadius,
|  | const float | InnerRadius = `0.0f`
| ) |  |
| inline

## ◆ Size()

float Size | ( |  | ) | const
| inlinevirtual

Returns the thick cylindrical shell volume or the thin cylindrical shell area if OuterRadius==InnerRadius.

Implements pDomain.

## ◆ Within()

bool Within | ( | const pVec & | pos | ) | const
| inlinevirtual

Returns true if the point is within the cylindrical shell.

Implements pDomain.

## Member Data Documentation

## ◆ apex

pVec apex

## ◆ axis

pVec axis

## ◆ axisLenInvSqr

float axisLenInvSqr

## ◆ radDif

float radDif

## ◆ radIn

float radIn

## ◆ radInSqr

float radInSqr

## ◆ radOut

float radOut

## ◆ radOutSqr

float radOutSqr

## ◆ ThinShell

bool ThinShell

## ◆ u

pVec u

## ◆ v

pVec v

## ◆ vol

float vol

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

- pDomain.h