Vertical Line of Sight Tool

Created:3/12/2002
Description:

Similar to the Line of Sight tool found on the 3D Analyst toolbar in ArcMap but extended to work in ArcScene with enhanced graphic feedback. It draws a vertical patch along the observer/target line color coded by visibility.

How to use:

    Steps for adding a command/tool from a DLL:

  1. Register the DLL: LineOfSight.dll.
  2. In ArcScene's Customize dialog, click on 'Add from file' and select this sample's dll.
  3. Select the Line of Sight tool under the 3D Developer Samples Category on the Commands tab. Drag and drop it to the desired location in the application's user interface. Dismiss the Customize dialog.

    Using the Tool:

  1. Place a surface in the scene and select it in the 3D toolbar dropdown.
  2. Activate the tool, and on the form that opens optionally set observer and target offsets.
  3. Click once on the surface to set the observer position.
  4. Click again to set the target position.
  5. To better view the resulting graphic you may want to select the 'graphics' layer listed in the 3D Effects toolbar and turn lighting off. Setting some transparency can also be useful.

    Steps for compiling the DLL:

  1. The VB code for this sample makes calls to one or more utility modules that are shared by a number of 3D samples. The shared modules are located in the 'Utilities' folder which is found directly below the main '3D Analyst' ArcObjects sample folder. In order to compile the DLL make sure you have the latest version of the shared modules installed.

Application:
ArcScene

Requires: An ArcScene document containing a surface.

Minimum ArcGIS Version Required: 8.1.2

Difficulty: Beginner


Visual Basic
File Description
LineOfSightTool.cls Implementation of ICommand for this sample.
frmLineOfSight.frm Provides options for offsets and curvature. Also contains reference to icon and cursor graphics for the tool.
LineOfSight.vbp Visual Basic Project file for the tool.
LineOfSight.dll The compiled DLL containing the implementation of the sample.


Key CoClasses: Tin, RasterSurface
Key Interfaces: ISurface
Key Members: ISurface::GetLineOfSight