r3-legacy/src/game-lib-d3-api-geometry-no...

113 lines
2.8 KiB
JavaScript
Raw Normal View History

2018-02-09 16:08:43 +01:00
/**
2018-02-11 16:57:28 +01:00
* GameLib.D3.API.Geometry.Normal.Extrude
2018-02-09 16:08:43 +01:00
* @param apiGeometry
* @param shapes
* @param curveSegments
* @param steps
* @param amount
* @param bevelEnabled
* @param bevelThickness
* @param bevelSize
* @param bevelSegments
* @param extrudePath
* @param frames
* @param UVGenerator
* @constructor
*/
2018-02-11 16:57:28 +01:00
GameLib.D3.API.Geometry.Normal.Extrude = function(
2018-02-09 16:08:43 +01:00
apiGeometry,
shapes,
curveSegments,
steps,
amount,
bevelEnabled,
bevelThickness,
bevelSize,
bevelSegments,
extrudePath,
frames,
UVGenerator
) {
if (GameLib.Utils.UndefinedOrNull(apiGeometry)) {
apiGeometry = {
2018-02-11 16:57:28 +01:00
geometryType: GameLib.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_EXTRUDE
2018-02-09 16:08:43 +01:00
};
}
if (GameLib.Utils.UndefinedOrNull(apiGeometry.geometryType)) {
2018-02-11 16:57:28 +01:00
apiGeometry.geometryType = GameLib.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_EXTRUDE;
2018-02-09 16:08:43 +01:00
}
if (GameLib.Utils.UndefinedOrNull(shapes)) {
shapes = [];
}
this.shapes = shapes;
if (GameLib.Utils.UndefinedOrNull(curveSegments)) {
curveSegments = 12;
}
this.curveSegments = curveSegments;
if (GameLib.Utils.UndefinedOrNull(steps)) {
steps = 1;
}
this.steps = steps;
if (GameLib.Utils.UndefinedOrNull(amount)) {
amount = 100;
}
this.amount = amount;
if (GameLib.Utils.UndefinedOrNull(bevelEnabled)) {
bevelEnabled = true;
}
this.bevelEnabled = bevelEnabled;
if (GameLib.Utils.UndefinedOrNull(bevelThickness)) {
bevelThickness = 6;
}
this.bevelThickness = bevelThickness;
if (GameLib.Utils.UndefinedOrNull(bevelSegments)) {
bevelSegments = 3;
}
this.bevelSegments = bevelSegments;
if (GameLib.Utils.UndefinedOrNull(extrudePath)) {
extrudePath = null;
}
this.extrudePath = extrudePath;
if (GameLib.Utils.UndefinedOrNull(frames)) {
frames = null;
}
this.frames = frames;
if (GameLib.Utils.UndefinedOrNull(UVGenerator)) {
UVGenerator = null;
}
this.UVGenerator = UVGenerator;
2018-02-11 16:57:28 +01:00
GameLib.D3.API.Geometry.Normal.call(
2018-02-09 16:08:43 +01:00
this,
2018-02-11 16:57:28 +01:00
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,
2018-02-09 16:08:43 +01:00
apiGeometry.lineDistancesNeedUpdate
);
};
2018-02-11 16:57:28 +01:00
GameLib.D3.API.Geometry.Normal.Extrude.prototype = Object.create(GameLib.D3.API.Geometry.Normal.prototype);
GameLib.D3.API.Geometry.Normal.Extrude.prototype.constructor = GameLib.D3.API.Geometry.Normal.Extrude;