Merge branch 'main' into CameraMovement

This commit is contained in:
Denis Manherz 2023-05-11 18:51:47 +02:00
commit b2a46a0c5d
11 changed files with 164 additions and 267 deletions

View file

@ -30,6 +30,7 @@ export const PlanetOverlayContext = createContext();
export const SharedPlanetState = () => { export const SharedPlanetState = () => {
const { customData } = useContext(MyContext); const { customData } = useContext(MyContext);
let fetchnum = useRef(0);
let [nameVis, setNameVis] = useState("visible"); let [nameVis, setNameVis] = useState("visible");
let [iconVis, setIconVis] = useState("visible"); let [iconVis, setIconVis] = useState("visible");
@ -61,25 +62,29 @@ export const SharedPlanetState = () => {
const [speed, setSpeed] = useState(1); const [speed, setSpeed] = useState(1);
const updateSpeed = (newSpeed) => { const updateSpeed = (newSpeed) => {
setSpeed(newSpeed); setSpeed(newSpeed);
speedChanged.current = true; setSpeedChanged(true);
}; };
customData.current["updateSpeed"] = updateSpeed; customData.current["updateSpeed"] = updateSpeed;
//get position data and reset if necessary //get position data and reset if necessary
const dateTime = useRef(new Date(Date.now())); const dateTime = useRef(new Date(Date.now()));
const speedChanged = useRef(false); const [speedChanged, setSpeedChanged] = useState();
const getPositions = (planet, setPosState, oldState, posCounter) => { const getPositions = (planet, setPosState, oldState, posCounter) => {
//if speed was changed delete old data an get new data //if speed was changed delete old data an get new data
//???????Why when i set the speed to 0 it doesnt immidiatly stop? good enough for know //???????Why when i set the speed to 0 it doesnt immidiatly stop? good enough for know
if (speedChanged.current) { if (speedChanged) {
setPosState(oldState.slice(0, posCounter + 10)); //console.log(oldState.length);
speedChanged.current = true; //console.log(posCounter);
setPosState(oldState.slice(0, 500));
//console.log("here" + speedChanged);
} }
if (oldState.length - posCounter < 1500 || speedChanged.current) { if (oldState.length - posCounter < 1000 || speedChanged) {
//console.log("fetch"); //console.log("there" + speedChanged);
setSpeedChanged(false);
if (oldState.length > 0 && speed > 0) { if (oldState.length > 0 && speed > 0) {
dateTime.current = new Date( dateTime.current = new Date(
oldState[oldState.length - 1].date oldState[oldState.length - 1].date
@ -93,23 +98,32 @@ export const SharedPlanetState = () => {
); );
let response = await res.json(); let response = await res.json();
setPosState(oldState.concat(response)); setPosState(oldState.concat(response));
speedChanged.current = false;
}; };
fetchData(); fetchData();
} }
//console.log(oldState.length);
}; };
return ( return (
<> <>
<PlanetOverlayContext.Provider value={{ nameVis, iconVis, speed }}> <PlanetOverlayContext.Provider value={{ nameVis, iconVis, speed }}>
<Earth speed={speed} getPosition={getPositions} /> <Earth
<Mars speed={speed} /> speed={speed}
<Jupiter speed={speed} /> getPosition={getPositions}
<Saturn speed={speed} /> speedChanged={speedChanged}
<Mercury speed={speed} /> />
<Venus speed={speed} /> <Mars
<Neptune speed={speed} /> speed={speed}
<Uranus speed={speed} /> getPosition={getPositions}
speedChanged={speedChanged}
/>
<Jupiter speed={speed} getPosition={getPositions} />
<Saturn speed={speed} getPosition={getPositions} />
<Mercury speed={speed} getPosition={getPositions} />
<Venus speed={speed} getPosition={getPositions} />
<Neptune speed={speed} getPosition={getPositions} />
<Uranus speed={speed} getPosition={getPositions} />
<Sun /> <Sun />
</PlanetOverlayContext.Provider> </PlanetOverlayContext.Provider>
</> </>

View file

@ -38,7 +38,7 @@ import { PlanetPath } from "./path";
import { MyContext } from "./Scene3"; import { MyContext } from "./Scene3";
import { PlanetOverlayContext } from "./SharedPlanetState"; import { PlanetOverlayContext } from "./SharedPlanetState";
export const Earth = ({ speed, getPosition }) => { export const Earth = ({ speed, getPosition, speedChanged }) => {
let distanceScaleFactor = 1000000; let distanceScaleFactor = 1000000;
const [posArr, setPosArr] = useState([]); const [posArr, setPosArr] = useState([]);
const lineArr = useRef([]); const lineArr = useRef([]);
@ -46,7 +46,7 @@ export const Earth = ({ speed, getPosition }) => {
const clouds = useRef("clouds"); const clouds = useRef("clouds");
const earth = useRef(); const earth = useRef();
const group = useRef(); const group = useRef();
const color = useRef("lightgreen"); const { customData } = useContext(MyContext);
let planetPositionIndex = useRef(0); let planetPositionIndex = useRef(0);
@ -56,15 +56,25 @@ export const Earth = ({ speed, getPosition }) => {
group.current.userData.scolor = "lightgreen"; group.current.userData.scolor = "lightgreen";
}); });
useFrame(() => { useFrame(({ clock }) => {
const timeSinceLastUpdate = clock.elapsedTime - lastPositionUpdate.current;
if (timeSinceLastUpdate >= 2 || speedChanged) {
//console.log("gethis");
getPosition("earth", setPosArr, posArr, planetPositionIndex.current);
lastPositionUpdate.current = clock.elapsedTime;
}
//console.log("arrlength" + posArr.length);
clouds.current.rotation.y += 0.00025; clouds.current.rotation.y += 0.00025;
earth.current.rotation.y += 0.00015; earth.current.rotation.y += 0.00015;
getPosition("earth", setPosArr, posArr, planetPositionIndex.current);
//if speed is 0 set the date to current date get from posArr //if speed is 0 set the date to current date get from posArr
//search for current date in posArr an set planetPositionIndex //search for current date in posArr an set planetPositionIndex
if (speed == 0) planetPositionIndex.current = 0; if (speed == 0) planetPositionIndex.current = 0;
if (true && planetPositionIndex.current < posArr.length) { if (
true &&
planetPositionIndex.current < posArr.length &&
posArr.length > 0
) {
group.current.position.set( group.current.position.set(
Number( Number(
posArr[planetPositionIndex.current].position.x / distanceScaleFactor posArr[planetPositionIndex.current].position.x / distanceScaleFactor
@ -76,7 +86,7 @@ export const Earth = ({ speed, getPosition }) => {
posArr[planetPositionIndex.current].position.z / distanceScaleFactor posArr[planetPositionIndex.current].position.z / distanceScaleFactor
) )
); );
planetPositionIndex.current += Number(speed); planetPositionIndex.current += Number(1);
lineArr.current.push( lineArr.current.push(
new THREE.Vector3( new THREE.Vector3(
Number( Number(
@ -113,7 +123,7 @@ export const Earth = ({ speed, getPosition }) => {
<PlanetPath <PlanetPath
linePos={lineArr.current} linePos={lineArr.current}
planet={group} planet={group}
color={color.current} color={"lightgreen"}
lineLength={20} lineLength={20}
/> />
<group ref={group}> <group ref={group}>

View file

@ -15,83 +15,68 @@ import { PlanetOverlay } from "./planetOverlay";
import { PlanetPath } from "./path"; import { PlanetPath } from "./path";
import { MyContext } from "./Scene3"; import { MyContext } from "./Scene3";
export const Jupiter = ({ positions }) => { export const Jupiter = ({ getPosition, speed }) => {
const [poss, setPos] = useState([]);
const [lineposs, setLinePos] = useState([]);
const [getAgain, setGetAgain] = useState(false);
const [speed, setSpeed] = useState(60);
const jupiter = useRef("jupiter");
const group = useRef(); const group = useRef();
const col = useLoader(TextureLoader, "../img/jupiter/jupiter2_4k.jpg"); const col = useLoader(TextureLoader, "../img/jupiter/jupiter2_4k.jpg");
const [posArr, setPosArr] = useState([]);
const lineArr = useRef([]);
let planetPositionIndex = useRef(0);
let distanceScaleFactor = 1000000; let distanceScaleFactor = 1000000;
const firstRef = useRef(true);
let linePoss = [];
const { customData } = useContext(MyContext);
useEffect(() => { useEffect(() => {
group.current.userData.counter = 0;
group.current.userData.name = "Jupiter"; group.current.userData.name = "Jupiter";
group.current.userData.nearOvOp = 800; group.current.userData.nearOvOp = 800;
group.current.userData.scolor = "yellow"; group.current.userData.scolor = "yellow";
}); });
useFrame(() => { useFrame(() => {
if (poss.length % 1000 == 0) { //getPosition("jupiter", setPosArr, posArr, planetPositionIndex.current);
setPos(poss.slice(0, 500));
}
let date;
if (firstRef.current) {
date = new Date(Date.now());
date.setMilliseconds(0);
date.setSeconds(0);
}
//console.log(poss.length);
//console.log(group.current.userData.counter);
if (group.current.userData.counter % 250 == 0 || getAgain) {
if (!firstRef.current)
date = new Date(poss[poss.length - 1].date).toUTCString();
const fetchData = async () => {
let res = await fetch(
`http://127.0.0.1:8000/duration/jupiter?date=${date}&speed=${speed}` //example and simple data
);
let response = await res.json();
setPos(poss.concat(response)); // parse json //if speed is 0 set the date to current date get from posArr
firstRef.current = false; //search for current date in posArr an set planetPositionIndex
setGetAgain(false); if (speed == 0) planetPositionIndex.current = 0;
//console.log(`psss : ${poss.length}`); if (false && planetPositionIndex.current < posArr.length) {
};
fetchData();
}
if (true && group.current.userData.counter < poss.length) {
group.current.position.set( group.current.position.set(
Number( Number(
poss[group.current.userData.counter].position.x / distanceScaleFactor posArr[planetPositionIndex.current].position.x / distanceScaleFactor
), ),
Number( Number(
poss[group.current.userData.counter].position.y / distanceScaleFactor posArr[planetPositionIndex.current].position.y / distanceScaleFactor
), ),
Number( Number(
poss[group.current.userData.counter].position.z / distanceScaleFactor posArr[planetPositionIndex.current].position.z / distanceScaleFactor
) )
); );
//console.log(group.current.userData.counter); planetPositionIndex.current += Number(1);
group.current.userData.counter++; lineArr.current.push(
new THREE.Vector3(
Number(
posArr[planetPositionIndex.current].position.x / distanceScaleFactor
),
Number(
posArr[planetPositionIndex.current].position.y / distanceScaleFactor
),
Number(
posArr[planetPositionIndex.current].position.z / distanceScaleFactor
)
)
);
//console.log(posArr.length);
//console.log(planetPositionIndex.current);
} }
}, []); }, []);
const changeSpeed = (newSpeed) => {
setPos(poss.slice(0, group.current.userData.counter + 10));
setGetAgain(true);
console.log(poss);
setSpeed(newSpeed);
};
customData.current["changeJupiterSpeed"] = changeSpeed;
return ( return (
<> <>
<PlanetPath
linePos={lineArr.current}
planet={group}
color={"yellow"}
lineLength={20}
/>
<group ref={group}> <group ref={group}>
<PlanetOverlay planet={group} /> <PlanetOverlay planet={group} />
<mesh> <mesh>

View file

@ -14,81 +14,76 @@ import { TextureLoader } from "three/src/loaders/TextureLoader";
import { PlanetOverlay } from "./planetOverlay"; import { PlanetOverlay } from "./planetOverlay";
import { PlanetPath } from "./path"; import { PlanetPath } from "./path";
export const Mars = ({ positions }) => { export const Mars = ({ speed, getPosition, speedChanged }) => {
const [posArr, setPosArr] = useState([]);
const lineArr = useRef([]);
const lastPositionUpdate = useRef(0);
let planetPositionIndex = useRef(0);
const mars = useRef("mars"); const mars = useRef("mars");
const group = useRef("group"); const group = useRef("group");
const [poss, setPos] = useState([]);
const [getAgain, setGetAgain] = useState(false);
const [speed, setSpeed] = useState(60);
const firstRef = useRef(true);
const col = useLoader(TextureLoader, "../img/mars/mars_1k_color.jpg"); const col = useLoader(TextureLoader, "../img/mars/mars_1k_color.jpg");
const bump = useLoader(TextureLoader, "../img/mars/mars_1k_topo.jpg"); const bump = useLoader(TextureLoader, "../img/mars/mars_1k_topo.jpg");
const norm = useLoader(TextureLoader, "../img/mars/mars_1k_normal.jpg"); const norm = useLoader(TextureLoader, "../img/mars/mars_1k_normal.jpg");
let distanceScaleFactor = 1000000; let distanceScaleFactor = 1000000;
const { customData } = useContext(MyContext);
useLayoutEffect(() => { useLayoutEffect(() => {
group.current.userData.counter = 0;
group.current.userData.name = "Mars"; group.current.userData.name = "Mars";
group.current.userData.nearOvOp = 40; group.current.userData.nearOvOp = 40;
group.current.userData.scolor = "orange"; group.current.userData.scolor = "orange";
}, []); }, []);
useFrame(() => { useFrame(({ clock }) => {
if (poss.length % 1000 == 0) { //getPosition("mars", setPosArr, posArr, planetPositionIndex.current);
setPos(poss.slice(0, 500)); const timeSinceLastUpdate = clock.elapsedTime - lastPositionUpdate.current;
//console.log(speedChanged);
if (timeSinceLastUpdate >= 2 || speedChanged) {
getPosition("mars", setPosArr, posArr, planetPositionIndex.current);
//console.log(planetPositionIndex);
//console.log("getpos");
lastPositionUpdate.current = clock.elapsedTime;
} }
let date;
if (firstRef.current) {
date = new Date(Date.now());
date.setMilliseconds(0);
date.setSeconds(0);
}
//console.log(poss.length);
//console.log(group.current.userData.counter);
if (group.current.userData.counter % 250 == 0 || getAgain) {
if (!firstRef.current)
date = new Date(poss[poss.length - 1].date).toUTCString();
const fetchData = async () => {
let res = await fetch(
`http://127.0.0.1:8000/duration/mars?date=${date}&speed=${speed}` //example and simple data
);
let response = await res.json();
setPos(poss.concat(response)); // parse json //if speed is 0 set the date to current date get from posArr
firstRef.current = false; //search for current date in posArr an set planetPositionIndex
setGetAgain(false); if (speed == 0) planetPositionIndex.current = 0;
//console.log(`psss : ${poss.length}`); if (true && planetPositionIndex.current < posArr.length) {
};
fetchData();
}
if (true && group.current.userData.counter < poss.length) {
group.current.position.set( group.current.position.set(
Number( Number(
poss[group.current.userData.counter].position.x / distanceScaleFactor posArr[planetPositionIndex.current].position.x / distanceScaleFactor
), ),
Number( Number(
poss[group.current.userData.counter].position.y / distanceScaleFactor posArr[planetPositionIndex.current].position.y / distanceScaleFactor
), ),
Number( Number(
poss[group.current.userData.counter].position.z / distanceScaleFactor posArr[planetPositionIndex.current].position.z / distanceScaleFactor
)
);
planetPositionIndex.current += Number(1);
lineArr.current.push(
new THREE.Vector3(
Number(
posArr[planetPositionIndex.current].position.x / distanceScaleFactor
),
Number(
posArr[planetPositionIndex.current].position.y / distanceScaleFactor
),
Number(
posArr[planetPositionIndex.current].position.z / distanceScaleFactor
)
) )
); );
//console.log(group.current.userData.counter);
group.current.userData.counter++;
} }
}, []); }, []);
const changeSpeed = (newSpeed) => {
setPos(poss.slice(0, group.current.userData.counter + 10));
setGetAgain(true);
console.log(poss);
setSpeed(newSpeed);
};
customData.current["changeMarsSpeed"] = changeSpeed;
return ( return (
<> <>
<PlanetPath
linePos={lineArr.current}
planet={group}
color={"orange"}
lineLength={20}
/>
<group ref={group}> <group ref={group}>
<PlanetOverlay planet={group} /> <PlanetOverlay planet={group} />
<mesh ref={mars}> <mesh ref={mars}>

View file

@ -5,115 +5,78 @@ import {
useLoader, useLoader,
useThree, useThree,
} from "@react-three/fiber"; } from "@react-three/fiber";
import {
shaderMaterial,
OrbitControls,
Line,
Html,
Text,
} from "@react-three/drei";
import React, { import React, {
useRef, useRef,
Suspense, Suspense,
useLayoutEffect, useLayoutEffect,
useState, useState,
useEffect, useEffect,
useContext,
} from "react"; } from "react";
import * as THREE from "three"; import * as THREE from "three";
import glsl from "glslify";
import { TextureLoader } from "three/src/loaders/TextureLoader"; import { TextureLoader } from "three/src/loaders/TextureLoader";
import {
Selection,
Select,
EffectComposer,
Outline,
Scanline,
} from "@react-three/postprocessing";
import "./styles.css"; import "./styles.css";
import { PlanetOverlay } from "./planetOverlay"; import { PlanetOverlay } from "./planetOverlay";
import { PlanetPath } from "./path"; import { PlanetPath } from "./path";
import { MyContext } from "./Scene3";
export const Mercury = ({ positions }) => { export const Mercury = ({ speed, getPosition }) => {
const [poss, setPos] = useState([]); const [posArr, setPosArr] = useState([]);
const [lineposs, setLinePos] = useState([]); const lineArr = useRef([]);
const [getAgain, setGetAgain] = useState(false); let planetPositionIndex = useRef(0);
const [speed, setSpeed] = useState(60);
let distanceScaleFactor = 1000000; let distanceScaleFactor = 1000000;
const mercury = useRef(); const mercury = useRef();
const group = useRef(); const group = useRef();
const firstRef = useRef(true);
let linePoss = [];
const { customData } = useContext(MyContext);
useLayoutEffect(() => { useLayoutEffect(() => {
group.current.userData.counter = 0;
group.current.userData.name = "Mercury"; group.current.userData.name = "Mercury";
group.current.userData.nearOvOp = 20; group.current.userData.nearOvOp = 20;
group.current.userData.scolor = "#a34f5f"; group.current.userData.scolor = "#a34f5f";
}, []); }, []);
useFrame(() => { useFrame(() => {
if (poss.length % 1000 == 0) { //getPosition("mercury", setPosArr, posArr, planetPositionIndex.current);
setPos(poss.slice(0, 500));
}
let date;
if (firstRef.current) {
date = new Date(Date.now());
date.setMilliseconds(0);
date.setSeconds(0);
}
//console.log(poss.length);
//console.log(group.current.userData.counter);
if (group.current.userData.counter % 250 == 0 || getAgain) {
if (!firstRef.current)
date = new Date(poss[poss.length - 1].date).toUTCString();
const fetchData = async () => {
let res = await fetch(
`http://127.0.0.1:8000/duration/mercury?date=${date}&speed=${speed}` //example and simple data
);
let response = await res.json();
setPos(poss.concat(response)); // parse json //if speed is 0 set the date to current date get from posArr
firstRef.current = false; //search for current date in posArr an set planetPositionIndex
setGetAgain(false); if (speed == 0) planetPositionIndex.current = 0;
//console.log(`psss : ${poss.length}`); if (false && planetPositionIndex.current < posArr.length) {
};
fetchData();
}
if (true && group.current.userData.counter < poss.length) {
group.current.position.set( group.current.position.set(
Number( Number(
poss[group.current.userData.counter].position.x / distanceScaleFactor posArr[planetPositionIndex.current].position.x / distanceScaleFactor
), ),
Number( Number(
poss[group.current.userData.counter].position.y / distanceScaleFactor posArr[planetPositionIndex.current].position.y / distanceScaleFactor
), ),
Number( Number(
poss[group.current.userData.counter].position.z / distanceScaleFactor posArr[planetPositionIndex.current].position.z / distanceScaleFactor
)
);
planetPositionIndex.current += Number(speed);
lineArr.current.push(
new THREE.Vector3(
Number(
posArr[planetPositionIndex.current].position.x / distanceScaleFactor
),
Number(
posArr[planetPositionIndex.current].position.y / distanceScaleFactor
),
Number(
posArr[planetPositionIndex.current].position.z / distanceScaleFactor
)
) )
); );
//console.log(group.current.userData.counter);
group.current.userData.counter++;
} }
}, []); }, []);
const changeSpeed = (newSpeed) => {
setPos(poss.slice(0, group.current.userData.counter + 10));
setGetAgain(true);
console.log(poss);
setSpeed(newSpeed);
};
customData.current["changeMercurySpeed"] = changeSpeed;
const col = useLoader(TextureLoader, "../img/mercury/mercurymap.jpg"); const col = useLoader(TextureLoader, "../img/mercury/mercurymap.jpg");
const bump = useLoader(TextureLoader, "../img/mercury/mercurybump.jpg"); const bump = useLoader(TextureLoader, "../img/mercury/mercurybump.jpg");
return ( return (
<> <>
<PlanetPath
linePos={lineArr.current}
planet={group}
color={"#a34f5f"}
lineLength={20}
/>
<group ref={group}> <group ref={group}>
<PlanetOverlay planet={group} /> <PlanetOverlay planet={group} />
<mesh ref={mercury}> <mesh ref={mercury}>

View file

@ -58,34 +58,7 @@ export const Neptune = ({ positions }) => {
}, []); }, []);
useFrame(() => { useFrame(() => {
if (poss.length % 1000 == 0) { if (false && group.current.userData.counter < poss.length) {
setPos(poss.slice(0, 500));
}
let date;
if (firstRef.current) {
date = new Date(Date.now());
date.setMilliseconds(0);
date.setSeconds(0);
}
//console.log(poss.length);
//console.log(group.current.userData.counter);
if (group.current.userData.counter % 250 == 0 || getAgain) {
if (!firstRef.current)
date = new Date(poss[poss.length - 1].date).toUTCString();
const fetchData = async () => {
let res = await fetch(
`http://127.0.0.1:8000/duration/neptune?date=${date}&speed=${speed}` //example and simple data
);
let response = await res.json();
setPos(poss.concat(response)); // parse json
firstRef.current = false;
setGetAgain(false);
//console.log(`psss : ${poss.length}`);
};
fetchData();
}
if (true && group.current.userData.counter < poss.length) {
group.current.position.set( group.current.position.set(
Number( Number(
poss[group.current.userData.counter].position.x / distanceScaleFactor poss[group.current.userData.counter].position.x / distanceScaleFactor

View file

@ -33,9 +33,9 @@ export const ScreenOverlay = () => {
<div className="slidecontainer"> <div className="slidecontainer">
<input <input
type="range" type="range"
min="1" min="30"
max="10" max="120"
step="1" step="30"
className="slider" className="slider"
id="myRange" id="myRange"
onChange={handleChange} onChange={handleChange}

View file

@ -91,7 +91,7 @@ export const PlanetPath = ({
}); });
return ( return (
<> <>
<line ref={lineref} geometry={lineGeometry}> <line ref={lineref} geometry={lineGeometry} frustumCulled={false}>
<lineBasicMaterial color={color} /> <lineBasicMaterial color={color} />
</line> </line>
</> </>

View file

@ -86,33 +86,6 @@ export const Saturn = ({ positions }) => {
}, []); }, []);
useFrame(() => { useFrame(() => {
if (poss.length % 1000 == 0) {
setPos(poss.slice(0, 500));
}
let date;
if (firstRef.current) {
date = new Date(Date.now());
date.setMilliseconds(0);
date.setSeconds(0);
}
//console.log(poss.length);
//console.log(group.current.userData.counter);
if (group.current.userData.counter % 250 == 0 || getAgain) {
if (!firstRef.current)
date = new Date(poss[poss.length - 1].date).toUTCString();
const fetchData = async () => {
let res = await fetch(
`http://127.0.0.1:8000/duration/saturn?date=${date}&speed=${speed}` //example and simple data
);
let response = await res.json();
setPos(poss.concat(response)); // parse json
firstRef.current = false;
setGetAgain(false);
//console.log(`psss : ${poss.length}`);
};
fetchData();
}
if (true && group.current.userData.counter < poss.length) { if (true && group.current.userData.counter < poss.length) {
group.current.position.set( group.current.position.set(
Number( Number(

View file

@ -69,7 +69,7 @@ export const Uranus = ({ positions }) => {
} }
//console.log(poss.length); //console.log(poss.length);
//console.log(group.current.userData.counter); //console.log(group.current.userData.counter);
if (group.current.userData.counter % 250 == 0 || getAgain) { if (false && group.current.userData.counter % 250 == 0 && getAgain) {
if (!firstRef.current) if (!firstRef.current)
date = new Date(poss[poss.length - 1].date).toUTCString(); date = new Date(poss[poss.length - 1].date).toUTCString();
const fetchData = async () => { const fetchData = async () => {

View file

@ -66,23 +66,7 @@ export const Venus = ({ positions }) => {
} }
//console.log(poss.length); //console.log(poss.length);
//console.log(group.current.userData.counter); //console.log(group.current.userData.counter);
if (group.current.userData.counter % 250 == 0 || getAgain) { if (false && group.current.userData.counter < poss.length) {
if (!firstRef.current)
date = new Date(poss[poss.length - 1].date).toUTCString();
const fetchData = async () => {
let res = await fetch(
`http://127.0.0.1:8000/duration/venus?date=${date}&speed=${speed}` //example and simple data
);
let response = await res.json();
setPos(poss.concat(response)); // parse json
firstRef.current = false;
setGetAgain(false);
//console.log(`psss : ${poss.length}`);
};
fetchData();
}
if (true && group.current.userData.counter < poss.length) {
group.current.position.set( group.current.position.set(
Number( Number(
poss[group.current.userData.counter].position.x / distanceScaleFactor poss[group.current.userData.counter].position.x / distanceScaleFactor