diff --git a/src/build_component_lists.php b/src/build_component_lists.php index 1189c3b..9fbf8f1 100755 --- a/src/build_component_lists.php +++ b/src/build_component_lists.php @@ -37,6 +37,7 @@ foreach ($files as $file) { $file = str_replace('api.y.', '', $file); $file = str_replace('api.z.', '', $file); $file = str_replace('api', 'API', $file); + $file = str_replace('.vr.', '.VR.', $file); $file = str_replace('vpn', 'VPN', $file); $file = str_replace('gui', 'GUI', $file); $file = str_replace('ssao', 'SSAO', $file); diff --git a/src/r3-a-1-component-info.js b/src/r3-a-1-component-info.js index a582e72..5dec235 100644 --- a/src/r3-a-1-component-info.js +++ b/src/r3-a-1-component-info.js @@ -9,195 +9,197 @@ R3.COMPONENT_SOCKET_RECEIVE = 0x8; R3.COMPONENT_SOCKET_CAST = 0x9; R3.COMPONENT_SOCKET = 0xa; R3.COMPONENT_SERVER = 0xb; -R3.COMPONENT_RENDERER_D3_CANVAS_TARGET = 0xc; -R3.COMPONENT_RENDERER_D3_CANVAS = 0xd; -R3.COMPONENT_RENDERER_D3 = 0xe; -R3.COMPONENT_RENDERER_D2 = 0xf; -R3.COMPONENT_RENDERER = 0x10; -R3.COMPONENT_QUERY_LOGINS_VPN = 0x11; -R3.COMPONENT_QUERY_LOGINS_DEVICES = 0x12; -R3.COMPONENT_QUERY_LOGINS_APPLICATIONS = 0x13; -R3.COMPONENT_QUERY_LOGINS = 0x14; -R3.COMPONENT_QUERY_DEVICES_UNKNOWN = 0x15; -R3.COMPONENT_QUERY_DEVICES_KNOWN = 0x16; -R3.COMPONENT_QUERY_DEVICES = 0x17; -R3.COMPONENT_QUERY_ALERTS_TIMESERIES = 0x18; -R3.COMPONENT_QUERY_ALERTS_SUMMARY = 0x19; -R3.COMPONENT_QUERY_ALERTS_LIST = 0x1a; -R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN_VPN = 0x1b; -R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN_DEVICES = 0x1c; -R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN_APPLICATIONS = 0x1d; -R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN = 0x1e; -R3.COMPONENT_QUERY_ALERTS_BUCKETS = 0x1f; -R3.COMPONENT_QUERY_ALERTS = 0x20; -R3.COMPONENT_QUERY = 0x21; -R3.COMPONENT_QUATERNION_POINTS = 0x22; -R3.COMPONENT_QUATERNION = 0x23; -R3.COMPONENT_PROJECT_D3 = 0x24; -R3.COMPONENT_PROJECT_D2 = 0x25; -R3.COMPONENT_PROJECT = 0x26; -R3.COMPONENT_PLANE = 0x27; -R3.COMPONENT_MOUSE = 0x28; -R3.COMPONENT_MATRIX4 = 0x29; -R3.COMPONENT_IMAGE = 0x2a; -R3.COMPONENT_GUI = 0x2b; -R3.COMPONENT_GROUP = 0x2c; -R3.COMPONENT_GRAPH_TABLE = 0x2d; -R3.COMPONENT_GRAPH_METRIC = 0x2e; -R3.COMPONENT_GRAPH_BARCHART_STACKED = 0x2f; -R3.COMPONENT_GRAPH_BARCHART = 0x30; -R3.COMPONENT_GRAPH = 0x31; -R3.COMPONENT_FONT = 0x32; -R3.COMPONENT_ENTITY = 0x33; -R3.COMPONENT_DRAWRANGE = 0x34; -R3.COMPONENT_DOMELEMENT = 0x35; -R3.COMPONENT_D3_VIEWPORT_ZOOMEDASPECT = 0x36; -R3.COMPONENT_D3_VIEWPORT_FIXEDASPECT = 0x37; -R3.COMPONENT_D3_VIEWPORT = 0x38; -R3.COMPONENT_D3_VERTEX = 0x39; -R3.COMPONENT_D3_TEXTURE_IMAGE = 0x3a; -R3.COMPONENT_D3_TEXTURE_CUBE = 0x3b; -R3.COMPONENT_D3_TEXTURE_CANVAS = 0x3c; -R3.COMPONENT_D3_TEXTURE = 0x3d; -R3.COMPONENT_D3_TEXT = 0x3e; -R3.COMPONENT_D3_SPLINE = 0x3f; -R3.COMPONENT_D3_SOLVER = 0x40; -R3.COMPONENT_D3_SKELETON = 0x41; -R3.COMPONENT_D3_SHAPE_TRIMESH = 0x42; -R3.COMPONENT_D3_SHAPE_SPHERE = 0x43; -R3.COMPONENT_D3_SHAPE_PLANE = 0x44; -R3.COMPONENT_D3_SHAPE_HEIGHTMAP = 0x45; -R3.COMPONENT_D3_SHAPE_CONVEXHULL_CYLINDER = 0x46; -R3.COMPONENT_D3_SHAPE_CONVEXHULL = 0x47; -R3.COMPONENT_D3_SHAPE_BOX = 0x48; -R3.COMPONENT_D3_SHAPE = 0x49; -R3.COMPONENT_D3_SHADOW_SPOT = 0x4a; -R3.COMPONENT_D3_SHADOW_DIRECTIONAL = 0x4b; -R3.COMPONENT_D3_SHADOW = 0x4c; -R3.COMPONENT_D3_SHADER_VERTEX = 0x4d; -R3.COMPONENT_D3_SHADER_FRAGMENT = 0x4e; -R3.COMPONENT_D3_SHADER = 0x4f; -R3.COMPONENT_D3_SCENE = 0x50; -R3.COMPONENT_D3_RIGIDBODY = 0x51; -R3.COMPONENT_D3_RENDERTARGET_CUBE = 0x52; -R3.COMPONENT_D3_RENDERTARGET = 0x53; -R3.COMPONENT_D3_RAYCASTER = 0x54; -R3.COMPONENT_D3_RAYCASTWHEEL = 0x55; -R3.COMPONENT_D3_RAYCASTVEHICLE = 0x56; -R3.COMPONENT_D3_PHYSICSWORLD = 0x57; -R3.COMPONENT_D3_PASS_RENDER_SSAO = 0x58; -R3.COMPONENT_D3_PASS_RENDER = 0x59; -R3.COMPONENT_D3_PASS_FXAA = 0x5a; -R3.COMPONENT_D3_PASS_COPY = 0x5b; -R3.COMPONENT_D3_PASS_BLOOM = 0x5c; -R3.COMPONENT_D3_PASS = 0x5d; -R3.COMPONENT_D3_MESH_SKELETON = 0x5e; -R3.COMPONENT_D3_MESH_PARTICLE_ENGINE = 0x5f; -R3.COMPONENT_D3_MESH_PARTICLE = 0x60; -R3.COMPONENT_D3_MESH = 0x61; -R3.COMPONENT_D3_MATERIAL_STANDARD = 0x62; -R3.COMPONENT_D3_MATERIAL_SHADER_RAW = 0x63; -R3.COMPONENT_D3_MATERIAL_SHADER = 0x64; -R3.COMPONENT_D3_MATERIAL_POINTS = 0x65; -R3.COMPONENT_D3_MATERIAL_PHONG = 0x66; -R3.COMPONENT_D3_MATERIAL_BASIC = 0x67; -R3.COMPONENT_D3_MATERIAL = 0x68; -R3.COMPONENT_D3_LIGHT_SPOT = 0x69; -R3.COMPONENT_D3_LIGHT_RECTAREA = 0x6a; -R3.COMPONENT_D3_LIGHT_POINT = 0x6b; -R3.COMPONENT_D3_LIGHT_HEMISPHERE = 0x6c; -R3.COMPONENT_D3_LIGHT_DIRECTIONAL = 0x6d; -R3.COMPONENT_D3_LIGHT_AMBIENT = 0x6e; -R3.COMPONENT_D3_LIGHT = 0x6f; -R3.COMPONENT_D3_HELPER = 0x70; -R3.COMPONENT_D3_GEOMETRY_NORMAL_WIREFRAME = 0x71; -R3.COMPONENT_D3_GEOMETRY_NORMAL_TUBE = 0x72; -R3.COMPONENT_D3_GEOMETRY_NORMAL_TORUSKNOT = 0x73; -R3.COMPONENT_D3_GEOMETRY_NORMAL_TORUS = 0x74; -R3.COMPONENT_D3_GEOMETRY_NORMAL_TEXT = 0x75; -R3.COMPONENT_D3_GEOMETRY_NORMAL_TETRAHEDRON = 0x76; -R3.COMPONENT_D3_GEOMETRY_NORMAL_SPHERE = 0x77; -R3.COMPONENT_D3_GEOMETRY_NORMAL_SHAPE = 0x78; -R3.COMPONENT_D3_GEOMETRY_NORMAL_RING = 0x79; -R3.COMPONENT_D3_GEOMETRY_NORMAL_POLYHEDRON = 0x7a; -R3.COMPONENT_D3_GEOMETRY_NORMAL_PLANE = 0x7b; -R3.COMPONENT_D3_GEOMETRY_NORMAL_PARAMETRIC = 0x7c; -R3.COMPONENT_D3_GEOMETRY_NORMAL_OCTAHEDRON = 0x7d; -R3.COMPONENT_D3_GEOMETRY_NORMAL_LATHE = 0x7e; -R3.COMPONENT_D3_GEOMETRY_NORMAL_ICOSAHEDRON = 0x7f; -R3.COMPONENT_D3_GEOMETRY_NORMAL_EXTRUDE = 0x80; -R3.COMPONENT_D3_GEOMETRY_NORMAL_EDGES = 0x81; -R3.COMPONENT_D3_GEOMETRY_NORMAL_DODECAHEDRON = 0x82; -R3.COMPONENT_D3_GEOMETRY_NORMAL_CYLINDER = 0x83; -R3.COMPONENT_D3_GEOMETRY_NORMAL_CONE = 0x84; -R3.COMPONENT_D3_GEOMETRY_NORMAL_CIRCLE = 0x85; -R3.COMPONENT_D3_GEOMETRY_NORMAL_BOX = 0x86; -R3.COMPONENT_D3_GEOMETRY_NORMAL = 0x87; -R3.COMPONENT_D3_GEOMETRY_BUFFER_TUBE = 0x88; -R3.COMPONENT_D3_GEOMETRY_BUFFER_TORUSKNOT = 0x89; -R3.COMPONENT_D3_GEOMETRY_BUFFER_TORUS = 0x8a; -R3.COMPONENT_D3_GEOMETRY_BUFFER_TEXT = 0x8b; -R3.COMPONENT_D3_GEOMETRY_BUFFER_TETRAHEDRON = 0x8c; -R3.COMPONENT_D3_GEOMETRY_BUFFER_SPHERE = 0x8d; -R3.COMPONENT_D3_GEOMETRY_BUFFER_SHAPE = 0x8e; -R3.COMPONENT_D3_GEOMETRY_BUFFER_RING = 0x8f; -R3.COMPONENT_D3_GEOMETRY_BUFFER_POLYHEDRON = 0x90; -R3.COMPONENT_D3_GEOMETRY_BUFFER_PLANE = 0x91; -R3.COMPONENT_D3_GEOMETRY_BUFFER_PARAMETRIC = 0x92; -R3.COMPONENT_D3_GEOMETRY_BUFFER_OCTAHEDRON = 0x93; -R3.COMPONENT_D3_GEOMETRY_BUFFER_LATHE = 0x94; -R3.COMPONENT_D3_GEOMETRY_BUFFER_INSTANCED = 0x95; -R3.COMPONENT_D3_GEOMETRY_BUFFER_ICOSAHEDRON = 0x96; -R3.COMPONENT_D3_GEOMETRY_BUFFER_EXTRUDE = 0x97; -R3.COMPONENT_D3_GEOMETRY_BUFFER_DODECAHEDRON = 0x98; -R3.COMPONENT_D3_GEOMETRY_BUFFER_CYLINDER = 0x99; -R3.COMPONENT_D3_GEOMETRY_BUFFER_CONE = 0x9a; -R3.COMPONENT_D3_GEOMETRY_BUFFER_CIRCLE = 0x9b; -R3.COMPONENT_D3_GEOMETRY_BUFFER_BOX = 0x9c; -R3.COMPONENT_D3_GEOMETRY_BUFFER = 0x9d; -R3.COMPONENT_D3_GEOMETRY = 0x9e; -R3.COMPONENT_D3_FRICTIONMATERIAL = 0x9f; -R3.COMPONENT_D3_FRICTIONCONTACTMATERIAL = 0xa0; -R3.COMPONENT_D3_FOG_NORMAL = 0xa1; -R3.COMPONENT_D3_FOG_EXP = 0xa2; -R3.COMPONENT_D3_FOG = 0xa3; -R3.COMPONENT_D3_FACE_GRAPHICS = 0xa4; -R3.COMPONENT_D3_FACE = 0xa5; -R3.COMPONENT_D3_EFFECT_STEREO = 0xa6; -R3.COMPONENT_D3_EFFECT_PARALLAX = 0xa7; -R3.COMPONENT_D3_EFFECT_ANAGLYPH = 0xa8; -R3.COMPONENT_D3_EFFECT = 0xa9; -R3.COMPONENT_D3_COMPOSER = 0xaa; -R3.COMPONENT_D3_CAMERA_PERSPECTIVE_STEREO = 0xab; -R3.COMPONENT_D3_CAMERA_PERSPECTIVE = 0xac; -R3.COMPONENT_D3_CAMERA_ORTHOGRAPHIC_SCALEDASPECT = 0xad; -R3.COMPONENT_D3_CAMERA_ORTHOGRAPHIC_FIXEDASPECT = 0xae; -R3.COMPONENT_D3_CAMERA_ORTHOGRAPHIC = 0xaf; -R3.COMPONENT_D3_CAMERA_CUBE = 0xb0; -R3.COMPONENT_D3_CAMERA = 0xb1; -R3.COMPONENT_D3_BROADPHASE = 0xb2; -R3.COMPONENT_D3_BONEWEIGHT = 0xb3; -R3.COMPONENT_D3_BONE = 0xb4; -R3.COMPONENT_D3_AUDIO = 0xb5; -R3.COMPONENT_D3_ANIMATION = 0xb6; -R3.COMPONENT_D3_OBJECT = 0xb7; -R3.COMPONENT_CUSTOMCODE = 0xb8; -R3.COMPONENT_CURVE_PATH_D2_SHAPE = 0xb9; -R3.COMPONENT_CURVE_PATH_D2 = 0xba; -R3.COMPONENT_CURVE_PATH = 0xbb; -R3.COMPONENT_CURVE = 0xbc; -R3.COMPONENT_CONTROLS_TOUCH = 0xbd; -R3.COMPONENT_CONTROLS_MOUSE = 0xbe; -R3.COMPONENT_CONTROLS_KEYBOARD = 0xbf; -R3.COMPONENT_CONTROLS_D3_ORBIT = 0xc0; -R3.COMPONENT_CONTROLS_D3_FIRSTPERSON = 0xc1; -R3.COMPONENT_CONTROLS_D3 = 0xc2; -R3.COMPONENT_CONTROLS = 0xc3; -R3.COMPONENT_COLOR = 0xc4; -R3.COMPONENT_CLOCK = 0xc5; -R3.COMPONENT_CANVAS = 0xc6; -R3.COMPONENT_BOX3 = 0xc7; -R3.MAX_COMPONENTS = 0xc8; +R3.COMPONENT_RENDERER_D3_CANVAS_VR = 0xc; +R3.COMPONENT_RENDERER_D3_CANVAS_TARGET = 0xd; +R3.COMPONENT_RENDERER_D3_CANVAS = 0xe; +R3.COMPONENT_RENDERER_D3 = 0xf; +R3.COMPONENT_RENDERER_D2 = 0x10; +R3.COMPONENT_RENDERER = 0x11; +R3.COMPONENT_QUERY_LOGINS_VPN = 0x12; +R3.COMPONENT_QUERY_LOGINS_DEVICES = 0x13; +R3.COMPONENT_QUERY_LOGINS_APPLICATIONS = 0x14; +R3.COMPONENT_QUERY_LOGINS = 0x15; +R3.COMPONENT_QUERY_DEVICES_UNKNOWN = 0x16; +R3.COMPONENT_QUERY_DEVICES_KNOWN = 0x17; +R3.COMPONENT_QUERY_DEVICES = 0x18; +R3.COMPONENT_QUERY_ALERTS_TIMESERIES = 0x19; +R3.COMPONENT_QUERY_ALERTS_SUMMARY = 0x1a; +R3.COMPONENT_QUERY_ALERTS_LIST = 0x1b; +R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN_VPN = 0x1c; +R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN_DEVICES = 0x1d; +R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN_APPLICATIONS = 0x1e; +R3.COMPONENT_QUERY_ALERTS_FIRSTTIMELOGIN = 0x1f; +R3.COMPONENT_QUERY_ALERTS_BUCKETS = 0x20; +R3.COMPONENT_QUERY_ALERTS = 0x21; +R3.COMPONENT_QUERY = 0x22; +R3.COMPONENT_QUATERNION_POINTS = 0x23; +R3.COMPONENT_QUATERNION = 0x24; +R3.COMPONENT_PROJECT_D3_VR = 0x25; +R3.COMPONENT_PROJECT_D3 = 0x26; +R3.COMPONENT_PROJECT_D2 = 0x27; +R3.COMPONENT_PROJECT = 0x28; +R3.COMPONENT_PLANE = 0x29; +R3.COMPONENT_MOUSE = 0x2a; +R3.COMPONENT_MATRIX4 = 0x2b; +R3.COMPONENT_IMAGE = 0x2c; +R3.COMPONENT_GUI = 0x2d; +R3.COMPONENT_GROUP = 0x2e; +R3.COMPONENT_GRAPH_TABLE = 0x2f; +R3.COMPONENT_GRAPH_METRIC = 0x30; +R3.COMPONENT_GRAPH_BARCHART_STACKED = 0x31; +R3.COMPONENT_GRAPH_BARCHART = 0x32; +R3.COMPONENT_GRAPH = 0x33; +R3.COMPONENT_FONT = 0x34; +R3.COMPONENT_ENTITY = 0x35; +R3.COMPONENT_DRAWRANGE = 0x36; +R3.COMPONENT_DOMELEMENT = 0x37; +R3.COMPONENT_D3_VIEWPORT_ZOOMEDASPECT = 0x38; +R3.COMPONENT_D3_VIEWPORT_FIXEDASPECT = 0x39; +R3.COMPONENT_D3_VIEWPORT = 0x3a; +R3.COMPONENT_D3_VERTEX = 0x3b; +R3.COMPONENT_D3_TEXTURE_IMAGE = 0x3c; +R3.COMPONENT_D3_TEXTURE_CUBE = 0x3d; +R3.COMPONENT_D3_TEXTURE_CANVAS = 0x3e; +R3.COMPONENT_D3_TEXTURE = 0x3f; +R3.COMPONENT_D3_TEXT = 0x40; +R3.COMPONENT_D3_SPLINE = 0x41; +R3.COMPONENT_D3_SOLVER = 0x42; +R3.COMPONENT_D3_SKELETON = 0x43; +R3.COMPONENT_D3_SHAPE_TRIMESH = 0x44; +R3.COMPONENT_D3_SHAPE_SPHERE = 0x45; +R3.COMPONENT_D3_SHAPE_PLANE = 0x46; +R3.COMPONENT_D3_SHAPE_HEIGHTMAP = 0x47; +R3.COMPONENT_D3_SHAPE_CONVEXHULL_CYLINDER = 0x48; +R3.COMPONENT_D3_SHAPE_CONVEXHULL = 0x49; +R3.COMPONENT_D3_SHAPE_BOX = 0x4a; +R3.COMPONENT_D3_SHAPE = 0x4b; +R3.COMPONENT_D3_SHADOW_SPOT = 0x4c; +R3.COMPONENT_D3_SHADOW_DIRECTIONAL = 0x4d; +R3.COMPONENT_D3_SHADOW = 0x4e; +R3.COMPONENT_D3_SHADER_VERTEX = 0x4f; +R3.COMPONENT_D3_SHADER_FRAGMENT = 0x50; +R3.COMPONENT_D3_SHADER = 0x51; +R3.COMPONENT_D3_SCENE = 0x52; +R3.COMPONENT_D3_RIGIDBODY = 0x53; +R3.COMPONENT_D3_RENDERTARGET_CUBE = 0x54; +R3.COMPONENT_D3_RENDERTARGET = 0x55; +R3.COMPONENT_D3_RAYCASTER = 0x56; +R3.COMPONENT_D3_RAYCASTWHEEL = 0x57; +R3.COMPONENT_D3_RAYCASTVEHICLE = 0x58; +R3.COMPONENT_D3_PHYSICSWORLD = 0x59; +R3.COMPONENT_D3_PASS_RENDER_SSAO = 0x5a; +R3.COMPONENT_D3_PASS_RENDER = 0x5b; +R3.COMPONENT_D3_PASS_FXAA = 0x5c; +R3.COMPONENT_D3_PASS_COPY = 0x5d; +R3.COMPONENT_D3_PASS_BLOOM = 0x5e; +R3.COMPONENT_D3_PASS = 0x5f; +R3.COMPONENT_D3_MESH_SKELETON = 0x60; +R3.COMPONENT_D3_MESH_PARTICLE_ENGINE = 0x61; +R3.COMPONENT_D3_MESH_PARTICLE = 0x62; +R3.COMPONENT_D3_MESH = 0x63; +R3.COMPONENT_D3_MATERIAL_STANDARD = 0x64; +R3.COMPONENT_D3_MATERIAL_SHADER_RAW = 0x65; +R3.COMPONENT_D3_MATERIAL_SHADER = 0x66; +R3.COMPONENT_D3_MATERIAL_POINTS = 0x67; +R3.COMPONENT_D3_MATERIAL_PHONG = 0x68; +R3.COMPONENT_D3_MATERIAL_BASIC = 0x69; +R3.COMPONENT_D3_MATERIAL = 0x6a; +R3.COMPONENT_D3_LIGHT_SPOT = 0x6b; +R3.COMPONENT_D3_LIGHT_RECTAREA = 0x6c; +R3.COMPONENT_D3_LIGHT_POINT = 0x6d; +R3.COMPONENT_D3_LIGHT_HEMISPHERE = 0x6e; +R3.COMPONENT_D3_LIGHT_DIRECTIONAL = 0x6f; +R3.COMPONENT_D3_LIGHT_AMBIENT = 0x70; +R3.COMPONENT_D3_LIGHT = 0x71; +R3.COMPONENT_D3_HELPER = 0x72; +R3.COMPONENT_D3_GEOMETRY_NORMAL_WIREFRAME = 0x73; +R3.COMPONENT_D3_GEOMETRY_NORMAL_TUBE = 0x74; +R3.COMPONENT_D3_GEOMETRY_NORMAL_TORUSKNOT = 0x75; +R3.COMPONENT_D3_GEOMETRY_NORMAL_TORUS = 0x76; +R3.COMPONENT_D3_GEOMETRY_NORMAL_TEXT = 0x77; +R3.COMPONENT_D3_GEOMETRY_NORMAL_TETRAHEDRON = 0x78; +R3.COMPONENT_D3_GEOMETRY_NORMAL_SPHERE = 0x79; +R3.COMPONENT_D3_GEOMETRY_NORMAL_SHAPE = 0x7a; +R3.COMPONENT_D3_GEOMETRY_NORMAL_RING = 0x7b; +R3.COMPONENT_D3_GEOMETRY_NORMAL_POLYHEDRON = 0x7c; +R3.COMPONENT_D3_GEOMETRY_NORMAL_PLANE = 0x7d; +R3.COMPONENT_D3_GEOMETRY_NORMAL_PARAMETRIC = 0x7e; +R3.COMPONENT_D3_GEOMETRY_NORMAL_OCTAHEDRON = 0x7f; +R3.COMPONENT_D3_GEOMETRY_NORMAL_LATHE = 0x80; +R3.COMPONENT_D3_GEOMETRY_NORMAL_ICOSAHEDRON = 0x81; +R3.COMPONENT_D3_GEOMETRY_NORMAL_EXTRUDE = 0x82; +R3.COMPONENT_D3_GEOMETRY_NORMAL_EDGES = 0x83; +R3.COMPONENT_D3_GEOMETRY_NORMAL_DODECAHEDRON = 0x84; +R3.COMPONENT_D3_GEOMETRY_NORMAL_CYLINDER = 0x85; +R3.COMPONENT_D3_GEOMETRY_NORMAL_CONE = 0x86; +R3.COMPONENT_D3_GEOMETRY_NORMAL_CIRCLE = 0x87; +R3.COMPONENT_D3_GEOMETRY_NORMAL_BOX = 0x88; +R3.COMPONENT_D3_GEOMETRY_NORMAL = 0x89; +R3.COMPONENT_D3_GEOMETRY_BUFFER_TUBE = 0x8a; +R3.COMPONENT_D3_GEOMETRY_BUFFER_TORUSKNOT = 0x8b; +R3.COMPONENT_D3_GEOMETRY_BUFFER_TORUS = 0x8c; +R3.COMPONENT_D3_GEOMETRY_BUFFER_TEXT = 0x8d; +R3.COMPONENT_D3_GEOMETRY_BUFFER_TETRAHEDRON = 0x8e; +R3.COMPONENT_D3_GEOMETRY_BUFFER_SPHERE = 0x8f; +R3.COMPONENT_D3_GEOMETRY_BUFFER_SHAPE = 0x90; +R3.COMPONENT_D3_GEOMETRY_BUFFER_RING = 0x91; +R3.COMPONENT_D3_GEOMETRY_BUFFER_POLYHEDRON = 0x92; +R3.COMPONENT_D3_GEOMETRY_BUFFER_PLANE = 0x93; +R3.COMPONENT_D3_GEOMETRY_BUFFER_PARAMETRIC = 0x94; +R3.COMPONENT_D3_GEOMETRY_BUFFER_OCTAHEDRON = 0x95; +R3.COMPONENT_D3_GEOMETRY_BUFFER_LATHE = 0x96; +R3.COMPONENT_D3_GEOMETRY_BUFFER_INSTANCED = 0x97; +R3.COMPONENT_D3_GEOMETRY_BUFFER_ICOSAHEDRON = 0x98; +R3.COMPONENT_D3_GEOMETRY_BUFFER_EXTRUDE = 0x99; +R3.COMPONENT_D3_GEOMETRY_BUFFER_DODECAHEDRON = 0x9a; +R3.COMPONENT_D3_GEOMETRY_BUFFER_CYLINDER = 0x9b; +R3.COMPONENT_D3_GEOMETRY_BUFFER_CONE = 0x9c; +R3.COMPONENT_D3_GEOMETRY_BUFFER_CIRCLE = 0x9d; +R3.COMPONENT_D3_GEOMETRY_BUFFER_BOX = 0x9e; +R3.COMPONENT_D3_GEOMETRY_BUFFER = 0x9f; +R3.COMPONENT_D3_GEOMETRY = 0xa0; +R3.COMPONENT_D3_FRICTIONMATERIAL = 0xa1; +R3.COMPONENT_D3_FRICTIONCONTACTMATERIAL = 0xa2; +R3.COMPONENT_D3_FOG_NORMAL = 0xa3; +R3.COMPONENT_D3_FOG_EXP = 0xa4; +R3.COMPONENT_D3_FOG = 0xa5; +R3.COMPONENT_D3_FACE_GRAPHICS = 0xa6; +R3.COMPONENT_D3_FACE = 0xa7; +R3.COMPONENT_D3_EFFECT_STEREO = 0xa8; +R3.COMPONENT_D3_EFFECT_PARALLAX = 0xa9; +R3.COMPONENT_D3_EFFECT_ANAGLYPH = 0xaa; +R3.COMPONENT_D3_EFFECT = 0xab; +R3.COMPONENT_D3_COMPOSER = 0xac; +R3.COMPONENT_D3_CAMERA_PERSPECTIVE_STEREO = 0xad; +R3.COMPONENT_D3_CAMERA_PERSPECTIVE = 0xae; +R3.COMPONENT_D3_CAMERA_ORTHOGRAPHIC_SCALEDASPECT = 0xaf; +R3.COMPONENT_D3_CAMERA_ORTHOGRAPHIC_FIXEDASPECT = 0xb0; +R3.COMPONENT_D3_CAMERA_ORTHOGRAPHIC = 0xb1; +R3.COMPONENT_D3_CAMERA_CUBE = 0xb2; +R3.COMPONENT_D3_CAMERA = 0xb3; +R3.COMPONENT_D3_BROADPHASE = 0xb4; +R3.COMPONENT_D3_BONEWEIGHT = 0xb5; +R3.COMPONENT_D3_BONE = 0xb6; +R3.COMPONENT_D3_AUDIO = 0xb7; +R3.COMPONENT_D3_ANIMATION = 0xb8; +R3.COMPONENT_D3_OBJECT = 0xb9; +R3.COMPONENT_CUSTOMCODE = 0xba; +R3.COMPONENT_CURVE_PATH_D2_SHAPE = 0xbb; +R3.COMPONENT_CURVE_PATH_D2 = 0xbc; +R3.COMPONENT_CURVE_PATH = 0xbd; +R3.COMPONENT_CURVE = 0xbe; +R3.COMPONENT_CONTROLS_TOUCH = 0xbf; +R3.COMPONENT_CONTROLS_MOUSE = 0xc0; +R3.COMPONENT_CONTROLS_KEYBOARD = 0xc1; +R3.COMPONENT_CONTROLS_D3_ORBIT = 0xc2; +R3.COMPONENT_CONTROLS_D3_FIRSTPERSON = 0xc3; +R3.COMPONENT_CONTROLS_D3 = 0xc4; +R3.COMPONENT_CONTROLS = 0xc5; +R3.COMPONENT_COLOR = 0xc6; +R3.COMPONENT_CLOCK = 0xc7; +R3.COMPONENT_CANVAS = 0xc8; +R3.COMPONENT_BOX3 = 0xc9; +R3.MAX_COMPONENTS = 0xca; /** * R3.GetComponentType @@ -250,6 +252,10 @@ R3.GetComponentType = function(component) { return R3.COMPONENT_SERVER; } + if (component instanceof R3.Renderer.D3.Canvas.VR) { + return R3.COMPONENT_RENDERER_D3_CANVAS_VR; + } + if (component instanceof R3.Renderer.D3.Canvas.Target) { return R3.COMPONENT_RENDERER_D3_CANVAS_TARGET; } @@ -346,6 +352,10 @@ R3.GetComponentType = function(component) { return R3.COMPONENT_QUATERNION; } + if (component instanceof R3.Project.D3.VR) { + return R3.COMPONENT_PROJECT_D3_VR; + } + if (component instanceof R3.Project.D3) { return R3.COMPONENT_PROJECT_D3; } @@ -1566,6 +1576,10 @@ R3.GetComponentType = function(component) { return R3.COMPONENT_SERVER; } + if (component instanceof R3.API.Renderer.D3.Canvas.VR) { + return R3.COMPONENT_RENDERER_D3_CANVAS_VR; + } + if (component instanceof R3.API.Renderer.D3.Canvas.Target) { return R3.COMPONENT_RENDERER_D3_CANVAS_TARGET; } @@ -1662,6 +1676,10 @@ R3.GetComponentType = function(component) { return R3.COMPONENT_QUATERNION; } + if (component instanceof R3.API.Project.D3.VR) { + return R3.COMPONENT_PROJECT_D3_VR; + } + if (component instanceof R3.API.Project.D3) { return R3.COMPONENT_PROJECT_D3; } @@ -1870,6 +1888,12 @@ R3.GetComponentInfo = function(componentType) { apiConstructor : R3.API.Server, runtime: R3.Runtime.SOCKETS }; + case R3.COMPONENT_RENDERER_D3_CANVAS_VR : return { + name : 'R3.Renderer.D3.Canvas.VR', + constructor : R3.Renderer.D3.Canvas.VR, + apiConstructor : R3.API.Renderer.D3.Canvas.VR, + runtime: R3.Runtime.GRAPHICS + }; case R3.COMPONENT_RENDERER_D3_CANVAS_TARGET : return { name : 'R3.Renderer.D3.Canvas.Target', constructor : R3.Renderer.D3.Canvas.Target, @@ -2014,6 +2038,12 @@ R3.GetComponentInfo = function(componentType) { apiConstructor : R3.API.Quaternion, runtime: R3.Runtime.DEFAULT }; + case R3.COMPONENT_PROJECT_D3_VR : return { + name : 'R3.Project.D3.VR', + constructor : R3.Project.D3.VR, + apiConstructor : R3.API.Project.D3.VR, + runtime: R3.Runtime.DEFAULT + }; case R3.COMPONENT_PROJECT_D3 : return { name : 'R3.Project.D3', constructor : R3.Project.D3, @@ -3044,6 +3074,9 @@ R3.GetAPIConstructor = function(runtimeComponent) { if (runtimeComponent instanceof R3.Server){ return R3.API.Server; } + if (runtimeComponent instanceof R3.Renderer.D3.Canvas.VR){ + return R3.API.Renderer.D3.Canvas.VR; + } if (runtimeComponent instanceof R3.Renderer.D3.Canvas.Target){ return R3.API.Renderer.D3.Canvas.Target; } @@ -3116,6 +3149,9 @@ R3.GetAPIConstructor = function(runtimeComponent) { if (runtimeComponent instanceof R3.Quaternion){ return R3.API.Quaternion; } + if (runtimeComponent instanceof R3.Project.D3.VR){ + return R3.API.Project.D3.VR; + } if (runtimeComponent instanceof R3.Project.D3){ return R3.API.Project.D3; } @@ -3652,6 +3688,9 @@ R3.GetConstructor = function(apiComponent) { if (apiComponent instanceof R3.API.Server){ return R3.Server; } + if (apiComponent instanceof R3.API.Renderer.D3.Canvas.VR){ + return R3.Renderer.D3.Canvas.VR; + } if (apiComponent instanceof R3.API.Renderer.D3.Canvas.Target){ return R3.Renderer.D3.Canvas.Target; } @@ -3724,6 +3763,9 @@ R3.GetConstructor = function(apiComponent) { if (apiComponent instanceof R3.API.Quaternion){ return R3.Quaternion; } + if (apiComponent instanceof R3.API.Project.D3.VR){ + return R3.Project.D3.VR; + } if (apiComponent instanceof R3.API.Project.D3){ return R3.Project.D3; } @@ -4240,6 +4282,7 @@ R3.GetConstructorFromComponentType = function(componentType) { case R3.COMPONENT_SOCKET_CAST: return R3.Socket.Cast; case R3.COMPONENT_SOCKET: return R3.Socket; case R3.COMPONENT_SERVER: return R3.Server; + case R3.COMPONENT_RENDERER_D3_CANVAS_VR: return R3.Renderer.D3.Canvas.VR; case R3.COMPONENT_RENDERER_D3_CANVAS_TARGET: return R3.Renderer.D3.Canvas.Target; case R3.COMPONENT_RENDERER_D3_CANVAS: return R3.Renderer.D3.Canvas; case R3.COMPONENT_RENDERER_D3: return R3.Renderer.D3; @@ -4264,6 +4307,7 @@ R3.GetConstructorFromComponentType = function(componentType) { case R3.COMPONENT_QUERY: return R3.Query; case R3.COMPONENT_QUATERNION_POINTS: return R3.Quaternion.Points; case R3.COMPONENT_QUATERNION: return R3.Quaternion; + case R3.COMPONENT_PROJECT_D3_VR: return R3.Project.D3.VR; case R3.COMPONENT_PROJECT_D3: return R3.Project.D3; case R3.COMPONENT_PROJECT_D2: return R3.Project.D2; case R3.COMPONENT_PROJECT: return R3.Project; @@ -4474,6 +4518,9 @@ R3.GetComponentName = function(runtimeComponent) { if (runtimeComponent instanceof R3.Server){ return 'R3.Server'; } + if (runtimeComponent instanceof R3.Renderer.D3.Canvas.VR){ + return 'R3.Renderer.D3.Canvas.VR'; + } if (runtimeComponent instanceof R3.Renderer.D3.Canvas.Target){ return 'R3.Renderer.D3.Canvas.Target'; } @@ -4546,6 +4593,9 @@ R3.GetComponentName = function(runtimeComponent) { if (runtimeComponent instanceof R3.Quaternion){ return 'R3.Quaternion'; } + if (runtimeComponent instanceof R3.Project.D3.VR){ + return 'R3.Project.D3.VR'; + } if (runtimeComponent instanceof R3.Project.D3){ return 'R3.Project.D3'; } diff --git a/src/r3-a-4-component.js b/src/r3-a-4-component.js index 2ad89a8..a6e7b53 100644 --- a/src/r3-a-4-component.js +++ b/src/r3-a-4-component.js @@ -201,6 +201,13 @@ R3.Component.prototype.instanceCreated = function(data) { return; } + /** + * Link the parent to the new Runtime object (it shares the same ID as the API component) + */ + if (data.component.parent.id === this.id) { + data.component.parent = this; + } + /** * Now discover the parents */ @@ -569,6 +576,25 @@ R3.Component.prototype.performInstanceCreation = function() { this.createInstance(); }; +/** + * This function goes through all children objects of this component, updates the 'parent' property to + * be the newly constructed runtime component (and not the old API component) + */ +R3.Component.prototype.updateParentsToRuntime = function() { + Object.keys(this.idToObject).map( + function(id) { + + var child = this.idToObject[id]; + + if (child.parent) { + if (child.parent.id === this.id) { + child.parent = this; + } + } + }.bind(this) + ); +}; + R3.Component.prototype.createInstance = function() { if (R3.Utils.UndefinedOrNull(this.instance)) { @@ -582,6 +608,11 @@ R3.Component.prototype.createInstance = function() { } ); + /** + * idToObject can now be trusted + */ + //this.updateParentsToRuntime(); + this.loaded = true; /** diff --git a/src/r3-api-project-d3.js b/src/r3-api-project-d3-0.js similarity index 100% rename from src/r3-api-project-d3.js rename to src/r3-api-project-d3-0.js diff --git a/src/r3-api-project-d3-vr.js b/src/r3-api-project-d3-vr.js new file mode 100644 index 0000000..7094343 --- /dev/null +++ b/src/r3-api-project-d3-vr.js @@ -0,0 +1,45 @@ +/** + * R3.API.Project + * @param apiComponent + * + * @property renderers + * @property renderTargets + * @property cameras + * @property controls + * @property audios + * + * @constructor + */ +R3.API.Project.D3.VR = function( + apiComponent +) { + + /** + * Override Controls for 3D projects + */ + __API_COMPONENT__; + + /** + * And we should also override here the renderers if they are not coming from the API + */ + if (R3.Utils.UndefinedOrNull(apiComponent.renderers)) { + apiComponent.renderers = [ + new R3.API.Renderer.D3.Canvas.VR( + { + parent : this, + name : this.name + ' - VR Canvas Renderer' + } + ) + ]; + } + this.renderers = apiComponent.renderers; + + R3.API.Project.D3.call( + this, + apiComponent + ); + +}; + +R3.API.Project.D3.VR.prototype = Object.create(R3.API.Project.D3.prototype); +R3.API.Project.D3.VR.prototype.constructor = R3.API.Project.D3.VR; diff --git a/src/r3-api-renderer-d3-0.js b/src/r3-api-renderer-d3-0.js index 4489ac1..7abc681 100644 --- a/src/r3-api-renderer-d3-0.js +++ b/src/r3-api-renderer-d3-0.js @@ -193,7 +193,7 @@ R3.API.Renderer.D3 = function( new R3.D3.API.Viewport.FixedAspect( { parent : this, - name : this.name + ' - Fixed Aspect Viewport' + name : this.name + ' - FA Viewport' } ) ]; diff --git a/src/r3-api-renderer-d3-canvas-vr.js b/src/r3-api-renderer-d3-canvas-vr.js new file mode 100644 index 0000000..8925ce4 --- /dev/null +++ b/src/r3-api-renderer-d3-canvas-vr.js @@ -0,0 +1,49 @@ +/** + * R3.API.Renderer.D3.Canvas.VR + * @param apiComponent + * + * @property target + * + * @constructor + */ +R3.API.Renderer.D3.Canvas.VR = function( + apiComponent +) { + + __API_COMPONENT__; + + if (R3.Utils.UndefinedOrNull(apiComponent.viewports)) { + apiComponent.viewports = [ + new R3.D3.API.Viewport.FixedAspect( + { + parent : this, + name : this.name + ' - FA Viewport L', + x : 0, + y : 0, + width : 0.5, + height : 1 + } + ), + new R3.D3.API.Viewport.FixedAspect( + { + parent : this, + name : this.name + ' - FA Viewport R', + x : 0.5, + y : 0, + width : 0.5, + height : 1 + } + ) + ]; + } + this.viewports = apiComponent.viewports; + + R3.API.Renderer.D3.Canvas.call( + this, + apiComponent + ); + +}; + +R3.API.Renderer.D3.Canvas.VR.prototype = Object.create(R3.API.Renderer.D3.Canvas.prototype); +R3.API.Renderer.D3.Canvas.VR.prototype.constructor = R3.API.Renderer.D3.Canvas.VR; diff --git a/src/r3-project-d3.js b/src/r3-project-d3-0.js similarity index 97% rename from src/r3-project-d3.js rename to src/r3-project-d3-0.js index e634d18..3a58ba9 100644 --- a/src/r3-project-d3.js +++ b/src/r3-project-d3-0.js @@ -1,10 +1,12 @@ /** * R3.Project.D3 * @param apiComponent + * @param inherited * @constructor */ R3.Project.D3 = function( - apiComponent + apiComponent, + inherited ) { if (R3.EntityManager.Instance.findComponentsByConstructor(R3.Project).length >= 16) { @@ -16,7 +18,7 @@ R3.Project.D3 = function( throw new Error('Maximum number of open projects reached'); } - __RUNTIME_COMPONENT__; + __INHERIT_AND_INSTANTIATE__; this.linkedComponents.renderers = [R3.Renderer.D3]; this.linkedComponents.rendererTargets = [R3.D3.RenderTarget]; diff --git a/src/r3-project-d3-vr.js b/src/r3-project-d3-vr.js new file mode 100644 index 0000000..d826836 --- /dev/null +++ b/src/r3-project-d3-vr.js @@ -0,0 +1,37 @@ +/** + * R3.Project.D3.VR + * @param apiComponent + * @constructor + */ +R3.Project.D3.VR = function( + apiComponent +) { + + __RUNTIME_COMPONENT__; + + R3.Project.D3.call( + this, + apiComponent, + true + ); +}; + +R3.Project.D3.VR.prototype = Object.create(R3.Project.D3.prototype); +R3.Project.D3.VR.prototype.constructor = R3.Project.D3.VR; + +R3.Project.D3.VR.prototype.createInstance = function() { + + this.instance = true; + + __CREATE_INSTANCE__; + +}; + +/** + * Updates the instance with the current state + */ +R3.Project.D3.VR.prototype.updateInstance = function(property) { + + R3.Project.D3.prototype.updateInstance.call(this, property); + +}; diff --git a/src/r3-renderer-d3-0.js b/src/r3-renderer-d3-0.js index 66095ef..3288606 100644 --- a/src/r3-renderer-d3-0.js +++ b/src/r3-renderer-d3-0.js @@ -235,3 +235,6 @@ R3.Renderer.D3.prototype.updateInstance = function(property) { R3.Renderer.prototype.updateInstance.call(this, property); }; +R3.Renderer.D3.prototype.clear = function() { + this.instance.clear(); +}; \ No newline at end of file diff --git a/src/r3-renderer-d3-canvas-vr.js b/src/r3-renderer-d3-canvas-vr.js new file mode 100644 index 0000000..dff09b3 --- /dev/null +++ b/src/r3-renderer-d3-canvas-vr.js @@ -0,0 +1,56 @@ +/** + * R3.Renderer.D3.Canvas.VR + * @param apiComponent + * @constructor + */ +R3.Renderer.D3.Canvas.VR = function( + apiComponent +) { + + __RUNTIME_COMPONENT__; + + R3.Renderer.D3.Canvas.call( + this, + apiComponent, + true + ); + +}; + +R3.Renderer.D3.Canvas.VR.prototype = Object.create(R3.Renderer.D3.Canvas.prototype); +R3.Renderer.D3.Canvas.VR.prototype.constructor = R3.Renderer.D3.Canvas.VR; + +/** + * Create R3.Renderer.D3 Instance + * @returns {*} + */ +R3.Renderer.D3.Canvas.VR.prototype.createInstance = function() { + + /** + * We can't call the canvas createInstance because it will call component create instance before being able + * to assign the render target + */ + if ( + R3.Utils.UndefinedOrNull(this.canvas) || + R3.Utils.UndefinedOrNull(this.canvas.instance) + ) { + console.warn('no canvas instance or canvas not ready'); + return; + } + + this.instance = this.graphics.Renderer3D(this); + + /** + * So we skip the canvas createInstance but call the rest of the parent class createInstances + */ + R3.Renderer.D3.prototype.createInstance.call(this); + +}; + +/** + * Update Renderer.D3 Instance + */ +R3.Renderer.D3.Canvas.VR.prototype.updateInstance = function(property) { + + R3.Renderer.D3.Canvas.prototype.updateInstance.call(this, property); +}; diff --git a/src/r3-system-gui.js b/src/r3-system-gui.js index c5fa065..1aed505 100644 --- a/src/r3-system-gui.js +++ b/src/r3-system-gui.js @@ -3,13 +3,13 @@ * @param apiSystem R3.API.System * @constructor */ -R3.System.GUI = function( - apiSystem -) { - R3.System.call( - this, - apiSystem - ); +/** + * R3.System.GU + * @constructor + */ +R3.System.GUI = function() { + + R3.System.call(this); this.guis = []; @@ -242,39 +242,39 @@ R3.System.GUI.prototype.start = function() { } }; - this.buildGUISubscription = this.subscribe( + this.buildGUISubscription = R3.Event.Subscribe( R3.Event.BUILD_GUI, - this.buildGUI + this.buildGUI.bind(this) ); - this.meshDeletedSubscription = this.subscribe( + this.meshDeletedSubscription = R3.Event.Subscribe( R3.Event.REMOVE_MESH, - this.meshDeleted + this.meshDeleted.bind(this) ); - this.meshSelectedSubscription = this.subscribe( + this.meshSelectedSubscription = R3.Event.Subscribe( R3.Event.MESH_SELECTED, - this.meshSelected + this.meshSelected.bind(this) ); - this.meshDeselectedSubscription = this.subscribe( + this.meshDeselectedSubscription = R3.Event.Subscribe( R3.Event.MESH_DESELECTED, - this.meshDeslected + this.meshDeslected.bind(this) ); - this.componentRemovedSubscription = this.subscribe( + this.componentRemovedSubscription = R3.Event.Subscribe( R3.Event.REMOVE_COMPONENT, - this.removeComponent + this.removeComponent.bind(this) ); - this.sourceChangedSubscription = this.subscribe( + this.sourceChangedSubscription = R3.Event.Subscribe( R3.Event.CAST_SOURCE_CHANGED, - this.castSourceChanged + this.castSourceChanged.bind(this) ); - this.destinationChangedSubscription = this.subscribe( + this.destinationChangedSubscription = R3.Event.Subscribe( R3.Event.RECEIVE_DESTINATION_CHANGED, - this.receiveDestinationChanged + this.receiveDestinationChanged.bind(this) ); }; diff --git a/src/r3-system-render.js b/src/r3-system-render.js index ddd4cd7..8813879 100644 --- a/src/r3-system-render.js +++ b/src/r3-system-render.js @@ -540,7 +540,22 @@ R3.System.Render.prototype.render = function() { var size = renderer.getSize(); + var resetAutoClear = false; + + if (renderer.viewports.length > 1) { + + if (renderer.autoClear) { + resetAutoClear = true; + } + + renderer.autoClear = false; + renderer.updateInstance('autoClear'); + + renderer.clear(); + } + renderer.viewports.map( + function (viewport) { if (!viewport.instance) { @@ -562,19 +577,6 @@ R3.System.Render.prototype.render = function() { // viewport.height // ); - var resetAutoClear = false; - - if (viewport.scenes.length > 1) { - - if (renderer.autoClear) { - resetAutoClear = true; - } - - renderer.autoClear = false; - renderer.updateInstance('autoClear'); - - renderer.clear(); - } viewport.scenes.map( @@ -736,20 +738,20 @@ R3.System.Render.prototype.render = function() { ); - /** - * Restore the autoClear for the next render loop - */ - if (resetAutoClear) { - renderer.autoClear = true; - renderer.updateInstance('autoClear'); - } - /** * end of viewport */ }.bind(this) ); + /** + * Restore the autoClear for the next render loop + */ + if (resetAutoClear) { + renderer.autoClear = true; + renderer.updateInstance('autoClear'); + } + /** * end of renderer */