r3-legacy/src/r3-d3-api-geometry-normal-l...

69 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-04-09 09:35:04 +02:00
/**
* 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;