-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCommon.js
92 lines (77 loc) · 2.47 KB
/
Common.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/**
* @module libgptjs Graphical Programming with ThreeJS (GPT)
* @constant Common
*/
import THREE from "../external-libs/three-global";
/**
* Values to be reused in several objects
*/
/**
* Floor width in cm
*/
const FLOOR_WIDTH = 1000;
/**
* Skybox width is 5 times floor width
*/
const SKYBOX_WIDTH = 5 * FLOOR_WIDTH;
const FLOOR_TEXTURE_PATH = "./assets/images/wood1.jpg";
const SKYBOX_TEXTURE_PATH = "./assets/images/Yokohama3/";
const SKYBOX_TEXTURE_IMAGES_NAMES = [
"posx.jpg",
"negx.jpg",
"posy.jpg",
"negy.jpg",
"posz.jpg",
"negz.jpg"
];
const BASE_TEXTURE_PATH = "./assets/images/granito1.jpg";
const AXIS_TEXTURE_PATH = "./assets/images/metal2.jpg";
const HUMERUS_TEXTURE_PATH = "./assets/images/metal1.jpg";
const DISC_TEXTURE_PATH = "./assets/images/bump1.jpg";
const NERVE_TEXTURE_PATH = "./assets/images/bump2.jpg";
const WRIST_TEXTURE_PATH = "./assets/images/bump1.jpg";
const _texLoader = new THREE.CubeTextureLoader();
_texLoader.setPath(SKYBOX_TEXTURE_PATH);
const SKYBOX_CUBE_TEXTURE = _texLoader.load(SKYBOX_TEXTURE_IMAGES_NAMES);
SKYBOX_CUBE_TEXTURE.isCubeTexture = true;
const TRAJECTORY_ANGLE_DECAY = 0.5;
const TRAJECTORY_SPLINE_NUM_SEGMENTS = 30;
const TRAJECTORY_DIST_MAX = 1000;
const TRAJECTORY_DIST_MIN = 200;
const TRAJECTORY_DIST_STEP = 200;
// used to interpolate bullet-position between two points3D
const BULLET_STEP_DURATION_MS = 75;
// robot state machine timeouts
const FSM_DURATION_LOADING_BULLET_MS = 1000;
const FSM_DURATION_BULLET_TRAVELLING_MS = 30 * BULLET_STEP_DURATION_MS;
const FSM_DURATION_RESET_MS = 1000;
const CANVAS_CONTAINER_NAME_FOR_THREEJS = "container-for-threejs"
const posInfo = document.getElementById(CANVAS_CONTAINER_NAME_FOR_THREEJS).getBoundingClientRect();
const CANVAS_CONTAINER_WIDTH = posInfo.width;
const CANVAS_CONTAINER_HEIGHT = posInfo.height;
export default {
FLOOR_WIDTH,
SKYBOX_WIDTH,
FLOOR_TEXTURE_PATH,
BASE_TEXTURE_PATH,
AXIS_TEXTURE_PATH,
HUMERUS_TEXTURE_PATH,
DISC_TEXTURE_PATH,
NERVE_TEXTURE_PATH,
WRIST_TEXTURE_PATH,
SKYBOX_TEXTURE_PATH,
SKYBOX_TEXTURE_IMAGES_NAMES,
SKYBOX_CUBE_TEXTURE,
TRAJECTORY_ANGLE_DECAY,
TRAJECTORY_SPLINE_NUM_SEGMENTS,
TRAJECTORY_DIST_MAX,
TRAJECTORY_DIST_MIN,
TRAJECTORY_DIST_STEP,
BULLET_STEP_DURATION_MS,
FSM_DURATION_LOADING_BULLET_MS,
FSM_DURATION_BULLET_TRAVELLING_MS,
FSM_DURATION_RESET_MS,
CANVAS_CONTAINER_NAME_FOR_THREEJS,
CANVAS_CONTAINER_WIDTH,
CANVAS_CONTAINER_HEIGHT
}