69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
/**
|
|
* 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;
|