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

69 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-04-09 09:35:04 +02:00
/**
* R3.D3.API.Geometry.Normal.Polyhedron
* @param apiGeometry
* @param vertices
* @param indices
* @param radius
* @param detail
* @constructor
*/
R3.D3.API.Geometry.Normal.Polyhedron = function(
apiGeometry,
vertices,
indices,
radius,
detail
) {
if (R3.Utils.UndefinedOrNull(apiGeometry)) {
apiGeometry = {
geometryType: R3.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_POLYHEDRON
};
}
if (R3.Utils.UndefinedOrNull(apiGeometry.geometryType)) {
apiGeometry.geometryType = R3.D3.API.Geometry.GEOMETRY_TYPE_NORMAL_POLYHEDRON;
}
if (R3.Utils.UndefinedOrNull(vertices)) {
vertices = [];
}
this.vertices = vertices;
if (R3.Utils.UndefinedOrNull(indices)) {
indices = 1;
}
this.indices = indices;
if (R3.Utils.UndefinedOrNull(radius)) {
radius = 5;
}
this.radius = radius;
if (R3.Utils.UndefinedOrNull(detail)) {
detail = 0;
}
this.detail = detail;
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.Polyhedron.prototype = Object.create(R3.D3.API.Geometry.Normal.prototype);
R3.D3.API.Geometry.Normal.Polyhedron.prototype.constructor = R3.D3.API.Geometry.Normal.Polyhedron;