/** * R3.D3.API.Geometry.Normal.Lathe * @param apiGeometry * @param points [R3.Vector2] * @param segments * @param phiStart * @param phiLength * @constructor */ R3.D3.API.Geometry.Normal.Lathe = function( apiGeometry, points, segments, phiStart, phiLength ) { if (R3.Utils.UndefinedOrNull(apiGeometry)) { apiGeometry = { geometryType: R3.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_LATHE }; } if (R3.Utils.UndefinedOrNull(apiGeometry.geometryType)) { apiGeometry.geometryType = R3.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_LATHE; } if (R3.Utils.UndefinedOrNull(points)) { points = []; } this.points = points; if (R3.Utils.UndefinedOrNull(segments)) { segments = 12; } this.segments = segments; if (R3.Utils.UndefinedOrNull(phiStart)) { phiStart = 0; } this.phiStart = phiStart; if (R3.Utils.UndefinedOrNull(phiLength)) { phiLength = Math.PI * 2; } this.phiLength = phiLength; R3.D3.API.Geometry.Normal.call( this, apiGeometry, apiGeometry.colors, apiGeometry.lineDistances, apiGeometry.morphTargets, apiGeometry.morphNormals, apiGeometry.skinWeights, apiGeometry.skinIndices, apiGeometry.verticesNeedsUpdate, apiGeometry.elementsNeedUpdate, apiGeometry.uvsNeedUpdate, apiGeometry.normalsNeedUpdate, apiGeometry.colorsNeedUpdate, apiGeometry.groupsNeedUpdate, apiGeometry.lineDistancesNeedUpdate ); }; R3.D3.API.Geometry.Normal.Lathe.prototype = Object.create(R3.D3.API.Geometry.Normal.prototype); R3.D3.API.Geometry.Normal.Lathe.prototype.constructor = R3.D3.API.Geometry.Normal.Lathe;