+ trianglefan: function(fan) {
+ var result = [];
+ for (var i = 2; i < fan.length; i++) {
+ result.push(fan[0], fan[i-1], fan[i]);
+ }
+ return result;
+ },
+ closed_trianglefan: function(fan) {
+ return nt3d.trianglefan(fan.concat([fan[1]]));
+ },
+ quadstrip: function(strip) {
+ if (strip.length % 2 != 0) {
+ alert("quadstrip length not divisble by 2!");
+ }
+ var result = [];
+ for (var i = 2; i < strip.length; i += 2) {
+ result = result.concat(nt3d.quad(strip[i-2], strip[i-1], strip[i+1], strip[i]));
+ }
+ return result;
+ },
+ closed_quadstrip: function(strip) {
+ return nt3d.quadstrip(strip.concat([strip[0], strip[1]]));
+ },