@@ 1,18 0,0 @@
-
-Mesh *
-symmetry(Mesh *m, double x, double y, double z, int color)
-{
- int i, el, vl = m->verticeslen;
- for(i = 0; i < vl; i++)
- addvertex(m,
- m->vertices[i].x * x,
- m->vertices[i].y * y,
- m->vertices[i].z * z);
- el = m->edgeslen;
- for(i = 0; i < el; i++)
- addedge(m,
- el + 1 + m->edges[i].a,
- el + 1 + m->edges[i].b,
- color);
- return m;
-}>
\ No newline at end of file
@@ 656,12 656,12 @@ rotate(Mesh *m, double pitch, double yaw, double roll)
}
Mesh *
-extrude(Mesh *m, Point3d t, int color)
+extrude(Mesh *m, double x, double y, double z, int color)
{
int i, j, vl = m->verticeslen, el = m->edgeslen;
for(i = 0; i < vl; i++) {
Point3d *a = &m->vertices[i];
- addedge(m, &m->vertices[i], addvertex(m, a->x + t.x, a->y + t.y, a->z + t.z), color);
+ addedge(m, &m->vertices[i], addvertex(m, a->x + x, a->y + y, a->z + z), color);
}
for(i = 0; i < el; i++) {
Edge *e0 = &m->edges[i];
@@ 676,6 676,24 @@ extrude(Mesh *m, Point3d t, int color)
return m;
}
+Mesh *
+symmetry(Mesh *m, double x, double y, double z, int color)
+{
+ int i, el, vl = m->verticeslen;
+ for(i = 0; i < vl; i++)
+ addvertex(m,
+ m->vertices[i].x * x,
+ m->vertices[i].y * y,
+ m->vertices[i].z * z);
+ el = m->edgeslen;
+ for(i = 0; i < el; i++)
+ addedge(m,
+ el + 1 + m->edges[i].a,
+ el + 1 + m->edges[i].b,
+ color);
+ return m;
+}
+
/* Primitives */
Mesh *
@@ 730,9 748,7 @@ createplane(Scene *s, double width, double height, double xsegs, double ysegs, i
Mesh *
createbox(Scene *s, double width, double height, double depth, int color)
{
- Mesh *m = createplane(s, width, height, 1, 1, color);
- extrude(m, Pt3d(0, 0, depth), color);
- return m;
+ return extrude(createplane(s, width, height, 1, 1, color), 0, 0, depth, color);
}
Mesh *