public ExtrusionPath() { for (int i = 0; i < MaxSteps; i++) { transforms[i] = GLMatrix4D.Identity(); } }
public override void UpdatePath() { iNumberOfTransforms = iLevelOfDetail; int i; double fRatio; for (i = 0; i < iNumberOfTransforms; i++) { fRatio = (double)i / (double)(iNumberOfTransforms - 1); transforms[i] = GLMatrix4D.Identity(); transforms[i].ApplyTranslation(fRatio * fShear, 0, fRatio - 0.5); transforms[i].ApplyScale(1 + fRatio * (fTopSizeX - 1), 1 + fRatio * (fTopSizeY - 1), 1); transforms[i].applyRotate(fRatio * (double)iTwist, 0, 0, 1); } }