PageSourceSearch

https://docs-vrgeo-version3.netlify.app/assets/js/90bfd407.20837e9f.js

js docs-vrgeo-version3.netlify.app collected 2026-10-03 10:40:18 UTC 7,795 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[4731],{5946(e,t,n){n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>h,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"trees/interp/flight-path","title":"Flight Path","description":"Right-click commands for a flight path in the Interpretation Tree, and the four sub-branches it holds: Viewpoints, Points of Interest, Scenes and Slides.","source":"@site/docs/trees/interp/flight-path.md","sourceDirName":"trees/interp","slug":"/trees/interp/flight-path","permalink":"/docs/next/trees/interp/flight-path","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/docs/trees/interp/flight-path.md","tags":[],"version":"current","sidebarPosition":11,"frontMatter":{"id":"flight-path","title":"Flight Path","description":"Right-click commands for a flight path in the Interpretation Tree, and the four sub-branches it holds: Viewpoints, Points of Interest, Scenes and Slides.","sidebar_label":"Flight Path","sidebar_position":11},"sidebar":"docs","previous":{"title":"Faults","permalink":"/docs/next/trees/interp/faults"},"next":{"title":"Viewpoint (flight path)","permalink":"/docs/next/trees/interp/flight-path-viewpoint"}}');var s=n(74848),r=n(28453);const h={id:"flight-path",title:"Flight Path",description:"Right-click commands for a flight path in the Interpretation Tree, and the four sub-branches it holds: Viewpoints, Points of Interest, Scenes and Slides.",sidebar_label:"Flight Path",sidebar_position:11},o="Flight Path",a={},l=[{value:"Item Context Menu",id:"item-context-menu",level:2},{value:"Actions",id:"actions",level:3}];function c(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"flight-path",children:"Flight Path"})}),"\n",(0,s.jsxs)(t.p,{children:["Right-click commands for a flight path under the ",(0,s.jsx)(t.strong,{children:"Flight Path"})," branch of the ",(0,s.jsx)(t.strong,{children:"Interpretation Tree"}),". The branch header shows the ",(0,s.jsx)(t.a,{href:"/docs/next/trees/interp/standard-menus",children:"standard group menu"}),"."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.em,{children:["Source resources: ",(0,s.jsx)(t.code,{children:"IDR_IT_FLIGHTPATH"}),"."]})}),"\n",(0,s.jsxs)(t.p,{children:["A flight path holds four sub-branches \u2014 ",(0,s.jsx)(t.strong,{children:"Viewpoints"})," (the keyframes),\n",(0,s.jsx)(t.a,{href:"/docs/next/trees/interp/flight-path-poi",children:(0,s.jsx)(t.strong,{children:"Points of Interest"})})," (the places on the outcrop the tour\nis about), ",(0,s.jsx)(t.strong,{children:"Scenes"})," (visibility snapshots) and ",(0,s.jsx)(t.strong,{children:"Slides"})," (the presentation deck).\nIts ",(0,s.jsx)(t.strong,{children:"narration"})," does not appear in the tree: audio clips live on the\n",(0,s.jsx)(t.strong,{children:"Flight Path Timeline"})," panel, which opens automatically when a flight path is\nactive. See the\n",(0,s.jsx)(t.a,{href:"/docs/next/general/viewing-collaboration/flight-path-user-guide",children:"Flight Path User Guide"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"item-context-menu",children:"Item Context Menu"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.em,{children:"Right-click an individual flight path in the Interpretation Tree."})}),"\n",(0,s.jsx)(t.h3,{id:"actions",children:"Actions"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Make Active"})," \u2014 Make this the active flight path, so the ",(0,s.jsx)(t.strong,{children:"Flight Path"})," ribbon tab and the timeline panel act on it. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_PCLPOPUP_MAKEACTIVE"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Copy"})," \u2014 Copy the selection and put it on the Clipboard ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_EDIT_COPY"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Set Frame Count"}
1)," \u2014 Set the frame count on every segment of the path. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_FLIGHTPATH_SETFRAMECOUNT"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Set Duration"})," \u2014 Scale the whole path to a target total duration in seconds, at the project frame rate. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_FLIGHTPATH_SETDURATION"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Scale Duration"})," \u2014 Multiply every segment's frame count by a factor, to speed the whole path up or slow it down. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_FLIGHTPATHVP_SCALEDURATION"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Constant Speed"})," \u2014 Re-pace the path so the camera covers the same distance each frame, measured along the curve it actually flies. The ",(0,s.jsx)(t.strong,{children:"total duration is unchanged"}),", so a duration you have already set \u2014 and any narration timed against it \u2014 still holds. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_FP_CONSTANT_SPEED"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Check Path"})," \u2014 Walk the whole flight and report where the camera passes through the outcrop or too close to it, then offer to nudge the surrounding viewpoints clear. Checks the curve, not just the keyframes. ",(0,s.jsx)(t.strong,{children:"Vulkan view only."})," ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_FP_CHECK_PATH"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Reverse Path"})," \u2014 Fly the path in the opposite direction. Segment durations are re-paired as well as reversed, so the movie keeps its timing rather than every segment inheriting its neighbour's. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_FP_REVERSE"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Delete"})," \u2014 Delete this flight path from the project. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_POPUP_ITEM_DELETE"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Export"})," \u2014 Write the path's viewpoints to a ",(0,s.jsx)(t.strong,{children:"CSV"})," file (",(0,s.jsx)(t.code,{children:"Name, X, Y, Z, Yaw, Pitch, Roll, Near, Far, Frames"})," \u2014 positions in project units, orientations in radians). ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_PROJEXP_EXPORT"}),")"]})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Rename"})," \u2014 Rename this flight path in the project tree. ",(0,s.jsxs)(t.em,{children:["(",(0,s.jsx)(t.code,{children:"ID_ITEM_RENAME"}),")"]})]}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsxs)(t.p,{children:["Durations are computed at the ",(0,s.jsx)(t.strong,{children:"project frame rate"}),", so make sure it matches the\nframe rate you intend to record at before setting one."]})})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},28453(e,t,n){n.d(t,{R:()=>h,x:()=>o});var i=n(96540);const s={},r=i.createContext(s);function h(e){const t=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:h(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.