938 fixed.5

This commit is contained in:
mige 2025-10-15 16:28:12 +04:00
parent 5c2632c70a
commit 464b3f8e58
2 changed files with 115 additions and 0 deletions

View File

@ -0,0 +1,24 @@
<html>
<head>
<title>Draco loader sample</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<script
type="text/javascript"
src="https://www.gstatic.com/draco/versioned/decoders/1.5.7/draco_decoder.js"
></script>
<script src="./nestedEntities.js" type="module"></script>
<link rel="stylesheet" href="../../css/og.css" type="text/css"/>
<style>
body {
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div id="earth" style="width:100%;height:100%"></div>
<div id="l0" class="defaultText" style="color:black"></div>
</body>
</html>

View File

@ -0,0 +1,91 @@
import {
Globe,
Vector,
GlobusRgbTerrain,
OpenStreetMap,
Bing,
Object3d,
Vec3,
Entity,
control,
LonLat
} from "../../lib/og.es.js";
let objLayer = new Vector("Obj.Layer", {
scaleByDistance: [50, 50000, 1]
});
let globe = new Globe({
target: "earth",
name: "Earth",
terrain: new GlobusRgbTerrain(),
layers: [new OpenStreetMap(), new Bing(), objLayer],
});
globe.planet.addControls([
new control.GeoObjectEditor(),
new control.LayerSwitcher()
]);
const baseObj = Object3d.createCube(0.4, 2, 0.4)
.translate(new Vec3(0, 1, 0))
.setMaterial({
ambient: "#802727",
diffuse: "#ff5252",
});
const viewObj = Object3d.createFrustum(3, 2, 1)
.setMaterial({
ambient: "#28552b",
diffuse: "#1cdd23",
});
const viewObj2 = Object3d.createFrustum(3, 2, 1)
.setMaterial({
ambient: "#5f2563",
diffuse: "#ef00ff",
});
const pos = new LonLat(-105.6173319876, 39.615583413, 4057.9466);
let parentEntity = new Entity({
lonlat: pos,
independentPicking: true,
geoObject: {
instanced: true,
tag: `baseObj`,
object3d: baseObj,
}
});
let childEntity = new Entity({
cartesian: new Vec3(0, 1, 0),
independentPicking: true,
relativePosition: true,
geoObject: {
instanced: true,
tag: `viewObj`,
object3d: viewObj,
}
});
let childChildEntity = new Entity({
cartesian: new Vec3(0, 3, -1),
independentPicking: true,
relativePosition: true,
geoObject: {
instanced: true,
tag: `viewObj2`,
object3d: viewObj2,
}
});
childEntity.appendChild(childChildEntity);
parentEntity.appendChild(childEntity);
objLayer.add(parentEntity);
globe.planet.camera.setLonLat(
new LonLat(-105.61717175714179, 39.61567256262465, 4064.033358156039),
pos, // look point
);