10 #ifndef MACROSURFACE3D_H 11 #define MACROSURFACE3D_H void(* phi)(uint i, real xr1, real xr2, void *phidata, real xt[3])
Parametrization callback.
Definition: macrosurface3d.h:96
uint(* e)[2]
Edge vertices.
Definition: macrosurface3d.h:62
pmacrosurface3d new_macrosurface3d(uint vertices, uint edges, uint triangles)
Create a macrosurface3d object.
pmacrosurface3d new_cube_macrosurface3d()
Creates a new macrosurface3d object for a unit cube.
void * phidata
Pointer that will be passed to the phi callback function.
Definition: macrosurface3d.h:100
psurface3d build_interactive_surface3d()
Create a surface3d object interactively.
psurface3d build_from_macrosurface3d_surface3d(pcmacrosurface3d mg, uint split)
Create a triangular mesh from a macrosurface3d object.
uint(* t)[3]
Triangle vertices.
Definition: macrosurface3d.h:71
pmacrosurface3d new_parabolic_mirror_macrosurface3d()
Creates a new macrosurface3d object for a parabolic mirror.
unsigned uint
Unsigned integer type.
Definition: settings.h:70
uint(* s)[3]
Triangle edges.
Definition: macrosurface3d.h:76
const macrosurface3d * pcmacrosurface3d
Pointer to a constant macrosurface3d object.
Definition: macrosurface3d.h:30
pmacrosurface3d new_cylinder_macrosurface3d()
Create a macrosurface3d object for a cylinder.
pmacrosurface3d new_sphere_macrosurface3d()
Create a macrosurface3d object for the unit sphere.
Representation of a parametrized surface.
Definition: macrosurface3d.h:48
uint vertices
Number of vertices.
Definition: macrosurface3d.h:50
pmacrosurface3d new_cuboid_macrosurface3d(real ax, real bx, real ay, real by, real az, real bz)
Creates a new macrosurface3d object for a cuboid.
void del_macrosurface3d(pmacrosurface3d mg)
Delete a macrosurface3d object.
Representation of a triangle surface mesh.
Definition: surface3d.h:45
#define HEADER_PREFIX
Prefix for function declarations.
Definition: settings.h:43
double real
real floating point type.
Definition: settings.h:97
real(* x)[3]
Vertex coordinates.
Definition: macrosurface3d.h:59
uint edges
Number of edges.
Definition: macrosurface3d.h:53
macrosurface3d * pmacrosurface3d
Pointer to a macrosurface3d object.
Definition: macrosurface3d.h:27
uint triangles
Number of triangles.
Definition: macrosurface3d.h:56