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

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

A Triangle. More...

`#include <pDomain.h>`

Inheritance diagram for PDTriangle:

## Public Member Functions
| PDTriangle (const pVec &p0, const pVec &p1, const pVec &p2)
void | PDTriangle_Cons (const pVec &p0, const pVec &p1, const pVec &p2)
bool | Within (const pVec &pos) const
| Returns true for points within epsilon of the triangle. More...
pVec | Generate () const
| Returns a random point in the triangle. More...
float | Size () const
| Returns the size of the domain (length, area, or volume). 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 | p
pVec | u
pVec | v
pVec | uNrm
pVec | vNrm
pVec | nrm
pVec | s1
pVec | s2
float | uLen
float | vLen
float | D
float | area
Public Attributes inherited from pDomain
pDomainType_E | Which

## Detailed Description

A Triangle.

p0, p1, and p2 are the vertices of the triangle. The triangle can be used to define an arbitrary geometrical model for particles to bounce off, or generate particles on its surface (and explode them), etc.

Generate returns a random point in the triangle. Within returns true for points within epsilon of the triangle. Currently it is not possible to sink particles that enter/exit a polygonal model. Suggestions?

## Constructor & Destructor Documentation

## ◆ PDTriangle()

PDTriangle | ( | const pVec & | p0,
|  | const pVec & | p1,
|  | const pVec & | p2
| ) |  |
| 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 triangle.

Implements pDomain.

## ◆ PDTriangle_Cons()

void PDTriangle_Cons | ( | const pVec & | p0,
|  | const pVec & | p1,
|  | const pVec & | p2
| ) |  |
| inline

## ◆ Size()

float Size | ( |  | ) | const
| inlinevirtual

Returns the size of the domain (length, area, or volume).

Implements pDomain.

## ◆ Within()

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

Returns true for points within epsilon of the triangle.

Implements pDomain.

## Member Data Documentation

## ◆ area

float area

## ◆ D

float D

## ◆ nrm

pVec nrm

## ◆ p

pVec p

## ◆ s1

pVec s1

## ◆ s2

pVec s2

## ◆ u

pVec u

## ◆ uLen

float uLen

## ◆ uNrm

pVec uNrm

## ◆ v

pVec v

## ◆ vLen

float vLen

## ◆ vNrm

pVec vNrm

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

- pDomain.h