From c8570606a2332e1a45d8e65e9b9a2ce7eeed16c7 Mon Sep 17 00:00:00 2001 From: tobia <tobia@172.20.155.154> Date: Fri, 21 Feb 2020 13:05:34 -0800 Subject: [PATCH] --- .../Tobias/Scenes/BeamConePrototype.x3d | 931 ++++-------------- 1 file changed, 191 insertions(+), 740 deletions(-) diff --git a/assignments/DirectedStudy/Tobias/Scenes/BeamConePrototype.x3d b/assignments/DirectedStudy/Tobias/Scenes/BeamConePrototype.x3d index c0baad0..02e32c8 100644 --- a/assignments/DirectedStudy/Tobias/Scenes/BeamConePrototype.x3d +++ b/assignments/DirectedStudy/Tobias/Scenes/BeamConePrototype.x3d @@ -1,740 +1,191 @@ -<!DOCTYPE html> -<html class="" lang="en"> -<head prefix="og: http://ogp.me/ns#"> -<meta charset="utf-8"> -<meta content="IE=edge" http-equiv="X-UA-Compatible"> -<meta content="object" property="og:type"> -<meta content="GitLab" property="og:site_name"> -<meta content="CommunicationsAndSensors/Beam/BeamConePrototype.x3d · master · Savage / X3dExamples" property="og:title"> -<meta content="X3D Examples Archive" property="og:description"> -<meta content="/uploads/-/system/project/avatar/2568/x3d2-s.gif" property="og:image"> -<meta content="64" property="og:image:width"> -<meta content="64" property="og:image:height"> -<meta content="https://gitlab.nps.edu/Savage/Savage/blob/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d" property="og:url"> -<meta content="summary" property="twitter:card"> -<meta content="CommunicationsAndSensors/Beam/BeamConePrototype.x3d · master · Savage / X3dExamples" property="twitter:title"> -<meta content="X3D Examples Archive" property="twitter:description"> -<meta content="/uploads/-/system/project/avatar/2568/x3d2-s.gif" property="twitter:image"> - -<title>CommunicationsAndSensors/Beam/BeamConePrototype.x3d · master · Savage / X3dExamples · GitLab</title> -<meta content="X3D Examples Archive" name="description"> -<link rel="shortcut icon" type="image/png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" /> -<link rel="stylesheet" media="all" href="/assets/application-aeddf31361633b3d1196c6483f25c484855e0f243e7f7e62686a4de9e10ec03b.css" /> -<link rel="stylesheet" media="print" href="/assets/print-74c3df10dad473d66660c828e3aa54ca3bfeac6d8bb708643331403fe7211e60.css" /> - - -<link rel="stylesheet" media="all" href="/assets/highlight/themes/white-3144068cf4f603d290f553b653926358ddcd02493b9728f62417682657fc58c0.css" /> -<script> -//<![CDATA[ -window.gon={};gon.api_version="v4";gon.default_avatar_url="https://gitlab.nps.edu/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=50;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.shortcuts_path="/help/shortcuts";gon.user_color_scheme="white";gon.gitlab_url="https://gitlab.nps.edu";gon.revision="fc376e40baf";gon.gitlab_logo="/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";gon.sprite_icons="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg";gon.sprite_file_icons="/assets/file_icons-7262fc6897e02f1ceaf8de43dc33afa5e4f9a2067f4f68ef77dcc87946575e9e.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-289eccffb1183c188b630297431be837765d9ff4aed6130cf738586fb307c170.css";gon.test_env=false;gon.suggested_label_colors={"#0033CC":"UA blue","#428BCA":"Moderate blue","#44AD8E":"Lime green","#A8D695":"Feijoa","#5CB85C":"Slightly desaturated green","#69D100":"Bright green","#004E00":"Very dark lime green","#34495E":"Very dark desaturated blue","#7F8C8D":"Dark grayish cyan","#A295D6":"Slightly desaturated blue","#5843AD":"Dark moderate blue","#8E44AD":"Dark moderate violet","#FFECDB":"Very pale orange","#AD4363":"Dark moderate pink","#D10069":"Strong pink","#CC0033":"Strong red","#FF0000":"Pure red","#D9534F":"Soft red","#D1D100":"Strong yellow","#F0AD4E":"Soft orange","#AD8D43":"Dark moderate orange"};gon.first_day_of_week=0;gon.ee=false;gon.current_user_id=797;gon.current_username="t.brennenstuhl.gy";gon.current_user_fullname="Brennenstuhl, Tobias FORNATL, GY";gon.current_user_avatar_url="https://secure.gravatar.com/avatar/05592b2f60588393f75904adc3c7f31f?s=80\u0026d=identicon";gon.features={"snippetsVue":false}; -//]]> -</script> - - -<script src="/assets/webpack/runtime.ee78bc38.bundle.js" defer="defer"></script> -<script src="/assets/webpack/main.b91d0a07.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons~pages.admin.clusters~pages.admin.clusters.destroy~pages.admin.clusters.edit~pages.admin.clus~2b7477a2.8f970186.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons~pages.groups.milestones.edit~pages.groups.milestones.new~pages.projects.blame.show~pages.pro~d3e579ac.76c0178f.chunk.js" defer="defer"></script> -<script src="/assets/webpack/pages.projects.blob.show.a1513880.chunk.js" defer="defer"></script> -<script> -//<![CDATA[ -window.uploads_path = "/Savage/Savage/uploads"; - - - -//]]> -</script> -<meta name="csrf-param" content="authenticity_token" /> -<meta name="csrf-token" content="WtWAs58AAiefZ0UKZRGxP+e8WTGcwnwFYqHu0jgRKqECOVLzDAD2qKsMIqDKOYbUQuZ7LyIb+ivZB8SezLeO8Q==" /> - -<meta content="origin-when-cross-origin" name="referrer"> -<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"> -<meta content="#474D57" name="theme-color"> -<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" /> -<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" /> -<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" /> -<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" /> -<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon"> -<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage"> -<meta content="#30353E" name="msapplication-TileColor"> - - - - -</head> - -<body class="ui-indigo gl-browser-chrome gl-platform-windows" data-find-file="/Savage/Savage/find_file/master" data-group="" data-namespace-id="501" data-page="projects:blob:show" data-page-type-id="master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d" data-project="Savage" data-project-id="2568"> - -<script> -//<![CDATA[ -gl = window.gl || {}; -gl.client = {"isChrome":true,"isWindows":true}; - - -//]]> -</script> - - -<header class="navbar navbar-gitlab navbar-expand-sm js-navbar" data-qa-selector="navbar"> -<a class="sr-only gl-accessibility" href="#content-body" tabindex="1">Skip to content</a> -<div class="container-fluid"> -<div class="header-content"> -<div class="title-container"> -<h1 class="title"> -<a title="Dashboard" id="logo" href="/"><svg width="24" height="24" class="tanuki-logo" viewBox="0 0 36 36"> - <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/> - <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/> - <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/> - <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/> - <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/> - <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/> - <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/> -</svg> - -<span class="logo-text d-none d-lg-block prepend-left-8"> -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 617 169"><path d="M315.26 2.97h-21.8l.1 162.5h88.3v-20.1h-66.5l-.1-142.4M465.89 136.95c-5.5 5.7-14.6 11.4-27 11.4-16.6 0-23.3-8.2-23.3-18.9 0-16.1 11.2-23.8 35-23.8 4.5 0 11.7.5 15.4 1.2v30.1h-.1m-22.6-98.5c-17.6 0-33.8 6.2-46.4 16.7l7.7 13.4c8.9-5.2 19.8-10.4 35.5-10.4 17.9 0 25.8 9.2 25.8 24.6v7.9c-3.5-.7-10.7-1.2-15.1-1.2-38.2 0-57.6 13.4-57.6 41.4 0 25.1 15.4 37.7 38.7 37.7 15.7 0 30.8-7.2 36-18.9l4 15.9h15.4v-83.2c-.1-26.3-11.5-43.9-44-43.9M557.63 149.1c-8.2 0-15.4-1-20.8-3.5V70.5c7.4-6.2 16.6-10.7 28.3-10.7 21.1 0 29.2 14.9 29.2 39 0 34.2-13.1 50.3-36.7 50.3m9.2-110.6c-19.5 0-30 13.3-30 13.3v-21l-.1-27.8h-21.3l.1 158.5c10.7 4.5 25.3 6.9 41.2 6.9 40.7 0 60.3-26 60.3-70.9-.1-35.5-18.2-59-50.2-59M77.9 20.6c19.3 0 31.8 6.4 39.9 12.9l9.4-16.3C114.5 6 97.3 0 78.9 0 32.5 0 0 28.3 0 85.4c0 59.8 35.1 83.1 75.2 83.1 20.1 0 37.2-4.7 48.4-9.4l-.5-63.9V75.1H63.6v20.1h38l.5 48.5c-5 2.5-13.6 4.5-25.3 4.5-32.2 0-53.8-20.3-53.8-63-.1-43.5 22.2-64.6 54.9-64.6M231.43 2.95h-21.3l.1 27.3v94.3c0 26.3 11.4 43.9 43.9 43.9 4.5 0 8.9-.4 13.1-1.2v-19.1c-3.1.5-6.4.7-9.9.7-17.9 0-25.8-9.2-25.8-24.6v-65h35.7v-17.8h-35.7l-.1-38.5M155.96 165.47h21.3v-124h-21.3v124M155.96 24.37h21.3V3.07h-21.3v21.3"/></svg> - -</span> -</a></h1> -<ul class="list-unstyled navbar-sub-nav"> -<li id="nav-projects-dropdown" class="home dropdown header-projects qa-projects-dropdown" data-track-label="projects_dropdown" data-track-event="click_dropdown" data-track-value=""><button class="btn" data-toggle="dropdown" type="button"> -Projects -<svg class="caret-down"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-down"></use></svg> -</button> -<div class="dropdown-menu frequent-items-dropdown-menu"> -<div class="frequent-items-dropdown-container"> -<div class="frequent-items-dropdown-sidebar qa-projects-dropdown-sidebar"> -<ul> -<li class=""><a class="qa-your-projects-link" href="/dashboard/projects">Your projects -</a></li><li class=""><a href="/dashboard/projects/starred">Starred projects -</a></li><li class=""><a href="/explore">Explore projects -</a></li></ul> -</div> -<div class="frequent-items-dropdown-content"> -<div data-project-avatar-url="/uploads/-/system/project/avatar/2568/x3d2-s.gif" data-project-id="2568" data-project-name="X3dExamples" data-project-namespace="Savage / X3dExamples" data-project-web-url="/Savage/Savage" data-user-name="t.brennenstuhl.gy" id="js-projects-dropdown"></div> -</div> -</div> - -</div> -</li><li id="nav-groups-dropdown" class="d-none d-md-block home dropdown header-groups qa-groups-dropdown" data-track-label="groups_dropdown" data-track-event="click_dropdown" data-track-value=""><button class="btn" data-toggle="dropdown" type="button"> -Groups -<svg class="caret-down"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-down"></use></svg> -</button> -<div class="dropdown-menu frequent-items-dropdown-menu"> -<div class="frequent-items-dropdown-container"> -<div class="frequent-items-dropdown-sidebar qa-groups-dropdown-sidebar"> -<ul> -<li class=""><a class="qa-your-groups-link" href="/dashboard/groups">Your groups -</a></li><li class=""><a href="/explore/groups">Explore groups -</a></li></ul> -</div> -<div class="frequent-items-dropdown-content"> -<div data-user-name="t.brennenstuhl.gy" id="js-groups-dropdown"></div> -</div> -</div> - -</div> -</li><li class="header-more dropdown"> -<a data-qa-selector="more_dropdown" data-toggle="dropdown" href="#"> -More -<svg class="caret-down"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-down"></use></svg> -</a> -<div class="dropdown-menu"> -<ul> -<li class="d-md-none"> -<a href="/dashboard/groups">Groups -</a></li> -<li class=""><a href="/dashboard/activity">Activity -</a></li><li class=""><a class="dashboard-shortcuts-milestones" href="/dashboard/milestones">Milestones -</a></li><li class=""><a class="dashboard-shortcuts-snippets" data-qa-selector="snippets_link" href="/dashboard/snippets">Snippets -</a></li> -<li class="dropdown"> - -</li> -<li class=""><a href="/-/instance_statistics">Instance Statistics -</a></li></ul> -</div> -</li> -<li class="hidden"> -<a class="dashboard-shortcuts-projects" href="/dashboard/projects">Projects -</a></li> - -</ul> - -</div> -<div class="navbar-collapse collapse"> -<ul class="nav navbar-nav"> -<li class="header-new dropdown" data-track-event="click_dropdown" data-track-label="new_dropdown" data-track-value=""> -<a class="header-new-dropdown-toggle has-tooltip qa-new-menu-toggle" id="js-onboarding-new-project-link" title="New..." ref="tooltip" aria-label="New..." data-toggle="dropdown" data-placement="bottom" data-container="body" data-display="static" href="/projects/new"><svg class="s16"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#plus-square"></use></svg> -<svg class="caret-down"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-down"></use></svg> -</a><div class="dropdown-menu dropdown-menu-right"> -<ul> -<li class="dropdown-bold-header"> -This project -</li> -<li><a href="/Savage/Savage/issues/new">New issue</a></li> -<li class="divider"></li> -<li class="dropdown-bold-header">GitLab</li> -<li><a class="qa-global-new-project-link" href="/projects/new">New project</a></li> -<li><a href="/groups/new">New group</a></li> -<li><a class="qa-global-new-snippet-link" href="/snippets/new">New snippet</a></li> -</ul> -</div> -</li> - -<li class="nav-item d-none d-lg-block m-auto"> -<div class="search search-form" data-track-event="activate_form_input" data-track-label="navbar_search" data-track-value=""> -<form class="form-inline" action="/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /><div class="search-input-container"> -<div class="search-input-wrap"> -<div class="dropdown" data-url="/search/autocomplete"> -<input type="search" name="search" id="search" placeholder="Search or jump to…" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" spellcheck="false" tabindex="1" autocomplete="off" data-issues-path="/dashboard/issues" data-mr-path="/dashboard/merge_requests" data-qa-selector="search_term_field" aria-label="Search or jump to…" /> -<button class="hidden js-dropdown-search-toggle" data-toggle="dropdown" type="button"></button> -<div class="dropdown-menu dropdown-select js-dashboard-search-options"> -<div class="dropdown-content"><ul> -<li class="dropdown-menu-empty-item"> -<a> -Loading... -</a> -</li> -</ul> -</div><div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div> -</div> -<svg class="s16 search-icon"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#search"></use></svg> -<svg class="s16 clear-icon js-clear-input"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#close"></use></svg> -</div> -</div> -</div> -<input type="hidden" name="group_id" id="group_id" class="js-search-group-options" /> -<input type="hidden" name="project_id" id="search_project_id" value="2568" class="js-search-project-options" data-project-path="Savage" data-name="X3dExamples" data-issues-path="/Savage/Savage/issues" data-mr-path="/Savage/Savage/merge_requests" data-issues-disabled="false" /> -<input type="hidden" name="search_code" id="search_code" value="true" /> -<input type="hidden" name="repository_ref" id="repository_ref" value="master" /> -<input type="hidden" name="nav_source" id="nav_source" value="navbar" /> -<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete" data-autocomplete-project-id="2568" data-autocomplete-project-ref="master"></div> -</form></div> - -</li> -<li class="nav-item d-inline-block d-lg-none"> -<a title="Search" aria-label="Search" data-toggle="tooltip" data-placement="bottom" data-container="body" href="/search?project_id=2568"><svg class="s16"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#search"></use></svg> -</a></li> -<li class="user-counter"><a title="Issues" class="dashboard-shortcuts-issues" aria-label="Issues" data-toggle="tooltip" data-placement="bottom" data-container="body" href="/dashboard/issues?assignee_username=t.brennenstuhl.gy"><svg class="s16"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#issues"></use></svg> -<span class="badge badge-pill green-badge hidden issues-count"> -0 -</span> -</a></li><li class="user-counter"><a title="Merge requests" class="dashboard-shortcuts-merge_requests" aria-label="Merge requests" data-toggle="tooltip" data-placement="bottom" data-container="body" href="/dashboard/merge_requests?assignee_username=t.brennenstuhl.gy"><svg class="s16"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#git-merge"></use></svg> -<span class="badge badge-pill hidden merge-requests-count"> -0 -</span> -</a></li><li class="user-counter"><a title="To-Do List" aria-label="To-Do List" class="shortcuts-todos" data-toggle="tooltip" data-placement="bottom" data-container="body" href="/dashboard/todos"><svg class="s16"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#todo-done"></use></svg> -<span class="badge badge-pill hidden todos-count"> -0 -</span> -</a></li><li class="nav-item header-help dropdown d-none d-md-block"> -<a class="header-help-dropdown-toggle" data-toggle="dropdown" href="/help"><svg class="s16"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#question"></use></svg> -<svg class="caret-down"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-down"></use></svg> -</a><div class="dropdown-menu dropdown-menu-right"> -<ul> -<li> -<a href="/help">Help</a> -</li> -<li> -<a href="https://about.gitlab.com/getting-help/">Support</a> -</li> - -<li class="divider"></li> -<li> -<a href="https://about.gitlab.com/submit-feedback">Submit feedback</a> -</li> -<li> -<a target="_blank" class="text-nowrap" href="https://about.gitlab.com/contributing">Contribute to GitLab -</a> -</li> - -</ul> - -</div> -</li> -<li class="dropdown header-user nav-item" data-qa-selector="user_menu" data-track-event="click_dropdown" data-track-label="profile_dropdown" data-track-value=""> -<a class="header-user-dropdown-toggle" data-toggle="dropdown" href="/t.brennenstuhl.gy"><img width="23" height="23" class="header-user-avatar qa-user-avatar lazy" data-src="https://secure.gravatar.com/avatar/05592b2f60588393f75904adc3c7f31f?s=46&d=identicon" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> -<svg class="caret-down"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-down"></use></svg> -</a><div class="dropdown-menu dropdown-menu-right"> -<ul> -<li class="current-user"> -<div class="user-name bold"> -Brennenstuhl, Tobias FORNATL, GY -</div> -@t.brennenstuhl.gy -</li> -<li class="divider"></li> -<li> -<div class="js-set-status-modal-trigger" data-has-status="false"></div> -</li> -<li> -<a class="profile-link" data-user="t.brennenstuhl.gy" href="/t.brennenstuhl.gy">Profile</a> -</li> -<li> -<a data-qa-selector="settings_link" href="/profile">Settings</a> -</li> -<li class="divider d-md-none"></li> -<li class="d-md-none"> -<a href="/help">Help</a> -</li> -<li class="d-md-none"> -<a href="https://about.gitlab.com/getting-help/">Support</a> -</li> - -<li class="d-md-none"> -<a href="https://about.gitlab.com/submit-feedback">Submit feedback</a> -</li> -<li class="d-md-none"> -<a target="_blank" class="text-nowrap" href="https://about.gitlab.com/contributing">Contribute to GitLab -</a> -</li> - -<li class="divider"></li> -<li> -<a class="sign-out-link" data-qa-selector="sign_out_link" href="/users/sign_out">Sign out</a> -</li> -</ul> - -</div> -</li> -</ul> -</div> -<button class="navbar-toggler d-block d-sm-none" type="button"> -<span class="sr-only">Toggle navigation</span> -<svg class="s12 more-icon js-navbar-toggle-right"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#ellipsis_h"></use></svg> -<svg class="s12 close-icon js-navbar-toggle-left"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#close"></use></svg> -</button> -</div> -</div> -</header> -<div class="js-set-status-modal-wrapper" data-current-emoji="" data-current-message=""></div> - -<div class="layout-page page-with-contextual-sidebar"> -<div class="nav-sidebar"> -<div class="nav-sidebar-inner-scroll"> -<div class="context-header"> -<a title="X3dExamples" href="/Savage/Savage"><div class="avatar-container rect-avatar s40 project-avatar"> -<img alt="X3dExamples" class="avatar s40 avatar-tile lazy" width="40" height="40" data-src="/uploads/-/system/project/avatar/2568/x3d2-s.gif" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> -</div> -<div class="sidebar-context-title"> -X3dExamples -</div> -</a></div> -<ul class="sidebar-top-level-items"> -<li class="home"><a class="shortcuts-project rspec-project-link" data-qa-selector="project_link" href="/Savage/Savage"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#home"></use></svg> -</div> -<span class="nav-item-name"> -Project overview -</span> -</a><ul class="sidebar-sub-level-items"> -<li class="fly-out-top-item"><a href="/Savage/Savage"><strong class="fly-out-top-item-name"> -Project overview -</strong> -</a></li><li class="divider fly-out-top-item"></li> -<li class=""><a title="Project details" class="shortcuts-project" href="/Savage/Savage"><span>Details</span> -</a></li><li class=""><a title="Activity" class="shortcuts-project-activity" data-qa-selector="activity_link" href="/Savage/Savage/activity"><span>Activity</span> -</a></li><li class=""><a title="Releases" class="shortcuts-project-releases" href="/Savage/Savage/-/releases"><span>Releases</span> -</a></li><li class=""><a title="Cycle Analytics" class="shortcuts-project-cycle-analytics" href="/Savage/Savage/-/cycle_analytics"><span>Cycle Analytics</span> -</a></li> -</ul> -</li><li class="active"><a class="shortcuts-tree qa-project-menu-repo" href="/Savage/Savage/tree/master"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#doc-text"></use></svg> -</div> -<span class="nav-item-name" id="js-onboarding-repo-link"> -Repository -</span> -</a><ul class="sidebar-sub-level-items"> -<li class="fly-out-top-item active"><a href="/Savage/Savage/tree/master"><strong class="fly-out-top-item-name"> -Repository -</strong> -</a></li><li class="divider fly-out-top-item"></li> -<li class="active"><a href="/Savage/Savage/tree/master">Files -</a></li><li class=""><a id="js-onboarding-commits-link" href="/Savage/Savage/commits/master">Commits -</a></li><li class=""><a class="qa-branches-link" id="js-onboarding-branches-link" href="/Savage/Savage/-/branches">Branches -</a></li><li class=""><a href="/Savage/Savage/-/tags">Tags -</a></li><li class=""><a href="/Savage/Savage/-/graphs/master">Contributors -</a></li><li class=""><a href="/Savage/Savage/-/network/master">Graph -</a></li><li class=""><a href="/Savage/Savage/compare?from=master&to=master">Compare -</a></li><li class=""><a href="/Savage/Savage/-/graphs/master/charts">Charts -</a></li> -</ul> -</li><li class=""><a class="shortcuts-issues qa-issues-item" href="/Savage/Savage/issues"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#issues"></use></svg> -</div> -<span class="nav-item-name" id="js-onboarding-issues-link"> -Issues -</span> -<span class="badge badge-pill count issue_counter"> -0 -</span> -</a><ul class="sidebar-sub-level-items"> -<li class="fly-out-top-item"><a href="/Savage/Savage/issues"><strong class="fly-out-top-item-name"> -Issues -</strong> -<span class="badge badge-pill count issue_counter fly-out-badge"> -0 -</span> -</a></li><li class="divider fly-out-top-item"></li> -<li class=""><a title="Issues" href="/Savage/Savage/issues"><span> -List -</span> -</a></li><li class=""><a title="Boards" data-qa-selector="issue_boards_link" href="/Savage/Savage/-/boards"><span> -Boards -</span> -</a></li><li class=""><a title="Labels" class="qa-labels-link" href="/Savage/Savage/-/labels"><span> -Labels -</span> -</a></li> -<li class=""><a title="Milestones" class="qa-milestones-link" href="/Savage/Savage/-/milestones"><span> -Milestones -</span> -</a></li></ul> -</li><li class=""><a class="shortcuts-merge_requests" data-qa-selector="merge_requests_link" href="/Savage/Savage/merge_requests"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#git-merge"></use></svg> -</div> -<span class="nav-item-name" id="js-onboarding-mr-link"> -Merge Requests -</span> -<span class="badge badge-pill count merge_counter js-merge-counter"> -0 -</span> -</a><ul class="sidebar-sub-level-items is-fly-out-only"> -<li class="fly-out-top-item"><a href="/Savage/Savage/merge_requests"><strong class="fly-out-top-item-name"> -Merge Requests -</strong> -<span class="badge badge-pill count merge_counter js-merge-counter fly-out-badge"> -0 -</span> -</a></li></ul> -</li><li class=""><a class="shortcuts-pipelines qa-link-pipelines rspec-link-pipelines" data-qa-selector="ci_cd_link" href="/Savage/Savage/pipelines"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#rocket"></use></svg> -</div> -<span class="nav-item-name" id="js-onboarding-pipelines-link"> -CI / CD -</span> -</a><ul class="sidebar-sub-level-items"> -<li class="fly-out-top-item"><a href="/Savage/Savage/pipelines"><strong class="fly-out-top-item-name"> -CI / CD -</strong> -</a></li><li class="divider fly-out-top-item"></li> -<li class=""><a title="Pipelines" class="shortcuts-pipelines" href="/Savage/Savage/pipelines"><span> -Pipelines -</span> -</a></li><li class=""><a title="Jobs" class="shortcuts-builds" href="/Savage/Savage/-/jobs"><span> -Jobs -</span> -</a></li><li class=""><a title="Schedules" class="shortcuts-builds" href="/Savage/Savage/pipeline_schedules"><span> -Schedules -</span> -</a></li><li class=""><a title="Charts" class="shortcuts-pipelines-charts" href="/Savage/Savage/pipelines/charts"><span> -Charts -</span> -</a></li></ul> -</li> -<li class=""><a href="/Savage/Savage/container_registry"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#package"></use></svg> -</div> -<span class="nav-item-name"> -Packages -</span> -</a><ul class="sidebar-sub-level-items"> -<li class="fly-out-top-item"><a href="/Savage/Savage/container_registry"><strong class="fly-out-top-item-name"> -Packages -</strong> -</a></li><li class="divider fly-out-top-item"></li> -<li class=""><a class="shortcuts-container-registry" title="Container Registry" href="/Savage/Savage/container_registry"><span>Container Registry</span> -</a></li></ul> -</li> -<li class=""><a class="shortcuts-wiki" data-qa-selector="wiki_link" href="/Savage/Savage/-/wikis/home"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#book"></use></svg> -</div> -<span class="nav-item-name"> -Wiki -</span> -</a><ul class="sidebar-sub-level-items is-fly-out-only"> -<li class="fly-out-top-item"><a href="/Savage/Savage/-/wikis/home"><strong class="fly-out-top-item-name"> -Wiki -</strong> -</a></li></ul> -</li><li class=""><a class="shortcuts-snippets" href="/Savage/Savage/snippets"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#snippet"></use></svg> -</div> -<span class="nav-item-name"> -Snippets -</span> -</a><ul class="sidebar-sub-level-items is-fly-out-only"> -<li class="fly-out-top-item"><a href="/Savage/Savage/snippets"><strong class="fly-out-top-item-name"> -Snippets -</strong> -</a></li></ul> -</li><li class=""><a title="Members" class="shortcuts-tree" href="/Savage/Savage/-/settings/members"><div class="nav-icon-container"> -<svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#users"></use></svg> -</div> -<span class="nav-item-name"> -Members -</span> -</a><ul class="sidebar-sub-level-items is-fly-out-only"> -<li class="fly-out-top-item"><a href="/Savage/Savage/-/project_members"><strong class="fly-out-top-item-name"> -Members -</strong> -</a></li></ul> -</li><a class="toggle-sidebar-button js-toggle-sidebar qa-toggle-sidebar rspec-toggle-sidebar" role="button" title="Toggle sidebar" type="button"> -<svg class="icon-angle-double-left"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-double-left"></use></svg> -<svg class="icon-angle-double-right"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-double-right"></use></svg> -<span class="collapse-text">Collapse sidebar</span> -</a> -<button name="button" type="button" class="close-nav-button"><svg class="s16"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#close"></use></svg> -<span class="collapse-text">Close sidebar</span> -</button> -<li class="hidden"> -<a title="Activity" class="shortcuts-project-activity" href="/Savage/Savage/activity"><span> -Activity -</span> -</a></li> -<li class="hidden"> -<a title="Network" class="shortcuts-network" href="/Savage/Savage/-/network/master">Graph -</a></li> -<li class="hidden"> -<a title="Charts" class="shortcuts-repository-charts" href="/Savage/Savage/-/graphs/master/charts">Charts -</a></li> -<li class="hidden"> -<a class="shortcuts-new-issue" href="/Savage/Savage/issues/new">Create a new issue -</a></li> -<li class="hidden"> -<a title="Jobs" class="shortcuts-builds" href="/Savage/Savage/-/jobs">Jobs -</a></li> -<li class="hidden"> -<a title="Commits" class="shortcuts-commits" href="/Savage/Savage/commits/master">Commits -</a></li> -<li class="hidden"> -<a title="Issue Boards" class="shortcuts-issue-boards" href="/Savage/Savage/-/boards">Issue Boards</a> -</li> -</ul> -</div> -</div> - -<div class="content-wrapper"> - -<div class="mobile-overlay"></div> -<div class="alert-wrapper"> - - - - - - -<nav class="breadcrumbs container-fluid container-limited" role="navigation"> -<div class="breadcrumbs-container"> -<button name="button" type="button" class="toggle-mobile-nav"><span class="sr-only">Open sidebar</span> -<i aria-hidden="true" data-hidden="true" class="fa fa-bars"></i> -</button><div class="breadcrumbs-links js-title-container"> -<ul class="list-unstyled breadcrumbs-list js-breadcrumbs-list"> -<li><a class="group-path breadcrumb-item-text js-breadcrumb-item-text " href="/Savage"><img class="avatar-tile lazy" width="15" height="15" data-src="/uploads/-/system/group/avatar/501/SavageLogoSmall.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />Savage</a><svg class="s8 breadcrumbs-list-angle"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-right"></use></svg></li> <li><a href="/Savage/Savage"><img alt="X3dExamples" class="avatar-tile lazy" width="15" height="15" data-src="/uploads/-/system/project/avatar/2568/x3d2-s.gif" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /><span class="breadcrumb-item-text js-breadcrumb-item-text">X3dExamples</span></a><svg class="s8 breadcrumbs-list-angle"><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#angle-right"></use></svg></li> - -<li> -<h2 class="breadcrumbs-sub-title"><a href="/Savage/Savage/blob/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d">Repository</a></h2> -</li> -</ul> -</div> - -</div> -</nav> - -<div class="d-flex"></div> -</div> -<div class="container-fluid container-limited "> -<div class="content" id="content-body"> -<div class="flash-container flash-container-page sticky"> -</div> - -<div class="js-signature-container" data-signatures-path="/Savage/Savage/commits/d442957f26ef7027dd839f6e40d252744e0bd26b/signatures?limit=1"></div> - -<div class="tree-holder" id="tree-holder"> -<div class="nav-block"> -<div class="tree-ref-container"> -<div class="tree-ref-holder"> -<form class="project-refs-form" action="/Savage/Savage/refs/switch" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="destination" id="destination" value="blob" /> -<input type="hidden" name="path" id="path" value="CommunicationsAndSensors/Beam/BeamConePrototype.x3d" /> -<div class="dropdown"> -<button class="dropdown-menu-toggle js-project-refs-dropdown qa-branches-select" type="button" data-toggle="dropdown" data-selected="master" data-ref="master" data-refs-url="/Savage/Savage/refs?sort=updated_desc" data-field-name="ref" data-submit-form-on-click="true" data-visit="true"><span class="dropdown-toggle-text ">master</span><i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"></i></button> -<div class="dropdown-menu dropdown-menu-paging dropdown-menu-selectable git-revision-dropdown qa-branches-dropdown"> -<div class="dropdown-page-one"> -<div class="dropdown-title"><span>Switch branch/tag</span><button class="dropdown-title-button dropdown-menu-close" aria-label="Close" type="button"><i aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-menu-close-icon"></i></button></div> -<div class="dropdown-input"><input type="search" id="" class="dropdown-input-field qa-dropdown-input-field" placeholder="Search branches and tags" autocomplete="off" /><i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"></i><i aria-hidden="true" data-hidden="true" role="button" class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div> -<div class="dropdown-content"></div> -<div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div> -</div> -</div> -</div> -</form> -</div> -<ul class="breadcrumb repo-breadcrumb"> -<li class="breadcrumb-item"> -<a href="/Savage/Savage/tree/master">Savage -</a></li> -<li class="breadcrumb-item"> -<a href="/Savage/Savage/tree/master/CommunicationsAndSensors">CommunicationsAndSensors</a> -</li> -<li class="breadcrumb-item"> -<a href="/Savage/Savage/tree/master/CommunicationsAndSensors/Beam">Beam</a> -</li> -<li class="breadcrumb-item"> -<a href="/Savage/Savage/blob/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d"><strong>BeamConePrototype.x3d</strong> -</a></li> -</ul> -</div> -<div class="tree-controls"><a class="btn shortcuts-find-file" rel="nofollow" href="/Savage/Savage/find_file/master"><i aria-hidden="true" data-hidden="true" class="fa fa-search"></i> -<span>Find file</span> -</a><a class="btn js-blob-blame-link" href="/Savage/Savage/blame/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d">Blame</a><a class="btn" href="/Savage/Savage/commits/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d">History</a><a class="btn js-data-file-blob-permalink-url" href="/Savage/Savage/blob/c5f806541d5ac920cb7c3b76f50a3efd111baeeb/CommunicationsAndSensors/Beam/BeamConePrototype.x3d">Permalink</a></div> -</div> - -<div class="info-well d-none d-sm-block"> -<div class="well-segment"> -<ul class="blob-commit-info"> -<li class="commit flex-row js-toggle-container" id="commit-d442957f"> -<div class="avatar-cell d-none d-sm-block"> -<a href="mailto:brutzman@DESKTOP-2S09UKA"><img alt="brutzman's avatar" src="https://secure.gravatar.com/avatar/e69e082c4bc137307e632268429cf8e1?s=80&d=identicon" class="avatar s40 d-none d-sm-inline-block" title="brutzman" /></a> -</div> -<div class="commit-detail flex-list"> -<div class="commit-content qa-commit-content"> -<a class="commit-row-message item-title js-onboarding-commit-item" href="/Savage/Savage/commit/d442957f26ef7027dd839f6e40d252744e0bd26b">restore </a><a href="http://www.web3d.org" rel="nofollow noreferrer noopener" target="_blank">http://www.web3d.org</a><a class="commit-row-message item-title js-onboarding-commit-item" href="/Savage/Savage/commit/d442957f26ef7027dd839f6e40d252744e0bd26b"> for DTD, schema entries</a> -<span class="commit-row-message d-inline d-sm-none"> -· -d442957f -</span> -<div class="committer"> -<a class="commit-author-link" href="mailto:brutzman@DESKTOP-2S09UKA">brutzman</a> authored <time class="js-timeago" title="Nov 26, 2019 12:34pm" datetime="2019-11-26T12:34:18Z" data-toggle="tooltip" data-placement="bottom" data-container="body">Nov 26, 2019</time> -</div> - -</div> -<div class="commit-actions flex-row"> - -<div class="js-commit-pipeline-status" data-endpoint="/Savage/Savage/commit/d442957f26ef7027dd839f6e40d252744e0bd26b/pipelines?ref=master"></div> -<div class="commit-sha-group d-none d-sm-flex"> -<div class="label label-monospace monospace"> -d442957f -</div> -<button class="btn btn btn-default" data-toggle="tooltip" data-placement="bottom" data-container="body" data-title="Copy commit SHA" data-class="btn btn-default" data-clipboard-text="d442957f26ef7027dd839f6e40d252744e0bd26b" type="button" title="Copy commit SHA" aria-label="Copy commit SHA"><svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#duplicate"></use></svg></button> - -</div> -</div> -</div> -</li> - -</ul> -</div> - - -</div> -<div class="blob-content-holder" id="blob-content-holder"> -<article class="file-holder"> -<div class="js-file-title file-title-flex-parent"> -<div class="file-header-content"> -<i aria-hidden="true" data-hidden="true" class="fa fa-file-text-o fa-fw"></i> -<strong class="file-title-name qa-file-title-name"> -BeamConePrototype.x3d -</strong> -<button class="btn btn-clipboard btn-transparent" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn-clipboard btn-transparent" data-title="Copy file path" data-clipboard-text="{"text":"CommunicationsAndSensors/Beam/BeamConePrototype.x3d","gfm":"`CommunicationsAndSensors/Beam/BeamConePrototype.x3d`"}" type="button" title="Copy file path" aria-label="Copy file path"><svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#duplicate"></use></svg></button> -<small class="mr-1"> -11.4 KB -</small> -</div> - -<div class="file-actions"> - -<div class="btn-group" role="group"><button name="button" type="submit" class="btn btn-primary js-edit-blob js-edit-blob-link-fork-toggler" data-action="edit" data-fork-path="/Savage/Savage/-/forks?continue%5Bnotice%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+has+been+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bnotice_now%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+is+being+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bto%5D=%2FSavage%2FSavage%2Fedit%2Fmaster%2FCommunicationsAndSensors%2FBeam%2FBeamConePrototype.x3d&namespace_key=942">Edit</button><button name="button" type="submit" class="btn btn-inverted btn-primary ide-edit-button js-edit-blob-link-fork-toggler" data-action="edit" data-fork-path="/Savage/Savage/-/forks?continue%5Bnotice%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+has+been+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bnotice_now%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+is+being+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bto%5D=%2F-%2Fide%2Fproject%2Ft.brennenstuhl.gy%2FSavage%2Fedit%2Fmaster%2F-%2FCommunicationsAndSensors%2FBeam%2FBeamConePrototype.x3d&namespace_key=942">Web IDE</button></div> -<div class="btn-group" role="group"><button name="button" type="submit" class="btn btn-default js-edit-blob-link-fork-toggler" data-action="replace" data-fork-path="/Savage/Savage/-/forks?continue%5Bnotice%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+has+been+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.+Try+to+replace+this+file+again.&continue%5Bnotice_now%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+is+being+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bto%5D=%2FSavage%2FSavage%2Fblob%2Fmaster%2FCommunicationsAndSensors%2FBeam%2FBeamConePrototype.x3d&namespace_key=942">Replace</button><button name="button" type="submit" class="btn btn-default js-edit-blob-link-fork-toggler" data-action="delete" data-fork-path="/Savage/Savage/-/forks?continue%5Bnotice%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+has+been+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.+Try+to+delete+this+file+again.&continue%5Bnotice_now%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+is+being+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bto%5D=%2FSavage%2FSavage%2Fblob%2Fmaster%2FCommunicationsAndSensors%2FBeam%2FBeamConePrototype.x3d&namespace_key=942">Delete</button></div> -<div class="btn-group" role="group"><button class="btn btn btn-sm js-copy-blob-source-btn" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn btn-sm js-copy-blob-source-btn" data-title="Copy file contents" data-clipboard-target=".blob-content[data-blob-id='4796d6314bf2b4b809dc7e09e732a39cba4b2143']" type="button" title="Copy file contents" aria-label="Copy file contents"><svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#duplicate"></use></svg></button><a class="btn btn-sm has-tooltip" target="_blank" rel="noopener noreferrer" aria-label="Open raw" title="Open raw" data-container="body" href="/Savage/Savage/raw/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d"><svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#doc-code"></use></svg></a><a download="CommunicationsAndSensors/Beam/BeamConePrototype.x3d" class="btn btn-sm has-tooltip" target="_blank" rel="noopener noreferrer" aria-label="Download" title="Download" data-container="body" href="/Savage/Savage/raw/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d?inline=false"><svg><use xlink:href="/assets/icons-e91700f3f1ecff110fc2c35aa62aec8f2aad69d1bfb35844186a11175a79e25f.svg#download"></use></svg></a></div> -</div> -</div> -<div class="js-file-fork-suggestion-section file-fork-suggestion hidden"> -<span class="file-fork-suggestion-note"> -You're not allowed to -<span class="js-file-fork-suggestion-section-action"> -edit -</span> -files in this project directly. Please fork this project, -make your changes there, and submit a merge request. -</span> -<a class="js-fork-suggestion-button btn btn-grouped btn-inverted btn-success" rel="nofollow" data-method="post" href="/Savage/Savage/blob/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d">Fork</a> -<button class="js-cancel-fork-suggestion-button btn btn-grouped" type="button"> -Cancel -</button> -</div> - - - -<div class="blob-viewer" data-type="simple" data-url="/Savage/Savage/blob/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d?format=json&viewer=simple"> -<div class="text-center prepend-top-default append-bottom-default"> -<i aria-hidden="true" aria-label="Loading content…" class="fa fa-spinner fa-spin fa-2x qa-spinner"></i> -</div> - -</div> - - -</article> -</div> - -<div class="modal" id="modal-upload-blob"> -<div class="modal-dialog modal-lg"> -<div class="modal-content"> -<div class="modal-header"> -<h3 class="page-title">Replace BeamConePrototype.x3d</h3> -<button aria-label="Close" class="close" data-dismiss="modal" type="button"> -<span aria-hidden>×</span> -</button> -</div> -<div class="modal-body"> -<form class="js-quick-submit js-upload-blob-form" data-method="put" action="/Savage/Savage/update/master/CommunicationsAndSensors/Beam/BeamConePrototype.x3d" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="NTHUAem++8zvzf/vA8VpLApo0tgrbMaOev9Vyypj6c5t3QZBer4PQ9ummEWs7V7HrzLwxpW1QKDBWX+H3sVNng==" /><div class="dropzone"> -<div class="dropzone-previews blob-upload-dropzone-previews"> -<p class="dz-message light"> -Attach a file by drag & drop or <a class="markdown-selector" href="#">click to upload</a> -</p> -</div> -</div> -<br> -<div class="dropzone-alerts alert alert-danger data" style="display:none"></div> -<div class="form-group row commit_message-group"> -<label class="col-form-label col-sm-2" for="commit_message-baf21686faaa134db0b1eae985afd2fb">Commit message -</label><div class="col-sm-10"> -<div class="commit-message-container"> -<div class="max-width-marker"></div> -<textarea name="commit_message" id="commit_message-baf21686faaa134db0b1eae985afd2fb" class="form-control js-commit-message" placeholder="Replace BeamConePrototype.x3d" required="required" rows="3"> -Replace BeamConePrototype.x3d</textarea> -</div> -</div> -</div> - -<input type="hidden" name="branch_name" id="branch_name" /> -<input type="hidden" name="create_merge_request" id="create_merge_request" value="1" /> -<input type="hidden" name="original_branch" id="original_branch" value="master" class="js-original-branch" /> - -<div class="form-actions"> -<button name="button" type="button" class="btn btn-success btn-upload-file" id="submit-all"><i aria-hidden="true" data-hidden="true" class="fa fa-spin fa-spinner js-loading-icon hidden"></i> -Replace file -</button><a class="btn btn-cancel" data-dismiss="modal" href="#">Cancel</a> -<div class="inline prepend-left-10"> -A new branch will be created in your fork and a new merge request will be started. -</div> - -</div> -</form></div> -</div> -</div> -</div> - -</div> - -</div> -</div> -</div> -</div> - - - - -</body> -</html> - +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "http://www.web3d.org/specifications/x3d-3.3.dtd"> +<X3D profile='Immersive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.3.xsd'> + <head> + <meta content='BeamConePrototype.x3d' name='title'/> + <meta content='Don Brutzman' name='creator'/> + <meta content='7 December 2000' name='created'/> + <meta content='26 December 2014' name='modified'/> + <meta content='Produce wireframe or transparent beam cones.' name='description'/> + <meta content='https://savage.nps.edu/Savage/CommunicationsAndSensors/Beam/BeamConePrototype.x3d' name='identifier'/> + <meta content='http://faculty.nps.edu/brutzman/vrtp/demo/auv/BeamConePrototype.x3d' name='reference'/> + <meta content='http://www.web3d.org/WorkingGroups/vrtp/demo/auv/BeamConePrototype.x3d' name='reference'/> + <meta content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit' name='generator'/> + <meta content='../../license.html' name='license'/> + </head> + <Scene> + <NavigationInfo DEF='LockedDownInterface2D' type='"NONE"'/> + <Background skyColor='0 0.3 0.5'/> + <WorldInfo info='"Produce wireframe or transparent beam cones"' title='BeamConeProto'/> + <Viewpoint description='Beam Cone' position='0 0 15'/> + <ProtoDeclare appinfo='Produce wireframe or transparent beam cones. Typical uses include propeller/thruster water flow or line-of-sight sonar/radar/light beams. Negative range values invert base and apex at same relative location. Default: beam with apex at (0 0 0) and base of radius 1 in x-z plane at (1 0 0).' name='BeamCone'> + <ProtoInterface> + <field accessType='initializeOnly' appinfo='BeamCone name aids in node identification and tracing' name='name' type='SFString' value='(unnamed)'/> + <field accessType='inputOnly' appinfo='(communications) is transmitted signal in contact with receiver or (sensor) is a target return detected?' name='contact' type='SFBool'/> + <field accessType='inputOnly' appinfo='distance in meters along x axis' name='range' type='SFFloat'/> + <field accessType='initializeOnly' appinfo='distance in meters used until eventIn range sent' name='defaultRange' type='SFFloat' value='1'/> + <field accessType='initializeOnly' appinfo='whether wireframe beam is drawn' name='wireframe' type='SFBool' value='true'/> + <field accessType='initializeOnly' appinfo='whether solid beam is drawn' name='solid' type='SFBool' value='true'/> + <field accessType='initializeOnly' appinfo='degrees across vertical y axis' name='beamHeightDegrees' type='SFFloat' value='10'/> + <field accessType='initializeOnly' appinfo='degrees across horizontal z axis' name='beamWidthDegrees' type='SFFloat' value='10'/> + <field accessType='initializeOnly' appinfo='rendering color when contact=true' name='contactColor' type='SFColor' value='.8 .1 .1'/> + <field accessType='initializeOnly' appinfo='rendering color when contact=false' name='noContactColor' type='SFColor' value='.3 .5 .5'/> + <field accessType='inputOutput' appinfo='1 = fully transparent wireframe only' name='transparency' type='SFFloat' value='0'/> + <field accessType='initializeOnly' appinfo='flag to turn on Script tracing' name='traceEnabled' type='SFBool' value='false'/> + <!-- BEAM_CONTROL beam scaling is controlled by range/beamHeightDegrees/beamWidthDegrees/direction inputs --> + </ProtoInterface> + <ProtoBody> + <Transform DEF='BEAM_CONTROL'> + <Switch DEF='WIREFRAME_SWITCH' whichChoice='0'> + <WorldInfo info='"initial choice is null node (WorldInfo), meaning no wireframe beam"'/> + <Shape> + <Appearance> + <Material DEF='WIRE_COLOR' diffuseColor='.1 .1 .1'> + <IS> + <connect nodeField='transparency' protoField='transparency'/> + </IS> + </Material> + </Appearance> + <IndexedLineSet coordIndex='0 13 -1 1 2 3 4 5 6 7 8 9 10 11 12 1 -1 0 1 -1 0 2 -1 0 3 -1 0 4 -1 0 5 -1 0 6 -1 0 7 -1 0 8 -1 0 9 -1 0 10 -1 0 11 -1 0 12 -1'> + <Coordinate point='0 0 0 1 1 0 1 0.86 0.50 1 0.50 0.86 1 0 1.0 1 -0.50 0.86 1 -0.86 0.50 1 -1 0 1 -0.86 -0.50 1 -0.50 -0.86 1 0 -1.0 1 0.50 -0.86 1 0.86 -0.50 1 0 0'/> + </IndexedLineSet> + </Shape> + </Switch> + <Switch DEF='SOLID_SWITCH' whichChoice='0'> + <WorldInfo info='"initial choice is null node (WorldInfo), meaning no solid beam"'/> + <Transform rotation='0 0 1 1.57079' translation='.5 0 0'> + <Shape> + <Appearance> + <Material DEF='CONE_COLOR' diffuseColor='.1 .1 .1'> + <IS> + <connect nodeField='transparency' protoField='transparency'/> + </IS> + </Material> + </Appearance> + <!-- solid='false' is harder to recognize properly, use default solid='true' --> + <Cone bottom='false' height='1'/> + </Shape> + </Transform> + </Switch> + </Transform> + <!-- Non-renderable animation controls --> + <Script DEF='DETECTION'> + <field accessType='initializeOnly' appinfo='BeamCone name aids tracing' name='name' type='SFString'/> + <field accessType='inputOnly' name='contact' type='SFBool'/> + <field accessType='initializeOnly' name='wireframe' type='SFBool'/> + <field accessType='initializeOnly' name='solid' type='SFBool'/> + <field accessType='initializeOnly' name='contactColor' type='SFColor'/> + <field accessType='initializeOnly' name='noContactColor' type='SFColor'/> + <field accessType='outputOnly' name='beamColor' type='SFColor'/> + <field accessType='outputOnly' name='wireframeChoice' type='SFInt32'/> + <field accessType='outputOnly' name='solidChoice' type='SFInt32'/> + <field accessType='initializeOnly' appinfo='internal flag to turn on Script tracing' name='traceEnabled' type='SFBool'/> + <IS> + <connect nodeField='name' protoField='name'/> + <connect nodeField='contact' protoField='contact'/> + <connect nodeField='wireframe' protoField='wireframe'/> + <connect nodeField='solid' protoField='solid'/> + <connect nodeField='contactColor' protoField='contactColor'/> + <connect nodeField='noContactColor' protoField='noContactColor'/> + <connect nodeField='traceEnabled' protoField='traceEnabled'/> + </IS> + <![CDATA[ +ecmascript: +function initialize () +{ + beamColor = noContactColor; + if (wireframe == true) wireframeChoice = 1; + if (solid == true) solidChoice = 1; + if (traceEnabled) + { +// Browser.print ('[BeamCone ' + name + '] trace=' + trace + '\n'); + Browser.print ('[BeamCone ' + name + '] wireframeChoice=' + wireframeChoice + ', solidChoice=' + solidChoice) + '\n'; + Browser.print ('[BeamCone ' + name + '] contactColor=' + contactColor.toString() + ', noContactColor=' + noContactColor.toString() + '\n'); + } +} +function contact (newDetect, timeStamp) +{ + if (newDetect) beamColor = contactColor; + else beamColor = noContactColor; + if (traceEnabled) Browser.print ('[BeamCone ' + name + '] contact=' + newDetect + ', beamColor=' + beamColor.toString() + '\n'); +} +]]> + </Script> + <Script DEF='BEAM_CALCULATE'> + <field accessType='inputOnly' name='range' type='SFFloat'/> + <field accessType='initializeOnly' name='defaultRange' type='SFFloat'/> + <field accessType='initializeOnly' name='beamHeightDegrees' type='SFFloat'/> + <field accessType='initializeOnly' name='beamWidthDegrees' type='SFFloat'/> + <field accessType='outputOnly' name='beamScale' type='SFVec3f'/> + <field accessType='outputOnly' name='direction' type='SFRotation'/> + <field accessType='outputOnly' name='reverseOffset' type='SFVec3f'/> + <IS> + <connect nodeField='range' protoField='range'/> + <connect nodeField='defaultRange' protoField='defaultRange'/> + <connect nodeField='beamHeightDegrees' protoField='beamHeightDegrees'/> + <connect nodeField='beamWidthDegrees' protoField='beamWidthDegrees'/> + </IS> + <![CDATA[ +ecmascript: +function initialize () { + // Note that X3D scale factor triplets all equal to zero are not allowed + if (defaultRange == 0) defaultRange = .0001; + if (beamHeightDegrees == 0) beamHeightDegrees = .0001; + if (beamWidthDegrees == 0) beamWidthDegrees = .0001; + beamHeightFactor= Math.sin ((beamHeightDegrees * 3.141592653 / 180.0) / 2.0); + beamWidthFactor = Math.sin ((beamWidthDegrees * 3.141592653 / 180.0) / 2.0); + beamScale = new SFVec3f ( defaultRange, defaultRange * beamHeightFactor, defaultRange * beamWidthFactor); +} +function range (newRange, timeStamp) { + beamHeightFactor= Math.sin ((beamHeightDegrees * 3.141592653 / 180.0) / 2.0); + beamWidthFactor = Math.sin ((beamWidthDegrees * 3.141592653 / 180.0) / 2.0); + if (newRange < 0) + { + direction = new SFRotation (0, 1, 0, 3.141592653); + reverseOffset = new SFVec3f (- newRange, 0, 0); + beamScale = new SFVec3f (-newRange, -newRange * beamHeightFactor, -newRange * beamWidthFactor); + } + else if (newRange == 0) + { + direction = new SFRotation (0, 1, 0, 0); + reverseOffset = new SFVec3f (0, 0, 0); + beamScale = new SFVec3f ( .0001, .0001, .0001 ); + } + else + { + direction = new SFRotation (0, 1, 0, 0); + reverseOffset = new SFVec3f (0, 0, 0); + beamScale = new SFVec3f (newRange, newRange * beamHeightFactor, newRange * beamWidthFactor); + } +} +]]> + </Script> + <ROUTE fromField='beamColor' fromNode='DETECTION' toField='emissiveColor' toNode='WIRE_COLOR'/> + <ROUTE fromField='beamColor' fromNode='DETECTION' toField='emissiveColor' toNode='CONE_COLOR'/> + <ROUTE fromField='wireframeChoice' fromNode='DETECTION' toField='whichChoice' toNode='WIREFRAME_SWITCH'/> + <ROUTE fromField='solidChoice' fromNode='DETECTION' toField='whichChoice' toNode='SOLID_SWITCH'/> + <ROUTE fromField='beamScale' fromNode='BEAM_CALCULATE' toField='scale' toNode='BEAM_CONTROL'/> + <ROUTE fromField='direction' fromNode='BEAM_CALCULATE' toField='rotation' toNode='BEAM_CONTROL'/> + <ROUTE fromField='reverseOffset' fromNode='BEAM_CALCULATE' toField='translation' toNode='BEAM_CONTROL'/> + </ProtoBody> + </ProtoDeclare> + <!-- Viewable geometry for this scene is anchored text that links to an example showing ExternProtoDeclare usage of BeamCone --> + <Anchor description='Beam Cone Example' url='"BeamConeExample.x3d" "https://savage.nps.edu/Savage/CommunicationsAndSensors/Beam/BeamConeExample.x3d" "BeamConeExample.wrl" "https://savage.nps.edu/Savage/CommunicationsAndSensors/Beam/BeamConeExample.wrl"'> + <Shape> + <Appearance> + <Material diffuseColor='0 1 1' emissiveColor='0 1 1'/> + </Appearance> + <Text string='"BeamConePrototype" "is a Prototype definition file." "" "To see an example scene" "click this text and view" "BeamConeExample."'> + <FontStyle justify='"MIDDLE" "MIDDLE"'/> + </Text> + </Shape> + <Shape> + <!-- transparent Box as text-selection assist --> + <Box size='11 6 .001'/> + <Appearance> + <Material transparency='1'/> + </Appearance> + </Shape> + </Anchor> + </Scene> +</X3D> \ No newline at end of file -- GitLab