hemocell
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
geom::EllipseDomain Class Reference

An ellipsoidal domain functional returning true inside the ellipsoid. The EllipseDomain represents an ellipsoidal domain which evaluates to true inside the ellipsoid. The ellipsoid can be given a desired center location and radius for each dimension. However, the EllipseDomain does current not support rotation. More...

#include <geometry.h>

Inheritance diagram for geom::EllipseDomain:
Inheritance graph
[legend]
Collaboration diagram for geom::EllipseDomain:
Collaboration graph
[legend]

Public Member Functions

 EllipseDomain (double x, double y, double rx, double ry)
 
 EllipseDomain (double cx, double cy, double cz, double rx, double ry, double rz)
 Default constructor specifying the x, y, z coordinates and radii.
 
bool operator() (plb::plint x, plb::plint y, plb::plint z) const override
 
EllipseDomainclone () const override
 

Private Attributes

double cx = 0
 
double cy = 0
 
double cz = 0
 
double rx = 0
 
double ry = 0
 
double rz = 0
 

Detailed Description

An ellipsoidal domain functional returning true inside the ellipsoid. The EllipseDomain represents an ellipsoidal domain which evaluates to true inside the ellipsoid. The ellipsoid can be given a desired center location and radius for each dimension. However, the EllipseDomain does current not support rotation.

Constructor & Destructor Documentation

◆ EllipseDomain() [1/2]

geom::EllipseDomain::EllipseDomain ( double  x,
double  y,
double  rx,
double  ry 
)
inline

The ellipsoid can be constructed with only x,y coordinates and x,y radii. Doing so initialises and ellipsoid at z=0 with infinite radius in the z direction. This mimics a two-dimensional projection and ensures the ellipsoidal domain is constant in z-direction.

◆ EllipseDomain() [2/2]

geom::EllipseDomain::EllipseDomain ( double  cx,
double  cy,
double  cz,
double  rx,
double  ry,
double  rz 
)
inline

Default constructor specifying the x, y, z coordinates and radii.

Member Function Documentation

◆ clone()

EllipseDomain * geom::EllipseDomain::clone ( ) const
inlineoverride

◆ operator()()

bool geom::EllipseDomain::operator() ( plb::plint  x,
plb::plint  y,
plb::plint  z 
) const
inlineoverride

Returns true if a point (x, y, z) is contained within the ellipsoid. This evaluates the parametric equation: x^2/a^2 + y^2/b^2 + z^2/c^2 = 1, where the equation is translated to the center of the ellipsoid.

Member Data Documentation

◆ cx

double geom::EllipseDomain::cx = 0
private

◆ cy

double geom::EllipseDomain::cy = 0
private

◆ cz

double geom::EllipseDomain::cz = 0
private

◆ rx

double geom::EllipseDomain::rx = 0
private

◆ ry

double geom::EllipseDomain::ry = 0
private

◆ rz

double geom::EllipseDomain::rz = 0
private