; ; NOSA HEADER START ; ; The contents of this file are subject to the terms of the NASA Open ; Source Agreement (NOSA), Version 1.3 only (the "Agreement"). You may ; not use this file except in compliance with the Agreement. ; ; You can obtain a copy of the agreement at ; docs/NASA_Open_Source_Agreement_1.3.txt ; or ; http://sscweb.gsfc.nasa.gov/WebServices/NASA_Open_Source_Agreement_1.3.txt. ; ; See the Agreement for the specific language governing permissions ; and limitations under the Agreement. ; ; When distributing Covered Code, include this NOSA HEADER in each ; file and include the Agreement file at ; docs/NASA_Open_Source_Agreement_1.3.txt. If applicable, add the ; following below this NOSA HEADER, with the fields enclosed by ; brackets "[]" replaced with your own identifying information: ; Portions Copyright [yyyy] [name of copyright owner] ; ; NOSA HEADER END ; ; Copyright (c) 2013 United States Government as represented by the ; National Aeronautics and Space Administration. No copyright is claimed ; in the United States under Title 17, U.S.Code. All Other Rights Reserved. ; ; ;+ ; This class is an IDL representation of the ValueOptions ; element from the ; Satellite Situation Center ; (SSC) XML schema. ; ; @copyright Copyright (c) 2013 United States Government as represented ; by the National Aeronautics and Space Administration. No ; copyright is claimed in the United States under Title 17, ; U.S.Code. All Other Rights Reserved. ; ; @author B. Harris ;- ;+ ; Creates an SpdfValueOptions object. ; ; @keyword radialDistance {in} {optional} {type=boolean} {default=false} ; specifies whether the radial distance is to be ; included in the output. ; @keyword bFieldStrength {in} {optional} {type=boolean} {default=false} ; specifies whether the magnetic field strength is to be ; included in the output. ; @keyword dipoleLValue {in} {optional} {type=boolean} {default=false} ; specifies whether the dipole L value is to be included ; in the output. ; @keyword dipoleInvLat {in} {optional} {type=boolean} {default=false} ; specifies whether the dipole invariant latitude is to be ; included in the output. ; @returns reference to an SpdfValueOptions object. ;- function SpdfValueOptions::init, $ radialDistance = radialDistance, $ bFieldStrength = bFieldStrength, $ dipoleLValue = dipoleLValue, $ dipoleInvLat = dipoleInvLat compile_opt idl2 if keyword_set(radialDistance) then begin self.radialDistance = radialDistance endif else begin self.radialDistance = 0b endelse if keyword_set(bFieldStrength) then begin self.bFieldStrength = bFieldStrength endif else begin self.bFieldStrength = 0b endelse if keyword_set(dipoleLValue) then begin self.dipoleLValue = dipoleLValue endif else begin self.dipoleLValue = 0b endelse if keyword_set(dipoleInvLat) then begin self.dipoleInvLat = dipoleInvLat endif else begin self.dipoleInvLat = 0b endelse return, self end ;+ ; Performs cleanup operations when this object is destroyed. ;- pro SpdfValueOptions::cleanup compile_opt idl2 end ;+ ; Gets the radialDistance value. ; ; @returns radialDistance value. ;- function SpdfValueOptions::getRadialDistance compile_opt idl2 return, self.radialDistance end ;+ ; Gets the magnetic field strength value. ; ; @returns magnetic field strength value. ;- function SpdfValueOptions::getBFieldStrength compile_opt idl2 return, self.bFieldStrength end ;+ ; Gets the dipole L value. ; ; @returns dipole L value. ;- function SpdfValueOptions::getDipoleLValue compile_opt idl2 return, self.dipoleLValue end ;+ ; Gets the dipole invariant latitude value. ; ; @returns dipole invariant latitude value. ;- function SpdfValueOptions::getDipoleInvLat compile_opt idl2 return, self.dipoleInvLat end ;+ ; Creates an ValueOptions element using the given XML DOM document ; with the values of this object. ; ; @param doc {in} {type=IDLffXMLDOMDocument} ; document in which to create the DataRequest element. ; @returns a reference to a new IDLffXMLDOMElement representation of ; this object. ;- function SpdfValueOptions::createDomElement, $ doc compile_opt idl2 valueOptionsElement = doc->createElement('ValueOptions') radialDistanceElement = doc->createElement('RadialDistance') ovoid = valueOptionsElement->appendChild(radialDistanceElement) if self.radialDistance eq 1b then begin radialDistanceText = 'true' endif else begin radialDistanceText = 'false' endelse radialDistanceNode = doc->createTextNode(radialDistanceText) ovoid = radialDistanceElement->appendChild(radialDistanceNode) bFieldStrengthElement = doc->createElement('BFieldStrength') ovoid = valueOptionsElement->appendChild(bFieldStrengthElement) if self.bFieldStrength eq 1b then begin bFieldStrengthText = 'true' endif else begin bFieldStrengthText = 'false' endelse bFieldStrengthNode = doc->createTextNode(bFieldStrengthText) ovoid = bFieldStrengthElement->appendChild(bFieldStrengthNode) dipoleLValueElement = doc->createElement('DipoleLValue') ovoid = valueOptionsElement->appendChild(dipoleLValueElement) if self.dipoleLValue eq 1b then begin dipoleLValueText = 'true' endif else begin dipoleLValueText = 'false' endelse dipoleLValueNode = doc->createTextNode(dipoleLValueText) ovoid = dipoleLValueElement->appendChild(dipoleLValueNode) dipoleInvLatElement = doc->createElement('DipoleInvLat') ovoid = valueOptionsElement->appendChild(dipoleInvLatElement) if self.dipoleInvLat eq 1b then begin dipoleInvLatText = 'true' endif else begin dipoleInvLatText = 'false' endelse dipoleInvLatNode = doc->createTextNode(dipoleInvLatText) ovoid = dipoleInvLatElement->appendChild(dipoleInvLatNode) return, valueOptionsElement end ;+ ; Defines the SpdfValueOptions class. ; ; @field radialDistance specifies whether the radial distance is to be ; included in the output. ; @field bFieldStrength specifies whether the magnetic field strength ; is to be included in the output. ; @field dipoleLValue specifies whether the dipole L value is to be ; included in the output. ; @field dipoleInvLat specifies whether the dipole invariant latitude ; is to be included in the output. ;- pro SpdfValueOptions__define compile_opt idl2 struct = { SpdfValueOptions, $ radialDistance:0b, $ bFieldStrength:0b, $ dipoleLValue:0b, $ dipoleInvLat:0b $ } end