Panorado FOV - Field of View Display Element
    
   - Extend the capabilities of Panorado JS
   
 
   What is this?
   
      Panorado FOV is a very simple JavaScript-based visual element.
      It displays a wedge-shaped field of view representation
      with varying orientation and width on top of a background image.
      The background image could be, for example, a compass scale, a site map, or a floor map.
      It is primarily intended to add visualization capabilities to the
      Panorado JS viewer, but does not depend on it.
      You can download the uncompressed JavaScript file; it's free of charge.
      To integrate the script into your HTML page, you need to follow these steps:
      
      - Place a <canvas>element with a uniqueidas a placehoder
         for the element within the<body>element.
- Include a reference to the JS file in your page header:
 <script src="js/PanoradoFOV.js"></script>
- Write a JavaScript function to be executed when the page has been loaded
         (window.onloadevent):
 - Initialize the viewer (see the Panorado JS reference).
 - Define aviewer.onImageMovefunction which will update the FOV element's display.
 - Initialize the PanoradoFOV object and set some of its properties like the URL of the background image.
Please have a look at the demo page and its source code!
   
 
   PanoradoFOV class
   
      PanoradoFOV is just an ordinary JavaScript class, with a constructor and some properties.
      The constructor takes a canvas element as an argument:
      fov = new PanoradoFOV(document.querySelector("#fov"));
    
   PanoradoFOV
properties
   
      A PanoradoFOV object supports these properties (all angles in degrees):
      
         
            | version | [get; String] The script's version number. | 
         
            | bkImage | [set, get; String] The URL of the image to be displayed in the background. The image is always stretched to the full size of the
 canvaselement. | 
         
            | ctx | [get; Object] The canvaselement's display context object.
            You can set some of the object's visual properties (see below). | 
         
            | xCenter | [set, get; Num] The distance between the canvaselement's left margin and the FOV wedge's center,
            as a fraction of thecanvaswidth (0..1; default: 0.5). | 
         
            | yCenter | [set, get; Num] The distance between the canvaselement's top margin and the FOV wedge's center,
            as a fraction of thecanvasheight (0..1; default: 0.5). | 
         
            | radius | [set, get; Num] The radius of the FOV 'wedge' (20..x; in pixels).
            If not set, the FOV will extend to the border of the canvaselement. | 
         
            | pan | [set, get; Num] The cardinal direction of the FOV 'wedge' (0..360; in degrees). 0 is up/north.
 Changes are normally triggered by external events like the motion of a viewer.
 | 
         
            | fov | [set, get; Num] The width of the FOV 'wedge' (1..120; in degrees). Changes are normally triggered by external events like the motion of a viewer.
 | 
      
    
   PanoradoFOV.ctx
properties
   
      The display context of a PanoradoFOV object supports these properties:
      
         
            | globalAlpha | [set, get; Num] The opacity of the FOV 'wedge' above the background (0..1). Note that this doesn't affect the background itself!
            Use the
 opacityandbackground-colorstyles of thecanvaselement
            to control the appearance of the whole element. | 
         
            | lineWidth | [set, get; Num] The width of the FOV wedge's outline (in pixels). | 
         
            | strokeStyle | [set, get; String] The color of the  FOV wedge's outline (in CSS notation like '#fff').
 | 
         
            | fillStyle | [set, get; String] The color of the  FOV wedge's area (in CSS notation like '#fff').
 |