2 * Sixth 3D engine. Copyright ©2012-2019, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of version 3 of the GNU Lesser General Public License
6 * or later as published by the Free Software Foundation.
10 package eu.svjatoslav.sixth.e3d.math;
12 import eu.svjatoslav.sixth.e3d.geometry.Point3D;
14 public class TransformPipe {
16 private Transform[] transforms = new Transform[100];
18 private int transformsCount = 0;
20 public void addTransform(final Transform transform) {
21 transforms[transformsCount] = transform;
29 public void dropTransform() {
33 public void transform(final Point3D source, final Point3D destination) {
35 destination.clone(source);
37 for (int i = transformsCount - 1; i >= 0; i--)
38 transforms[i].transform(destination);