::: content
[;{.source}]{.comments} {.source}[; NOSA HEADER START{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; The contents of this file are subject to the terms of the NASA Open {.source}]{.comments} {.source}[; Source Agreement (NOSA), Version 1.3 only (the "Agreement"). You may {.source}]{.comments} {.source}[; not use this file except in compliance with the Agreement.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; You can obtain a copy of the agreement at{.source}]{.comments} {.source}[; docs/NASA_Open_Source_Agreement_1.3.txt{.source}]{.comments} {.source}[; or {.source}]{.comments} {.source}[; http://sscweb.gsfc.nasa.gov/WebServices/NASA_Open_Source_Agreement_1.3.txt.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; See the Agreement for the specific language governing permissions{.source}]{.comments} {.source}[; and limitations under the Agreement.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; When distributing Covered Code, include this NOSA HEADER in each{.source}]{.comments} {.source}[; file and include the Agreement file at {.source}]{.comments} {.source}[; docs/NASA_Open_Source_Agreement_1.3.txt. If applicable, add the {.source}]{.comments} {.source}[; following below this NOSA HEADER, with the fields enclosed by {.source}]{.comments} {.source}[; brackets "[]" replaced with your own identifying information: {.source}]{.comments} {.source}[; Portions Copyright [yyyy] [name of copyright owner]{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; NOSA HEADER END{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; Copyright (c) 2013-2014 United States Government as represented by the {.source}]{.comments} {.source}[; National Aeronautics and Space Administration. No copyright is claimed {.source}]{.comments} {.source}[; in the United States under Title 17, U.S.Code. All Other Rights Reserved.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[;+{.source}]{.comments} {.source}[; This class is an IDL representation of the OutputOptions{.source}]{.comments} {.source}[; element from the{.source}]{.comments} {.source}[; <a href="http://sscweb.gsfc.nasa.gov/">Satellite Situation Center</a>{.source}]{.comments} {.source}[; (SSC) XML schema.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @copyright Copyright (c) 2013-2014 United States Government as {.source}]{.comments} {.source}[; represented by the National Aeronautics and Space Administration.{.source}]{.comments} {.source}[; No copyright is claimed in the United States under Title 17,{.source}]{.comments} {.source}[; U.S.Code. All Other Rights Reserved.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @author B. Harris{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[;+{.source}]{.comments} {.source}[; Creates an SpdfOutputOptions object.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @param coordinateOptions {in} {type=objarr of SpdfCoordinateOptions}{.source}]{.comments} {.source}[; specifies the coordinate options.{.source}]{.comments} {.source}[; @keyword allLocationFilters {in} {optional} {type=boolean} {.source}]{.comments} {.source}[; {default=true}{.source}]{.comments} {.source}[; specifies whether all or just one or more of the{.source}]{.comments} {.source}[; specified location filters must be satisfied.{.source}]{.comments} {.source}[; @keyword regionOptions {in} {optional} {type=SpdfRegionOptions}{.source}]{.comments} {.source}[; specifies the region options.{.source}]{.comments} {.source}[; @keyword valueOptions {in} {optional} {type=SpdfValueOptions}{.source}]{.comments} {.source}[; specifies the value options.{.source}]{.comments} {.source}[; @keyword distanceFromOptions {in} {optional} {.source}]{.comments} {.source}[; {type=SpdfDistanceFromOptions){.source}]{.comments} {.source}[; specifies distance-from options.{.source}]{.comments} {.source}[; @keyword minMaxPoints {in} {optional} {type=int} {default=2}{.source}]{.comments} {.source}[; number of points used to determine minima or maxima {.source}]{.comments} {.source}[; values.{.source}]{.comments} {.source}[; @keyword bFieldTraceOptions {in} {optional} {.source}]{.comments} {.source}[; {type=objarr of SpdfBFieldTraceOptions}{.source}]{.comments} {.source}[; magnetic field trace options{.source}]{.comments} {.source}[; @returns reference to an SpdfOutputOptions object.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::init:source}function SpdfOutputOptions::init, $ coordinateOptions, $ allLocationFilters = allLocationFilters, $ regionOptions = regionOptions, $ valueOptions = valueOptions, $ distanceFromOptions = distanceFromOptions, $ minMaxPoints = minMaxPoints, $ bFieldTraceOptions = bFieldTraceOptions compile_opt idl2 self.coordinateOptions = ptr_new(coordinateOptions) if keyword_set(allLocationFilters) then begin self.allLocationFilters = 1b endif else begin self.allLocationFilters = 0b endelse if keyword_set(regionOptions) then begin self.regionOptions = regionOptions endif if keyword_set(valueOptions) then begin self.valueOptions = valueOptions endif if keyword_set(distanceFromOptions) then begin self.distanceFromOptions = distanceFromOptions endif if keyword_set(minMaxPoints) then begin self.minMaxPoints = minMaxPoints endif else begin self.minMaxPoints = 2 endelse if keyword_set(bFieldTraceOptions) then begin self.bFieldTraceOptions = ptr_new(bFieldTraceOptions) endif return, self end {.source}[;+{.source}]{.comments} {.source}[; Performs cleanup operations when this object is destroyed.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::cleanup:source}pro SpdfOutputOptions::cleanup compile_opt idl2 if ptr_valid(self.coordinateOptions) then begin ptr_free, self.coordinateOptions endif if obj_valid(self.regionOptions) then begin obj_destroy, self.regionOptions endif if obj_valid(self.valueOptions) then begin obj_destroy, self.valueOptions endif if obj_valid(self.distanceFromOptions) then begin obj_destroy, self.distanceFromOptions endif if ptr_valid(self.bFieldTraceOptions) then begin ptr_free, self.bFieldTraceOptions endif end {.source}[;+{.source}]{.comments} {.source}[; Gets the all-location-filters value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns all-location-filters value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::getAllLocationFilters:source}function SpdfOutputOptions::getAllLocationFilters compile_opt idl2 return, self.allLocationFilters end {.source}[;+{.source}]{.comments} {.source}[; Gets the coordinate options value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns objarr of CoordinateOptions or an objarr(1) whose first{.source}]{.comments} {.source}[; element is ~obj_valid().{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::getCoordinateOptions:source}function SpdfOutputOptions::getCoordinateOptions compile_opt idl2 if ptr_valid(self.coordinateOptions) then begin return, *self.coordinateOptions endif else begin return, objarr(1) endelse end {.source}[;+{.source}]{.comments} {.source}[; Gets the region options value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns RegionOptions or a null object reference.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::getRegionOptions:source}function SpdfOutputOptions::getRegionOptions compile_opt idl2 if obj_valid(self.regionOptions) then begin return, self.regionOptions endif else begin return, obj_new() endelse end {.source}[;+{.source}]{.comments} {.source}[; Gets the ValueOptions value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns ValueOptions or a null object reference.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::getValueOptions:source}function SpdfOutputOptions::getValueOptions compile_opt idl2 if obj_valid(self.valueOptions) then begin return, self.valueOptions endif else begin return, obj_new() endelse end {.source}[;+{.source}]{.comments} {.source}[; Gets the DistanceFromOptions value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns DistanceFromOptions value or a null object reference.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::getDistanceFromOptions:source}function SpdfOutputOptions::getDistanceFromOptions compile_opt idl2 if obj_valid(self.distanceFromOptions) then begin return, self.distanceFromOptions endif else begin return, obj_new() endelse end {.source}[;+{.source}]{.comments} {.source}[; Gets the minMaxPoints value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns minMaxPoints value or a null object reference.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::getMinMaxPoints:source}function SpdfOutputOptions::getMinMaxPoints compile_opt idl2 if obj_valid(self.minMaxPoints) then begin return, self.minMaxPoints endif else begin return, obj_new() endelse end {.source}[;+{.source}]{.comments} {.source}[; Gets the BFieldTraceOptions value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns objarr containing BFieldTraceOptions or objarr(1) whose{.source}]{.comments} {.source}[; first element is ~obj_valid.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::getBFieldTraceOptions:source}function SpdfOutputOptions::getBFieldTraceOptions compile_opt idl2 if ptr_valid(self.bFieldTraceOptions) then begin return, *self.bFieldTraceOptions endif else begin return, objarr(1) endelse end {.source}[;+{.source}]{.comments} {.source}[; Creates an OutputOptions element using the given XML DOM document {.source}]{.comments} {.source}[; with the values of this object.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @param doc {in} {type=IDLffXMLDOMDocument}{.source}]{.comments} {.source}[; document in which to create the DataRequest element.{.source}]{.comments} {.source}[; @returns a reference to a new IDLffXMLDOMElement representation of{.source}]{.comments} {.source}[; this object.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions::createDomElement:source}function SpdfOutputOptions::createDomElement, $ doc compile_opt idl2 outputOptionsElement = doc->createElement('OutputOptions') allLocationFiltersElement = doc->createElement('AllLocationFilters') ovoid = outputOptionsElement->appendChild(allLocationFiltersElement) if self.allLocationFilters eq 1b then begin allLocationFiltersText = 'true' endif else begin allLocationFiltersText = 'false' endelse allLocationFilterNode = doc->createTextNode(allLocationFiltersText) ovoid = allLocationFiltersElement->appendChild( $ allLocationFilterNode) if ptr_valid(self.coordinateOptions) then begin for i = 0, n_elements(*self.coordinateOptions) - 1 do begin coordinateOptionsElement = $ ((*self.coordinateOptions)[i])->createDomElement(doc) ovoid = outputOptionsElement->appendChild( $ coordinateOptionsElement) endfor endif if obj_valid(self.regionOptions) then begin regionOptionsElement = $ self.regionOptions->createDomElement(doc) ovoid = outputOptionsElement->appendChild(regionOptionsElement) endif if obj_valid(self.valueOptions) then begin valueOptionsElement = $ self.valueOptions->createDomElement(doc) ovoid = outputOptionsElement->appendChild(valueOptionsElement) endif if obj_valid(self.distanceFromOptions) then begin distanceFromOptionsElement = $ self.distanceFromOptions->createDomElement(doc) ovoid = outputOptionsElement->appendChild( $ distanceFromOptionsElement) endif if ptr_valid(self.bFieldTraceOptions) then begin for i = 0, n_elements(*self.bFieldTraceOptions) - 1 do begin bFieldTraceOptionsElement = $ ((*self.bFieldTraceOptions)[i])->createDomElement(doc) ovoid = outputOptionsElement->appendChild( $ bFieldTraceOptionsElement) endfor endif minMaxPointsElement = doc->createElement('MinMaxPoints') ovoid = outputOptionsElement->appendChild(minMaxPointsElement) minMaxPointsText = $ doc->createTextNode(string(self.minMaxPoints, format='(%"%d")')) ovoid = minMaxPointsElement->appendChild(minMaxPointsText) return, outputOptionsElement end {.source}[;+{.source}]{.comments} {.source}[; Defines the SpdfOutputOptions class.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @field allLocationFilters boolean flag indicating whether all {.source}]{.comments} {.source}[; specified location filters must be true.{.source}]{.comments} {.source}[; @field coordinateOptions coordinate options.{.source}]{.comments} {.source}[; @field regionOptions region options.{.source}]{.comments} {.source}[; @field valueOptions value options.{.source}]{.comments} {.source}[; @field distanceFromOptions distance from options.{.source}]{.comments} {.source}[; @field minMaxPoints number of point to define minimum/maximum.{.source}]{.comments} {.source}[; @field bFieldTraceOptions magnetic field trace options.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfOutputOptions__define:source}pro SpdfOutputOptions__define compile_opt idl2 struct = { SpdfOutputOptions, $ allLocationFilters:1b, $ coordinateOptions:ptr_new(), $ regionOptions:obj_new(), $ valueOptions:obj_new(), $ distanceFromOptions:obj_new(), $ minMaxPoints:2, $ bFieldTraceOptions:ptr_new() $ } end {.source}
:::