summaryrefslogtreecommitdiffstats
path: root/src/box3d.cpp
diff options
context:
space:
mode:
authorMaximilian Albert <maximilian.albert@gmail.com>2007-07-03 18:09:45 +0000
committercilix42 <cilix42@users.sourceforge.net>2007-07-03 18:09:45 +0000
commit91911eab841ed010b5c029a16ea4d1ee1d0d601c (patch)
treed1d057eb525d84a1ff6a2c4c82605841142971c8 /src/box3d.cpp
parentr15736@tres: ted | 2007-07-02 21:11:39 -0700 (diff)
downloadinkscape-91911eab841ed010b5c029a16ea4d1ee1d0d601c.tar.gz
inkscape-91911eab841ed010b5c029a16ea4d1ee1d0d601c.zip
Use arrays to manage corners and faces of 3D boxes
(bzr r3166)
Diffstat (limited to 'src/box3d.cpp')
-rw-r--r--src/box3d.cpp45
1 files changed, 20 insertions, 25 deletions
diff --git a/src/box3d.cpp b/src/box3d.cpp
index 127ffa848..af31ff1a1 100644
--- a/src/box3d.cpp
+++ b/src/box3d.cpp
@@ -75,12 +75,9 @@ sp_3dbox_class_init(SP3DBoxClass *klass)
static void
sp_3dbox_init(SP3DBox *box3d)
{
- box3d->face1 = Box3DFace (box3d);
- box3d->face2 = Box3DFace (box3d);
- box3d->face3 = Box3DFace (box3d);
- box3d->face4 = Box3DFace (box3d);
- box3d->face5 = Box3DFace (box3d);
- box3d->face6 = Box3DFace (box3d);
+ for (int i = 0; i < 6; ++i) {
+ box3d->faces[i] = Box3DFace (box3d);
+ }
}
static void
@@ -143,15 +140,13 @@ static Inkscape::XML::Node *sp_3dbox_write(SPObject *object, Inkscape::XML::Node
}
- box3d->face1.set_path_repr();
+ box3d->faces[0].set_path_repr();
if (bc->extruded) {
NR::Point corner1, corner2, corner3, corner4;
sp_3dbox_compute_specific_corners (bc, corner1, corner2, corner3, corner4);
- box3d->face2.set_path_repr();
- box3d->face3.set_path_repr();
- box3d->face4.set_path_repr();
- box3d->face5.set_path_repr();
- box3d->face6.set_path_repr();
+ for (int i = 0; i < 6; ++i) {
+ box3d->faces[i].set_path_repr();
+ }
}
if (((SPObjectClass *) (parent_class))->write) {
((SPObjectClass *) (parent_class))->write(object, repr, flags);
@@ -204,20 +199,20 @@ sp_3dbox_set_shape(SP3DBox *box3d)
if (bc->extruded) {
sp_3dbox_compute_specific_corners (bc, corner1, corner2, corner3, corner4);
- box3d->face3.set_shape(bc->drag_origin, corner4, Box3D::Y, Box3D::Z);
- box3d->face3.set_curve();
- box3d->face4.set_shape(corner2, corner4, Box3D::X, Box3D::Z);
- box3d->face4.set_curve();
- box3d->face5.set_shape(bc->drag_origin, corner2, Box3D::X, Box3D::Y);
- box3d->face5.set_curve();
- box3d->face6.set_shape(bc->drag_ptB, corner4, Box3D::X, Box3D::Y);
- box3d->face6.set_curve();
-
- box3d->face2.set_shape(corner1, bc->drag_ptC, Box3D::Y, Box3D::Z);
- box3d->face2.set_curve();
+ box3d->faces[2].set_shape(bc->drag_origin, corner4, Box3D::Y, Box3D::Z);
+ box3d->faces[2].set_curve();
+ box3d->faces[3].set_shape(corner2, corner4, Box3D::X, Box3D::Z);
+ box3d->faces[3].set_curve();
+ box3d->faces[4].set_shape(bc->drag_origin, corner2, Box3D::X, Box3D::Y);
+ box3d->faces[4].set_curve();
+ box3d->faces[5].set_shape(bc->drag_ptB, corner4, Box3D::X, Box3D::Y);
+ box3d->faces[5].set_curve();
+
+ box3d->faces[1].set_shape(corner1, bc->drag_ptC, Box3D::Y, Box3D::Z);
+ box3d->faces[1].set_curve();
}
- box3d->face1.set_shape(bc->drag_origin, bc->drag_ptB, Box3D::X, Box3D::Z);
- box3d->face1.set_curve();
+ box3d->faces[0].set_shape(bc->drag_origin, bc->drag_ptB, Box3D::X, Box3D::Z);
+ box3d->faces[0].set_curve();
}