rNd.h
Go to the documentation of this file.
13 * Laboratory (LANL) under contract No. DE-AC52-06NA25396 with the U.S. Department of Energy (DOE).
15 * Permission is granted to the public to copy and use this software without charge, provided that
rNd_int rNd_is_good(rNd_poly *poly)
Checks a polytope to see if it is a valid RND_DIM-polyhedral graph, by testing compliance with Balins...
double rNd_real
Real type specifying the precision to be used in calculations.
Definition: rNd.h:52
void rNd_clip(rNd_poly *poly, rNd_plane *planes, rNd_int nplanes)
Clip a polytope against an arbitrary number of hyperplanes (find its intersection with a set of half-...
void rNd_affine(rNd_poly *poly, rNd_real mat[RND_DIM+1][RND_DIM+1])
Apply a general affine transformation to a polytope.
void rNd_print(rNd_poly *poly)
Prints the vertices and connectivity of a polytope. For debugging.
void rNd_init_box(rNd_poly *poly, rNd_rvec rbounds[2])
Initialize a polytope as an axis-aligned hyperrectangle.
void rNd_init_simplex(rNd_poly *poly, rNd_rvec verts[RND_DIM+1])
Initialize a polytope as an RND_DIM-simplex.
void rNd_reduce(rNd_poly *poly, rNd_real *moments, rNd_int polyorder)
Integrate a polynomial density over a polytope. Still under development.
rNd_real rNd_orient(rNd_rvec verts[RND_DIM+1])
Get the signed volume of the RND_DIM-simplex defined by the input vertices.
void rNd_rotate(rNd_poly *poly, rNd_real theta, rNd_int ax1, rNd_int ax2)
Rotate a polytope about one axis.
void rNd_shear(rNd_poly *poly, rNd_real shear, rNd_int axb, rNd_int axs)
Shear a polytope. Each vertex undergoes the transformation pos.xyz[axb] += shear*pos.xyz[axs].