6 void gen_sphere(struct cmesh *mesh, float rad, int usub, int vsub, float urange, float vrange);
7 void gen_geosphere(struct cmesh *mesh, float rad, int subdiv, int hemi);
8 void gen_torus(struct cmesh *mesh, float mainrad, float ringrad, int usub, int vsub,
9 float urange, float vrange);
10 void gen_cylinder(struct cmesh *mesh, float rad, float height, int usub, int vsub,
11 int capsub, float urange, float vrange);
12 void gen_cone(struct cmesh *mesh, float rad, float height, int usub, int vsub,
13 int capsub, float urange, float vrange);
14 void gen_plane(struct cmesh *mesh, float width, float height, int usub, int vsub);
15 void gen_heightmap(struct cmesh *mesh, float width, float height, int usub, int vsub,
16 float (*hf)(float, float, void*), void *hfdata);
17 void gen_box(struct cmesh *mesh, float xsz, float ysz, float zsz, int usub, int vsub);
19 void gen_revol(struct cmesh *mesh, int usub, int vsub, cgm_vec2 (*rfunc)(float, float, void*),
20 cgm_vec2 (*nfunc)(float, float, void*), void *cls);
22 /* callback args: (float u, float v, void *cls) -> Vec2 XZ offset u,v in [0, 1] */
23 void gen_sweep(struct cmesh *mesh, float height, int usub, int vsub,
24 cgm_vec2 (*sfunc)(float, float, void*), void *cls);
26 #endif /* CMESHGEN_H_ */