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:
pDomain

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< pDomaincopy () 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< pDomaincopy () 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: