import { Cartesian3 } from "../../Source/Cesium.js"; import { PlaneGeometry } from "../../Source/Cesium.js"; import { VertexFormat } from "../../Source/Cesium.js"; import createPackableSpecs from "../createPackableSpecs.js"; describe("Core/PlaneGeometry", function () { it("constructor creates optimized number of positions for VertexFormat.POSITIONS_ONLY", function () { var m = PlaneGeometry.createGeometry( new PlaneGeometry({ vertexFormat: VertexFormat.POSITION_ONLY, }) ); expect(m.attributes.position.values.length).toEqual(4 * 3); // 4 corners expect(m.indices.length).toEqual(2 * 3); // 2 triangles }); it("constructor computes all vertex attributes", function () { var m = PlaneGeometry.createGeometry( new PlaneGeometry({ vertexFormat: VertexFormat.ALL, }) ); var numVertices = 4; var numTriangles = 2; expect(m.attributes.position.values.length).toEqual(numVertices * 3); expect(m.attributes.normal.values.length).toEqual(numVertices * 3); expect(m.attributes.tangent.values.length).toEqual(numVertices * 3); expect(m.attributes.bitangent.values.length).toEqual(numVertices * 3); expect(m.attributes.st.values.length).toEqual(numVertices * 2); expect(m.indices.length).toEqual(numTriangles * 3); expect(m.boundingSphere.center).toEqual(Cartesian3.ZERO); expect(m.boundingSphere.radius).toEqual(Math.sqrt(2.0)); }); createPackableSpecs( PlaneGeometry, new PlaneGeometry({ vertexFormat: VertexFormat.POSITION_AND_NORMAL, }), [1.0, 1.0, 0.0, 0.0, 0.0, 0.0] ); });