simulation #45

Merged
Vishnu merged 9 commits from simulation into main 2025-04-04 13:37:32 +00:00
4 changed files with 49 additions and 38 deletions
Showing only changes of commit 395fdb14a6 - Show all commits

View File

@@ -22,6 +22,7 @@ const Agv = ({
modelSpeed: number; modelSpeed: number;
bufferTime: number; bufferTime: number;
points: { x: number; y: number; z: number }[]; points: { x: number; y: number; z: number }[];
hitCount: number;
}[] }[]
>([]); >([]);
const { simulationPaths } = useSimulationPaths(); const { simulationPaths } = useSimulationPaths();
@@ -33,6 +34,7 @@ const Agv = ({
(val: any) => val.modelName === "agv" (val: any) => val.modelName === "agv"
); );
let findMesh = agvModels.filter( let findMesh = agvModels.filter(
(val: any) => (val: any) =>
val.modeluuid === selectedActionSphere?.path?.modeluuid && val.modeluuid === selectedActionSphere?.path?.modeluuid &&
@@ -53,6 +55,7 @@ const Agv = ({
modelUuid: findMesh[0].modeluuid, // Ensure it's a number modelUuid: findMesh[0].modeluuid, // Ensure it's a number
modelSpeed: findMesh[0].points.speed, modelSpeed: findMesh[0].points.speed,
bufferTime: findMesh[0].points.actions.buffer, bufferTime: findMesh[0].points.actions.buffer,
hitCount: findMesh[0].points.actions.hitCount,
points: [ points: [
{ {
x: findMesh[0].position[0], x: findMesh[0].position[0],
@@ -119,6 +122,7 @@ const Agv = ({
key={i} key={i}
speed={pair.modelSpeed} speed={pair.modelSpeed}
bufferTime={pair.bufferTime} bufferTime={pair.bufferTime}
hitCount={pair.hitCount}
/> />
{/* {pair.points.length > 2 && ( {/* {pair.points.length > 2 && (
<> <>

View File

@@ -35,7 +35,6 @@ export default function NavMeshDetails({
const cellSize = 0.35; const cellSize = 0.35;
const cellHeight = 0.7; const cellHeight = 0.7;
const walkableRadius = 0.5; const walkableRadius = 0.5;
const { success, navMesh } = generateSoloNavMesh(positions, indices, { const { success, navMesh } = generateSoloNavMesh(positions, indices, {
cs: cellSize, cs: cellSize,
ch: cellHeight, ch: cellHeight,

View File

@@ -12,6 +12,7 @@ interface PathNavigatorProps {
id: string; id: string;
speed: number; speed: number;
bufferTime: number; bufferTime: number;
hitCount: number;
} }
export default function PathNavigator({ export default function PathNavigator({
@@ -20,6 +21,7 @@ export default function PathNavigator({
id, id,
speed, speed,
bufferTime, bufferTime,
hitCount,
}: PathNavigatorProps) { }: PathNavigatorProps) {
const [path, setPath] = useState<[number, number, number][]>([]); const [path, setPath] = useState<[number, number, number][]>([]);
const progressRef = useRef(0); const progressRef = useRef(0);
@@ -52,6 +54,7 @@ export default function PathNavigator({
progressRef.current = 0; progressRef.current = 0;
}, [path]); }, [path]);
// Compute the path using NavMeshQuery
useEffect(() => { useEffect(() => {
if (!navMesh || selectedPoints.length === 0) return; if (!navMesh || selectedPoints.length === 0) return;
@@ -119,17 +122,22 @@ export default function PathNavigator({
if (!isWaiting.current) { if (!isWaiting.current) {
isWaiting.current = true; // Set waiting flag isWaiting.current = true; // Set waiting flag
if (movingForward.current) {
// Moving forward: reached the end, wait for `delay`
// console.log(
// "Reached end position. Waiting for delay:",
// delayTime,
// "seconds"
// );
setTimeout(() => { setTimeout(() => {
// After delay, reverse direction
movingForward.current = false;
progressRef.current = 0; // Reset progress progressRef.current = 0; // Reset progress
movingForward.current = !movingForward.current; // Toggle direction path.reverse(); // Reverse the path
// Reverse the path and distances arrays
path.reverse();
distancesRef.current.reverse(); distancesRef.current.reverse();
isWaiting.current = false; // Reset waiting flag
// Reset the waiting flag }, delayTime * 1000); // Wait for `delay` seconds
isWaiting.current = false; }
}, delayTime * 1000); // Convert seconds to milliseconds
} }
return; return;
} }

View File

@@ -1,4 +1,4 @@
let BackEnd_url = `http://${process.env.REACT_APP_SERVER_ASSET_LIBRARY_URL}`; let BackEnd_url = `http://${process.env.REACT_APP_SERVER_MARKETPLACE_URL}`;
export const getCategoryAsset = async (categoryName: any) => { export const getCategoryAsset = async (categoryName: any) => {
try { try {
const response = await fetch( const response = await fetch(