55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
/**
|
|
* GameLib.D3.API.Geometry.Normal.Shape
|
|
* @param apiGeometry
|
|
* @param shapes
|
|
* @param curveSegments
|
|
* @constructor
|
|
*/
|
|
GameLib.D3.API.Geometry.Normal.Shape = function(
|
|
apiGeometry,
|
|
shapes,
|
|
curveSegments
|
|
) {
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(apiGeometry)) {
|
|
apiGeometry = {
|
|
geometryType: GameLib.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_SHAPE
|
|
};
|
|
}
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(apiGeometry.geometryType)) {
|
|
apiGeometry.geometryType = GameLib.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_SHAPE;
|
|
}
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(shapes)) {
|
|
shapes = [];
|
|
}
|
|
this.shapes = shapes;
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(curveSegments)) {
|
|
curveSegments = 12;
|
|
}
|
|
this.curveSegments = curveSegments;
|
|
|
|
GameLib.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
|
|
);
|
|
};
|
|
|
|
GameLib.D3.API.Geometry.Normal.Shape.prototype = Object.create(GameLib.D3.API.Geometry.Normal.prototype);
|
|
GameLib.D3.API.Geometry.Normal.Shape.prototype.constructor = GameLib.D3.API.Geometry.Normal.Shape;
|