22 static QString names[] = {
"",
31 "CosineRippleLorentz",
34 "EllipsoidalCylinder",
41 "PlatonicTetrahedron",
49 "SawtoothRippleGauss",
50 "SawtoothRippleLorentz",
54 return names[uint(k)];
59 using namespace GeometricID;
101 static float const pi = float(M_PI);
102 static float const pi2f = float(M_PI_2);
103 static float const sqrt2f = std::sqrt(2.f);
104 static float const sqrt3f = std::sqrt(3.f);
113 isNull = (L <= 0 || W <= 0 || H <= 0 || alpha <= 0);
123 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
133 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
143 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
153 isNull = (R <= 0 || H <= 0 || alpha <= 0);
162 isNull = (R <= 0 || H <= 0 || alpha <= 0);
171 isNull = (L <= 0 || H <= 0 || rH <= 0 || alpha >=
pi2f);
180 isNull = (R <= 0 || H <= 0);
199 isNull = (Ra <= 0 || Rb <= 0 || H <= 0);
217 isNull = (R <= 0 || H <= 0);
226 isNull = (Ra <= 0 || Rb <= 0 || H <= 0);
244 isNull = (L <= 0 || H <= 0);
254 isNull = (R <= 0 || H <= 0);
263 isNull = (L <= 0 || H <= 0 || alpha <= 0);
274 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
284 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
294 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
304 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
314 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
324 isNull = (L < 0 || W < 0 || H < 0) || (L <= 0 && W <= 0 && H <= 0);
334 isNull = (L <= 0 || H <= 0 || alpha <= 0);
353 isNull = (R <= 0 || H <= 0);
361 Key(
BaseShape::
Sphere, 1 - H / fp / R / 2, (H - fp * R) / fp / R / 2, deltaH / fp / R / 2))
363 isNull = (R <= 0 || H <= 0 || fp <= 0);
382 isNull = (R <= 0 || L <= 0 || s_b >= s_t);
void transform(float scale, Vector3D rotate, Vector3D translate)
void addExtrinsicRotation(Vector3D turn, Vector3D scale, Vector3D &rotate, Vector3D rotateExtrinsic, Vector3D &translate)
BarGauss(float L, float W, float H)
BarLorentz(float L, float W, float H)
Bipyramid4(float L, float H, float rH, float alpha)
Box(float L, float W, float H)
CantellatedCube(float L, float t)
Cone(float R, float H, float alpha)
CosineRippleBox(float L, float W, float H)
CosineRippleGauss(float L, float W, float H)
CosineRippleLorentz(float L, float W, float H)
Cylinder(float R, float H)
EllipsoidalCylinder(float Ra, float Rb, float H)
HemiEllipsoid(float Ra, float Rb, float H)
HorizontalCylinder(float R, float L, float s_b, float s_t)
void transform(Vector3D rotate, Vector3D translate)
void addExtrinsicRotation(Vector3D rotateExtrinsic)
void fancy(Vector3D rotate, float r)
Particle(GeometricID::Key)
void addTransform(Vector3D rotate, Vector3D translate)
void addTranslation(Vector3D translate_)
PlatonicOctahedron(float L)
PlatonicTetrahedron(float L)
Pyramid2(float L, float W, float H, float alpha)
Pyramid3(float L, float H, float alpha)
Pyramid4(float L, float H, float alpha)
Pyramid6(float R, float H, float alpha)
SawtoothRippleBox(float L, float W, float H)
SawtoothRippleGauss(float L, float W, float H)
SawtoothRippleLorentz(float L, float W, float H)
Spheroid(float R, float H)
TruncatedCube(float L, float t)
TruncatedSphere(float R, float H, float deltaH=0.0f)
TruncatedSpheroid(float R, float H, float fp, float deltaH=0.0f)
BaseShape
Enum id for basic shapes.
QString const & name(EShape k)
static float const sqrt3f
static float const sqrt2f
const float DodecahedronL2R
Real shapes will be parameterized by BaseShape enum and possibly two floats.