new LOD(options)
Parameters:
Name |
Type |
Description |
options |
Object
|
geometry
|
Properties
Name |
Type |
Attributes |
Default |
Description |
show |
Boolean
|
<optional>
|
true
|
|
position |
Cesium.Cartesian3
|
<optional>
|
|
|
rotation |
Cesium.Rotation
|
<optional>
|
|
|
scale |
Cesium.Cartesian3
|
<optional>
|
|
|
|
Properties:
Name |
Type |
Description |
show |
Boolean
|
|
position |
Cesium.Cartesian3
|
|
rotation |
Cesium.Rotation
|
|
scale |
Cesium.Cartesian3
|
|
needUpdate |
Boolean
|
|
- Source:
Example
MeshVisualizer = Cesium.MeshVisualizer;
Mesh = Cesium.Mesh;
MeshMaterial = Cesium.MeshMaterial;
LOD = Cesium.LOD;
var center = Cesium.Cartesian3.fromDegrees(homePosition[0], homePosition[1], 50000);
var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
var meshVisualizer = new MeshVisualizer({
modelMatrix: modelMatrix,
up: { z: 1 }
});
viewer.scene.primitives.add(meshVisualizer);
var material = new MeshMaterial({
defaultColor: "rgba(200,0,0,1.0)",
wireframe: true,
side: MeshMaterial.Sides.FRONT
});
var radius = 20000;
var sphereL0 = Cesium.SphereGeometry.createGeometry(new Cesium.SphereGeometry({
radius: radius,
vertexFormat: Cesium.VertexFormat.POSITION_ONLY,
stackPartitions:4,
slicePartitions: 4
}));
var sphereL1 = Cesium.SphereGeometry.createGeometry(new Cesium.SphereGeometry({
radius: radius,
vertexFormat: Cesium.VertexFormat.POSITION_ONLY,
stackPartitions: 8,
slicePartitions: 8
}));
var sphereL2 = Cesium.SphereGeometry.createGeometry(new Cesium.SphereGeometry({
radius: radius,
vertexFormat: Cesium.VertexFormat.POSITION_ONLY,
stackPartitions: 16,
slicePartitions: 16
}));
var sphereL3 = Cesium.SphereGeometry.createGeometry(new Cesium.SphereGeometry({
radius: radius,
vertexFormat: Cesium.VertexFormat.POSITION_ONLY,
stackPartitions: 32,
slicePartitions: 32
}));
var sphereL4 = Cesium.SphereGeometry.createGeometry(new Cesium.SphereGeometry({
radius: radius,
vertexFormat: Cesium.VertexFormat.POSITION_ONLY,
stackPartitions: 64,
slicePartitions: 64
}));
var geometries = [
[sphereL4, 5],
[sphereL3, 200],
[sphereL2, 300],
[sphereL1, 500],
[sphereL0, 2000]
];
var maxAvailableDistance = 10000000;
var i, j, mesh, lod;
var scale = new Cesium.Cartesian3(1, 1, 1);
for (j = 0; j < 1000; j++) {
lod = new LOD();
for (i = 0; i < geometries.length; i++) {
mesh = new Mesh(geometries[i][0], material);
mesh.scale = scale;
lod.addLevel(mesh, geometries[i][1] * 1000);
}
lod.maxAvailableDistance = maxAvailableDistance;
lod.position.x = 1500000 * (0.5 - Math.random());
lod.position.y = 1750000 * (0.5 - Math.random());
lod.position.z = 130000 * (0.5 - Math.random());
meshVisualizer.add(lod);
}