#region Disclaimer / License // Copyright (C) 2009, Kenneth Skovhede // http://www.hexad.dk, opensource@hexad.dk // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // #endregion using System; using System.Collections.Generic; namespace OSGeo.MapGuide.MaestroAPI { /// // [System.Xml.Serialization.XmlIncludeAttribute(typeof(SymbolDefinitionBase))] public class CompoundSymbolDefinition : SymbolDefinitionBase { private SimpleSymbolCollection m_simpleSymbol; private ExtendedDataType m_extendedData1; private string m_version = "1.1.0"; /// [System.Xml.Serialization.XmlAttributeAttribute()] [System.ComponentModel.DefaultValueAttribute("1.1.0")] public string version { get { return this.m_version; } set { this.m_version = value; } } /// [System.Xml.Serialization.XmlElementAttribute("SimpleSymbol")] public SimpleSymbolCollection SimpleSymbol { get { return this.m_simpleSymbol; } set { this.m_simpleSymbol = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class SimpleSymbol { private object m_item; private string m_renderingPass = "0"; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("SimpleSymbolDefinition", typeof(SimpleSymbolDefinition))] [System.Xml.Serialization.XmlElementAttribute("ResourceId", typeof(string))] public object Item { get { return this.m_item; } set { this.m_item = value; } } /// [System.ComponentModel.DefaultValueAttribute("0")] public string RenderingPass { get { return this.m_renderingPass; } set { this.m_renderingPass = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class SimpleSymbolDefinition : SymbolDefinitionBase { private GraphicBaseCollection m_graphics; private ResizeBox m_resizeBox; private PointUsage m_pointUsage; private LineUsage m_lineUsage; private AreaUsage m_areaUsage; private ParameterDefinition m_parameterDefinition; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlArrayItemAttribute(typeof(Text), IsNullable=false)] [System.Xml.Serialization.XmlArrayItemAttribute(typeof(Image), IsNullable=false)] [System.Xml.Serialization.XmlArrayItemAttribute(typeof(Path), IsNullable=false)] public GraphicBaseCollection Graphics { get { return this.m_graphics; } set { this.m_graphics = value; } } /// public ResizeBox ResizeBox { get { return this.m_resizeBox; } set { this.m_resizeBox = value; } } /// public PointUsage PointUsage { get { return this.m_pointUsage; } set { this.m_pointUsage = value; } } /// public LineUsage LineUsage { get { return this.m_lineUsage; } set { this.m_lineUsage = value; } } /// public AreaUsage AreaUsage { get { return this.m_areaUsage; } set { this.m_areaUsage = value; } } /// public ParameterDefinition ParameterDefinition { get { return this.m_parameterDefinition; } set { this.m_parameterDefinition = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class Text : GraphicBase { private string m_content; private string m_fontName = "\'Arial\'"; private string m_bold = "false"; private string m_italic = "false"; private string m_underlined = "false"; private string m_overlined = "false"; private string m_obliqueAngle = "0.0"; private string m_trackSpacing = "1.0"; private string m_height = "4.0"; private string m_heightScalable = "true"; private string m_angle = "0.0"; private string m_positionX = "0.0"; private string m_positionY = "0.0"; private string m_horizontalAlignment = "\'Center\'"; private string m_verticalAlignment = "\'Halfline\'"; private string m_justification = "\'FromAlignment\'"; private string m_lineSpacing = "1.05"; private string m_textColor = "ff000000"; private string m_ghostColor; private TextFrame m_frame; private string m_markup = "\'Plain\'"; private ExtendedDataType m_extendedData1; /// public string Content { get { return this.m_content; } set { this.m_content = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Arial\'")] public string FontName { get { return this.m_fontName; } set { this.m_fontName = value; } } /// [System.ComponentModel.DefaultValueAttribute("false")] public string Bold { get { return this.m_bold; } set { this.m_bold = value; } } /// [System.ComponentModel.DefaultValueAttribute("false")] public string Italic { get { return this.m_italic; } set { this.m_italic = value; } } /// [System.ComponentModel.DefaultValueAttribute("false")] public string Underlined { get { return this.m_underlined; } set { this.m_underlined = value; } } /// [System.ComponentModel.DefaultValueAttribute("false")] public string Overlined { get { return this.m_overlined; } set { this.m_overlined = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string ObliqueAngle { get { return this.m_obliqueAngle; } set { this.m_obliqueAngle = value; } } /// [System.ComponentModel.DefaultValueAttribute("1.0")] public string TrackSpacing { get { return this.m_trackSpacing; } set { this.m_trackSpacing = value; } } /// [System.ComponentModel.DefaultValueAttribute("4.0")] public string Height { get { return this.m_height; } set { this.m_height = value; } } /// [System.ComponentModel.DefaultValueAttribute("true")] public string HeightScalable { get { return this.m_heightScalable; } set { this.m_heightScalable = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string Angle { get { return this.m_angle; } set { this.m_angle = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string PositionX { get { return this.m_positionX; } set { this.m_positionX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string PositionY { get { return this.m_positionY; } set { this.m_positionY = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Center\'")] public string HorizontalAlignment { get { return this.m_horizontalAlignment; } set { this.m_horizontalAlignment = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Halfline\'")] public string VerticalAlignment { get { return this.m_verticalAlignment; } set { this.m_verticalAlignment = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'FromAlignment\'")] public string Justification { get { return this.m_justification; } set { this.m_justification = value; } } /// [System.ComponentModel.DefaultValueAttribute("1.05")] public string LineSpacing { get { return this.m_lineSpacing; } set { this.m_lineSpacing = value; } } /// [System.ComponentModel.DefaultValueAttribute("ff000000")] public string TextColor { get { return this.m_textColor; } set { this.m_textColor = value; } } /// public string GhostColor { get { return this.m_ghostColor; } set { this.m_ghostColor = value; } } /// public TextFrame Frame { get { return this.m_frame; } set { this.m_frame = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Plain\'")] public string Markup { get { return this.m_markup; } set { this.m_markup = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class TextFrame { private string m_lineColor; private string m_fillColor; private string m_offsetX = "0.0"; private string m_offsetY = "0.0"; private ExtendedDataType m_extendedData1; /// public string LineColor { get { return this.m_lineColor; } set { this.m_lineColor = value; } } /// public string FillColor { get { return this.m_fillColor; } set { this.m_fillColor = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string OffsetX { get { return this.m_offsetX; } set { this.m_offsetX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string OffsetY { get { return this.m_offsetY; } set { this.m_offsetY = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class ExtendedDataType { private System.Xml.XmlElement[] m_any; /// [System.Xml.Serialization.XmlAnyElementAttribute()] public System.Xml.XmlElement[] Any { get { return this.m_any; } set { this.m_any = value; } } } /// public class Parameter { private string m_identifier; private string m_defaultValue; private string m_displayName; private string m_description; private DataType m_dataType = DataType.String; private ExtendedDataType m_extendedData1; /// public string Identifier { get { return this.m_identifier; } set { this.m_identifier = value; } } /// public string DefaultValue { get { return this.m_defaultValue; } set { this.m_defaultValue = value; } } /// public string DisplayName { get { return this.m_displayName; } set { this.m_displayName = value; } } /// public string Description { get { return this.m_description; } set { this.m_description = value; } } /// [System.ComponentModel.DefaultValueAttribute(DataType.String)] public DataType DataType { get { return this.m_dataType; } set { this.m_dataType = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public enum DataType { /// String, /// Boolean, /// Integer, /// Real, /// Color, /// Angle, /// FillColor, /// LineColor, /// LineWeight, /// Content, /// Markup, /// FontName, /// Bold, /// Italic, /// Underlined, /// Overlined, /// ObliqueAngle, /// TrackSpacing, /// FontHeight, /// HorizontalAlignment, /// VerticalAlignment, /// Justification, /// LineSpacing, /// TextColor, /// GhostColor, /// FrameLineColor, /// FrameFillColor, /// StartOffset, /// EndOffset, /// RepeatX, /// RepeatY, } /// public class ParameterDefinition { private ParameterCollection m_parameter; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("Parameter")] public ParameterCollection Parameter { get { return this.m_parameter; } set { this.m_parameter = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class AreaUsage { private string m_angleControl = "\'FromAngle\'"; private string m_originControl = "\'Global\'"; private string m_clippingControl = "\'Clip\'"; private string m_angle = "0.0"; private string m_originX = "0.0"; private string m_originY = "0.0"; private string m_repeatX = "0.0"; private string m_repeatY = "0.0"; private string m_bufferWidth = "0.0"; private ExtendedDataType m_extendedData1; /// [System.ComponentModel.DefaultValueAttribute("\'FromAngle\'")] public string AngleControl { get { return this.m_angleControl; } set { this.m_angleControl = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Global\'")] public string OriginControl { get { return this.m_originControl; } set { this.m_originControl = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Clip\'")] public string ClippingControl { get { return this.m_clippingControl; } set { this.m_clippingControl = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string Angle { get { return this.m_angle; } set { this.m_angle = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string OriginX { get { return this.m_originX; } set { this.m_originX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string OriginY { get { return this.m_originY; } set { this.m_originY = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string RepeatX { get { return this.m_repeatX; } set { this.m_repeatX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string RepeatY { get { return this.m_repeatY; } set { this.m_repeatY = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string BufferWidth { get { return this.m_bufferWidth; } set { this.m_bufferWidth = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class LineUsage { private string m_angleControl = "\'FromGeometry\'"; private string m_unitsControl = "\'Absolute\'"; private string m_vertexControl = "\'OverlapNone\'"; private string m_angle = "0.0"; private string m_startOffset; private string m_endOffset; private string m_repeat = "0.0"; private string m_vertexAngleLimit = "0.0"; private string m_vertexJoin = "\'Round\'"; private string m_vertexMiterLimit = "5.0"; private Path m_defaultPath; private ExtendedDataType m_extendedData1; /// [System.ComponentModel.DefaultValueAttribute("\'FromGeometry\'")] public string AngleControl { get { return this.m_angleControl; } set { this.m_angleControl = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Absolute\'")] public string UnitsControl { get { return this.m_unitsControl; } set { this.m_unitsControl = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'OverlapNone\'")] public string VertexControl { get { return this.m_vertexControl; } set { this.m_vertexControl = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string Angle { get { return this.m_angle; } set { this.m_angle = value; } } /// public string StartOffset { get { return this.m_startOffset; } set { this.m_startOffset = value; } } /// public string EndOffset { get { return this.m_endOffset; } set { this.m_endOffset = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string Repeat { get { return this.m_repeat; } set { this.m_repeat = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string VertexAngleLimit { get { return this.m_vertexAngleLimit; } set { this.m_vertexAngleLimit = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Round\'")] public string VertexJoin { get { return this.m_vertexJoin; } set { this.m_vertexJoin = value; } } /// [System.ComponentModel.DefaultValueAttribute("5.0")] public string VertexMiterLimit { get { return this.m_vertexMiterLimit; } set { this.m_vertexMiterLimit = value; } } /// public Path DefaultPath { get { return this.m_defaultPath; } set { this.m_defaultPath = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class Path : GraphicBase { private string m_geometry; private string m_fillColor; private string m_lineColor; private string m_lineWeight = "0.0"; private string m_lineWeightScalable = "true"; private string m_lineCap = "\'Round\'"; private string m_lineJoin = "\'Round\'"; private string m_lineMiterLimit = "5.0"; private ExtendedDataType m_extendedData1; /// public string Geometry { get { return this.m_geometry; } set { this.m_geometry = value; } } /// public string FillColor { get { return this.m_fillColor; } set { this.m_fillColor = value; } } /// public string LineColor { get { return this.m_lineColor; } set { this.m_lineColor = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string LineWeight { get { return this.m_lineWeight; } set { this.m_lineWeight = value; } } /// [System.ComponentModel.DefaultValueAttribute("true")] public string LineWeightScalable { get { return this.m_lineWeightScalable; } set { this.m_lineWeightScalable = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Round\'")] public string LineCap { get { return this.m_lineCap; } set { this.m_lineCap = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'Round\'")] public string LineJoin { get { return this.m_lineJoin; } set { this.m_lineJoin = value; } } /// [System.ComponentModel.DefaultValueAttribute("5.0")] public string LineMiterLimit { get { return this.m_lineMiterLimit; } set { this.m_lineMiterLimit = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// [System.Xml.Serialization.XmlIncludeAttribute(typeof(Path))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(Image))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(Text))] public class GraphicBase { private string m_resizeControl = "\'ResizeNone\'"; /// [System.ComponentModel.DefaultValueAttribute("\'ResizeNone\'")] public string ResizeControl { get { return this.m_resizeControl; } set { this.m_resizeControl = value; } } } /// public class Image : GraphicBase { private object m_item; private string m_sizeX = "1.0"; private string m_sizeY = "1.0"; private string m_sizeScalable = "true"; private string m_angle = "0.0"; private string m_positionX = "0.0"; private string m_positionY = "0.0"; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("Content", typeof(System.Byte[]), DataType="base64Binary")] [System.Xml.Serialization.XmlElementAttribute("Reference", typeof(ImageReference))] public object Item { get { return this.m_item; } set { this.m_item = value; } } /// [System.ComponentModel.DefaultValueAttribute("1.0")] public string SizeX { get { return this.m_sizeX; } set { this.m_sizeX = value; } } /// [System.ComponentModel.DefaultValueAttribute("1.0")] public string SizeY { get { return this.m_sizeY; } set { this.m_sizeY = value; } } /// [System.ComponentModel.DefaultValueAttribute("true")] public string SizeScalable { get { return this.m_sizeScalable; } set { this.m_sizeScalable = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string Angle { get { return this.m_angle; } set { this.m_angle = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string PositionX { get { return this.m_positionX; } set { this.m_positionX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string PositionY { get { return this.m_positionY; } set { this.m_positionY = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class ImageReference { private string m_resourceId; private string m_libraryItemName; /// public string ResourceId { get { return this.m_resourceId; } set { this.m_resourceId = value; } } /// public string LibraryItemName { get { return this.m_libraryItemName; } set { this.m_libraryItemName = value; } } } /// public class PointUsage { private string m_angleControl = "\'FromAngle\'"; private string m_angle = "0.0"; private string m_originOffsetX = "0.0"; private string m_originOffsetY = "0.0"; private ExtendedDataType m_extendedData1; /// [System.ComponentModel.DefaultValueAttribute("\'FromAngle\'")] public string AngleControl { get { return this.m_angleControl; } set { this.m_angleControl = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string Angle { get { return this.m_angle; } set { this.m_angle = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string OriginOffsetX { get { return this.m_originOffsetX; } set { this.m_originOffsetX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string OriginOffsetY { get { return this.m_originOffsetY; } set { this.m_originOffsetY = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class ResizeBox { private string m_sizeX = "1.0"; private string m_sizeY = "1.0"; private string m_positionX = "0.0"; private string m_positionY = "0.0"; private string m_growControl = "\'GrowInXYMaintainAspect\'"; private ExtendedDataType m_extendedData1; /// [System.ComponentModel.DefaultValueAttribute("1.0")] public string SizeX { get { return this.m_sizeX; } set { this.m_sizeX = value; } } /// [System.ComponentModel.DefaultValueAttribute("1.0")] public string SizeY { get { return this.m_sizeY; } set { this.m_sizeY = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string PositionX { get { return this.m_positionX; } set { this.m_positionX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string PositionY { get { return this.m_positionY; } set { this.m_positionY = value; } } /// [System.ComponentModel.DefaultValueAttribute("\'GrowInXYMaintainAspect\'")] public string GrowControl { get { return this.m_growControl; } set { this.m_growControl = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// [System.Xml.Serialization.XmlIncludeAttribute(typeof(CompoundSymbolDefinition))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(SimpleSymbolDefinition))] public class SymbolDefinitionBase { private string m_name; private string m_description; /// public string Name { get { return this.m_name; } set { this.m_name = value; } } /// public string Description { get { return this.m_description; } set { this.m_description = value; } } } /// [System.Xml.Serialization.XmlTypeAttribute(TypeName="SimpleSymbolDefinition")] [System.Xml.Serialization.XmlRootAttribute("SimpleSymbolDefinition", Namespace="", IsNullable=false)] public class SimpleSymbolDefinition1 : SimpleSymbolDefinition { private string m_version = "1.1.0"; /// [System.Xml.Serialization.XmlAttributeAttribute()] [System.ComponentModel.DefaultValueAttribute("1.1.0")] public string version { get { return this.m_version; } set { this.m_version = value; } } } /// [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)] public class LayerDefinition : LayerDefinitionType { public static readonly string SchemaName = "LayerDefinition-1.3.0.xsd"; public static readonly string SchemaName1_2 = "LayerDefinition-1.2.0.xsd"; public static readonly string SchemaName1_1 = "LayerDefinition-1.1.0.xsd"; public static readonly string SchemaName1_0 = "LayerDefinition-1.0.0.xsd"; /// /// This is a map that defines what version the properties are introduce at /// private static readonly Dictionary>> m_propertyMapping; /// /// Static initializer for setting the version specific stuff /// static LayerDefinition () { m_propertyMapping = new Dictionary>>(); m_propertyMapping.Add(typeof(SymbolInstance), new Dictionary>()); m_propertyMapping.Add(typeof(PointTypeStyleType), new Dictionary>()); m_propertyMapping.Add(typeof(LineTypeStyleType), new Dictionary>()); m_propertyMapping.Add(typeof(AreaTypeStyleType), new Dictionary>()); m_propertyMapping.Add(typeof(CompositeTypeStyle), new Dictionary>()); //Changes from 1.1 to 1.2 m_propertyMapping[typeof(SymbolInstance)].Add(new Version(1, 2), new List()); m_propertyMapping[typeof(SymbolInstance)][new Version(1,2)].Add("RenderingPass"); m_propertyMapping[typeof(SymbolInstance)][new Version(1, 2)].Add("UsageContext"); m_propertyMapping[typeof(SymbolInstance)][new Version(1, 2)].Add("GeometryContext"); //Changes from 1.2 to 1.3 m_propertyMapping[typeof(PointTypeStyleType)].Add(new Version(1, 3), new List()); m_propertyMapping[typeof(PointTypeStyleType)][new Version(1, 3)].Add("ShowInLegend"); m_propertyMapping[typeof(LineTypeStyleType)].Add(new Version(1, 3), new List()); m_propertyMapping[typeof(LineTypeStyleType)][new Version(1, 3)].Add("ShowInLegend"); m_propertyMapping[typeof(AreaTypeStyleType)].Add(new Version(1, 3), new List()); m_propertyMapping[typeof(AreaTypeStyleType)][new Version(1, 3)].Add("ShowInLegend"); m_propertyMapping[typeof(CompositeTypeStyle)].Add(new Version(1, 3), new List()); m_propertyMapping[typeof(CompositeTypeStyle)][new Version(1, 3)].Add("ShowInLegend"); } public void ConvertLayerDefinitionToVersion(System.Version v) { if (v != new Version(1, 1, 0) && v != new Version(1, 2, 0) && v != new System.Version(1, 3, 0)) throw new Exception("Only LayerDefinition version 1.1 to 1.3 are supported"); ConversionCallbackHelper h = new ConversionCallbackHelper(this, v); Utility.EnumerateObjects(this, new Utility.EnumerateObjectCallback(h.CallbackHandler)); this.version = v.ToString(); } /// /// This class handles the callbacks from the object enumeration, when converting versions /// private class ConversionCallbackHelper { private LayerDefinition m_layer; private Version m_targetVersion; private Version m_sourceVersion; public ConversionCallbackHelper(LayerDefinition layer, Version targetVersion) { m_layer = layer; m_targetVersion = targetVersion; m_sourceVersion = new Version(layer.version); } public void CallbackHandler(object o) { if (o == null) return; //If the registered property is not present in the requested version, move it to extended data //If the registered property is present, move it from extended data, if it exist if (LayerDefinition.m_propertyMapping.ContainsKey(o.GetType())) foreach (KeyValuePair> prop in LayerDefinition.m_propertyMapping[o.GetType()]) { //The property does not exist in the desired version, move it into ExtendedData if (prop.Key > m_targetVersion && prop.Key < m_sourceVersion) { foreach (string propname in prop.Value) { object value; System.Reflection.PropertyInfo pi = o.GetType().GetProperty(propname); System.Reflection.PropertyInfo piSpecified = null; if (pi.PropertyType.IsPrimitive) { piSpecified = o.GetType().GetProperty(prop.Value + "Specified"); if (piSpecified == null || piSpecified.PropertyType != typeof(bool)) value = pi.GetValue(o, null); else if ((bool)piSpecified.GetValue(o, null)) //IsSpecified value = pi.GetValue(o, null); else value = null; } else { value = pi.GetValue(o, null); } System.ComponentModel.DefaultValueAttribute defva = null; //Skip the move if the value has the default value if (value != null) { object[] dfa = pi.GetCustomAttributes(typeof(System.ComponentModel.DefaultValueAttribute), false); if (dfa != null) if (dfa.Length > 1) throw new Exception("Invalid default value component assignment"); else if (dfa.Length == 1) { defva = (System.ComponentModel.DefaultValueAttribute)dfa[0]; if (defva.Value != null && defva.Value.Equals(value)) { value = null; break; } } } if (value != null) { System.Reflection.PropertyInfo pix = o.GetType().GetProperty("ExtendedData1"); ExtendedDataType ext = pix.GetValue(o, null) as ExtendedDataType; if (ext == null) { ext = new ExtendedDataType(); pix.SetValue(o, ext, null); } System.Xml.XmlDocument doc; if (ext.Any == null || ext.Any.Length == 0) doc = new System.Xml.XmlDocument(); else doc = ext.Any[0].OwnerDocument; System.Xml.XmlElement n = doc.CreateElement(propname); if (pi.PropertyType.IsPrimitive || pi.PropertyType == typeof(string)) { if (pi.PropertyType == typeof(bool)) n.InnerText = value.ToString().ToLower(); else n.InnerText = Convert.ToString(value, System.Globalization.CultureInfo.InvariantCulture); } else { System.Xml.Serialization.XmlSerializer sr = new System.Xml.Serialization.XmlSerializer(pi.PropertyType); using (System.IO.StringWriter sw = new System.IO.StringWriter()) { sr.Serialize(sw, value); n.InnerXml = sw.ToString(); } } if (ext.Any == null || ext.Any.Length == 0) ext.Any = new System.Xml.XmlElement[] { n }; else { System.Xml.XmlElement[] tmp = new System.Xml.XmlElement[ext.Any.Length + 1]; Array.Copy(ext.Any, tmp, ext.Any.Length); tmp[tmp.Length - 1] = n; ext.Any = tmp; } //Remove the real value if (piSpecified != null) piSpecified.SetValue(o, false, null); else if (!pi.PropertyType.IsPrimitive) pi.SetValue(o, null, null); else if (defva != null) pi.SetValue(o, defva.Value, null); } } } //The property is introduced, move it from the ExtendedData into the property else if (prop.Key < m_targetVersion && prop.Key > m_sourceVersion) { System.Reflection.PropertyInfo pix = o.GetType().GetProperty("ExtendedData1"); ExtendedDataType ext = pix.GetValue(o, null) as ExtendedDataType; if (ext != null && ext.Any != null && ext.Any.Length > 0) foreach (string propname in prop.Value) foreach (System.Xml.XmlElement x in ext.Any) if (x.Name == propname) { System.Reflection.PropertyInfo pi = o.GetType().GetProperty(propname); if (pi.PropertyType.IsPrimitive || pi.PropertyType == typeof(string)) { pi.SetValue(o, Convert.ChangeType(x.InnerXml, pi.PropertyType), null); System.Reflection.PropertyInfo piSpecified = o.GetType().GetProperty(prop.Value + "Specified"); if (piSpecified != null) piSpecified.SetValue(o, true, null); } else { System.Xml.Serialization.XmlSerializer sr = new System.Xml.Serialization.XmlSerializer(pi.PropertyType); using (System.IO.StringReader rd = new System.IO.StringReader(x.InnerXml)) pi.SetValue(o, sr.Deserialize(rd), null); } if (ext.Any.Length == 1) { //We set the array to empty, and the ExtendedData1 to null, // which allows the itteration to continue on the local copy ext.Any = new System.Xml.XmlElement[0]; pix.SetValue(o, null, null); } else { List items = new List(ext.Any); items.Remove(x); ext.Any = items.ToArray(); } //Prevent further itteration on modified array break; } } } } } [System.Xml.Serialization.XmlAttribute("noNamespaceSchemaLocation", Namespace="http://www.w3.org/2001/XMLSchema-instance")] public string XsdSchema { get { if (m_version == "1.3.0") return SchemaName; if (m_version == "1.2.0") return SchemaName1_2; else if (m_version == "1.1.0") return SchemaName1_1; else return SchemaName1_0; } set { if (value != SchemaName && value != SchemaName1_2 && value != SchemaName1_1 && value != SchemaName1_0) throw new System.Exception("Cannot set the schema name"); } } private string m_resourceId; [System.Xml.Serialization.XmlIgnore()] public string ResourceId { get { return m_resourceId; } set { m_resourceId = value; } } private string m_version = "1.3.0"; /// [System.Xml.Serialization.XmlAttributeAttribute()] //[System.ComponentModel.DefaultValueAttribute("1.0.0")] public string version { get { if (this.m_version == null) m_version = "1.3.0"; return this.m_version; } set { this.m_version = value; } } private ServerConnectionI m_serverConnection; /// /// Gets or sets the connection used in various operations performed on this object /// [System.Xml.Serialization.XmlIgnore()] public ServerConnectionI CurrentConnection { get { return m_serverConnection; } set { m_serverConnection = value; } } /// /// Returns the spatial extent of the data. /// This is calculated by asking the underlying featuresource for the minimum rectangle that /// contains all the features in the specified table. /// /// The envelope for the data in the table public Topology.Geometries.IEnvelope GetSpatialExtent() { return GetSpatialExtent(false); } /// /// Returns the spatial extent of the data. /// This is calculated by asking the underlying featuresource for the minimum rectangle that /// contains all the features in the specified table. If the /// is set to true, and the query fails, the code will attempt to read this information /// from the spatial context information instead. /// /// True to allow reading spatial extents from the spatial context information, if the spatial query fails. /// The envelope for the data in the table public Topology.Geometries.IEnvelope GetSpatialExtent(bool allowFallbackToContextInformation) { if (this.CurrentConnection == null) throw new System.Exception("No server set for object"); if (this.Item as VectorLayerDefinitionType != null) return this.CurrentConnection.GetSpatialExtent(this.Item.ResourceId, (this.Item as VectorLayerDefinitionType).FeatureName, (this.Item as VectorLayerDefinitionType).Geometry, allowFallbackToContextInformation); else if (this.Item as GridLayerDefinitionType != null) return this.CurrentConnection.GetSpatialExtent(this.Item.ResourceId, (this.Item as GridLayerDefinitionType).FeatureName, (this.Item as GridLayerDefinitionType).Geometry, allowFallbackToContextInformation); else return null; } /// /// Returns the cordinate system sepcified by the featuresource. /// Returns null if the coordinate system could not be determined. /// /// The envelope for the data in the table public string GetCordinateSystem() { if (this.CurrentConnection == null) throw new System.Exception("No server set for object"); string featurename; if (this.Item as VectorLayerDefinitionType != null) featurename = (this.Item as VectorLayerDefinitionType).FeatureName; else if (this.Item as GridLayerDefinitionType != null) featurename = (this.Item as GridLayerDefinitionType).FeatureName; else return null; FdoSpatialContextList context = this.CurrentConnection.GetSpatialContextInfo(this.Item.ResourceId, false); if (context == null || context.SpatialContext == null || context.SpatialContext.Count == 0) return null; foreach (FdoSpatialContextListSpatialContext cx in context.SpatialContext) if (Utility.DecodeFDOName(cx.Name) == Utility.DecodeFDOName(featurename)) return cx.CoordinateSystemWkt; return context.SpatialContext[0].CoordinateSystemWkt; } /// /// Returns the spatial extent for the data mathcing the specified filter. /// /// The filter to apply to the data /// The envelope for the data mathcing the specified filter public Topology.Geometries.IEnvelope GetSpatialExtent(string filter) { if (this.CurrentConnection == null) throw new System.Exception("No server set for object"); if (this.Item as VectorLayerDefinitionType != null) return this.CurrentConnection.GetSpatialExtent(this.Item.ResourceId, (this.Item as VectorLayerDefinitionType).FeatureName, (this.Item as VectorLayerDefinitionType).Geometry, filter); else if (this.Item as GridLayerDefinitionType != null) return this.CurrentConnection.GetSpatialExtent(this.Item.ResourceId, (this.Item as GridLayerDefinitionType).FeatureName, (this.Item as GridLayerDefinitionType).Geometry, filter); else return null; } } /// [System.Xml.Serialization.XmlIncludeAttribute(typeof(LayerDefinition))] public class LayerDefinitionType { private BaseLayerDefinitionType m_item; /// [System.Xml.Serialization.XmlElementAttribute("DrawingLayerDefinition", typeof(DrawingLayerDefinitionType))] [System.Xml.Serialization.XmlElementAttribute("VectorLayerDefinition", typeof(VectorLayerDefinitionType))] [System.Xml.Serialization.XmlElementAttribute("GridLayerDefinition", typeof(GridLayerDefinitionType))] public BaseLayerDefinitionType Item { get { return this.m_item; } set { this.m_item = value; } } } /// public class DrawingLayerDefinitionType : BaseLayerDefinitionType { private string m_sheet; private string m_layerFilter; private System.Double m_minScale; private bool m_minScaleSpecified; private System.Double m_maxScale; private bool m_maxScaleSpecified; private ExtendedDataType m_extendedData1; /// public string Sheet { get { return this.m_sheet; } set { this.m_sheet = value; } } /// public string LayerFilter { get { return this.m_layerFilter; } set { this.m_layerFilter = value; } } /// public System.Double MinScale { get { return this.m_minScale; } set { this.m_minScale = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool MinScaleSpecified { get { return this.m_minScaleSpecified; } set { this.m_minScaleSpecified = value; } } /// public System.Double MaxScale { get { return this.m_maxScale; } set { this.m_maxScale = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool MaxScaleSpecified { get { return this.m_maxScaleSpecified; } set { this.m_maxScaleSpecified = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// [System.Xml.Serialization.XmlIncludeAttribute(typeof(VectorLayerDefinitionType))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(GridLayerDefinitionType))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(DrawingLayerDefinitionType))] public class BaseLayerDefinitionType { private string m_resourceId; private System.Double m_opacity; private bool m_opacitySpecified; /// public string ResourceId { get { return this.m_resourceId; } set { this.m_resourceId = value; } } /// public System.Double Opacity { get { return this.m_opacity; } set { this.m_opacity = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool OpacitySpecified { get { return this.m_opacitySpecified; } set { this.m_opacitySpecified = value; } } } /// public class VectorLayerDefinitionType : BaseLayerDefinitionType { private string m_featureName; private FeatureNameType m_featureNameType; private string m_filter; private NameStringPairTypeCollection m_propertyMapping; private string m_geometry; private string m_url; private string m_toolTip; private VectorScaleRangeTypeCollection m_vectorScaleRange; private ExtendedDataType m_extendedData1; /// public string FeatureName { get { return this.m_featureName; } set { this.m_featureName = value; } } /// public FeatureNameType FeatureNameType { get { return this.m_featureNameType; } set { this.m_featureNameType = value; } } /// public string Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// [System.Xml.Serialization.XmlElementAttribute("PropertyMapping")] public NameStringPairTypeCollection PropertyMapping { get { return this.m_propertyMapping; } set { this.m_propertyMapping = value; } } /// public string Geometry { get { return this.m_geometry; } set { this.m_geometry = value; } } /// public string Url { get { return this.m_url; } set { this.m_url = value; } } /// public string ToolTip { get { return this.m_toolTip; } set { this.m_toolTip = value; } } /// [System.Xml.Serialization.XmlElementAttribute("VectorScaleRange")] public VectorScaleRangeTypeCollection VectorScaleRange { get { return this.m_vectorScaleRange; } set { this.m_vectorScaleRange = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public enum FeatureNameType { /// FeatureClass, /// NamedExtension, } /// public class NameStringPairType { private string m_name; private string m_value; private ExtendedDataType m_extendedData1; /// public string Name { get { return this.m_name; } set { this.m_name = value; } } /// public string Value { get { return this.m_value; } set { this.m_value = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class VectorScaleRangeType { private System.Double m_minScale; private bool m_minScaleSpecified; private System.Double m_maxScale; private bool m_maxScaleSpecified; private System.Collections.ArrayList m_items; private ElevationSettingsType m_elevationSettings; private ExtendedDataType m_extendedData1; /// public System.Double MinScale { get { return this.m_minScale; } set { this.m_minScale = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool MinScaleSpecified { get { return this.m_minScaleSpecified; } set { this.m_minScaleSpecified = value; } } /// public System.Double MaxScale { get { return this.m_maxScale; } set { this.m_maxScale = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool MaxScaleSpecified { get { return this.m_maxScaleSpecified; } set { this.m_maxScaleSpecified = value; } } /// [System.Xml.Serialization.XmlElementAttribute("CompositeTypeStyle", typeof(CompositeTypeStyle))] [System.Xml.Serialization.XmlElementAttribute("PointTypeStyle", typeof(PointTypeStyleType))] [System.Xml.Serialization.XmlElementAttribute("LineTypeStyle", typeof(LineTypeStyleType))] [System.Xml.Serialization.XmlElementAttribute("AreaTypeStyle", typeof(AreaTypeStyleType))] public System.Collections.ArrayList Items { get { return this.m_items; } set { this.m_items = value; } } /// public ElevationSettingsType ElevationSettings { get { return this.m_elevationSettings; } set { this.m_elevationSettings = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class CompositeTypeStyle { private CompositeRuleCollection m_compositeRule; private bool m_showInLegend = true; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("CompositeRule")] public CompositeRuleCollection CompositeRule { get { return this.m_compositeRule; } set { this.m_compositeRule = value; } } /// [System.ComponentModel.DefaultValue(true)] public bool ShowInLegend { get { return this.m_showInLegend; } set { this.m_showInLegend = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class CompositeRule { private string m_legendLabel; private string m_filter; private CompositeSymbolization m_compositeSymbolization; private ExtendedDataType m_extendedData1; /// public string LegendLabel { get { return this.m_legendLabel; } set { this.m_legendLabel = value; } } /// public string Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// public CompositeSymbolization CompositeSymbolization { get { return this.m_compositeSymbolization; } set { this.m_compositeSymbolization = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class CompositeSymbolization { private SymbolInstanceCollection m_symbolInstance; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("SymbolInstance")] public SymbolInstanceCollection SymbolInstance { get { return this.m_symbolInstance; } set { this.m_symbolInstance = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class SymbolInstance { private object m_item; private ParameterOverrides m_parameterOverrides; private string m_scaleX = "1.0"; private string m_scaleY = "1.0"; private string m_insertionOffsetX = "0.0"; private string m_insertionOffsetY = "0.0"; private SizeContextType m_sizeContext = SizeContextType.DeviceUnits; private string m_drawLast = "false"; private string m_checkExclusionRegion = "false"; private string m_addToExclusionRegion = "false"; private string m_positioningAlgorithm; private string m_renderingPass = "0"; private UsageContextType m_usageContext = UsageContextType.Unspecified; private GeometryContextType m_geometryContext = GeometryContextType.Unspecified; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("CompoundSymbolDefinition", typeof(CompoundSymbolDefinition))] [System.Xml.Serialization.XmlElementAttribute("SimpleSymbolDefinition", typeof(SimpleSymbolDefinition))] [System.Xml.Serialization.XmlElementAttribute("ResourceId", typeof(string))] public object Item { get { return this.m_item; } set { this.m_item = value; } } /// public ParameterOverrides ParameterOverrides { get { return this.m_parameterOverrides; } set { this.m_parameterOverrides = value; } } /// [System.ComponentModel.DefaultValueAttribute("1.0")] public string ScaleX { get { return this.m_scaleX; } set { this.m_scaleX = value; } } /// [System.ComponentModel.DefaultValueAttribute("1.0")] public string ScaleY { get { return this.m_scaleY; } set { this.m_scaleY = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string InsertionOffsetX { get { return this.m_insertionOffsetX; } set { this.m_insertionOffsetX = value; } } /// [System.ComponentModel.DefaultValueAttribute("0.0")] public string InsertionOffsetY { get { return this.m_insertionOffsetY; } set { this.m_insertionOffsetY = value; } } /// [System.ComponentModel.DefaultValueAttribute(SizeContextType.DeviceUnits)] public SizeContextType SizeContext { get { return this.m_sizeContext; } set { this.m_sizeContext = value; } } /// [System.ComponentModel.DefaultValueAttribute("false")] public string DrawLast { get { return this.m_drawLast; } set { this.m_drawLast = value; } } /// [System.ComponentModel.DefaultValueAttribute("false")] public string CheckExclusionRegion { get { return this.m_checkExclusionRegion; } set { this.m_checkExclusionRegion = value; } } /// [System.ComponentModel.DefaultValueAttribute("false")] public string AddToExclusionRegion { get { return this.m_addToExclusionRegion; } set { this.m_addToExclusionRegion = value; } } /// public string PositioningAlgorithm { get { return this.m_positioningAlgorithm; } set { this.m_positioningAlgorithm = value; } } /// [System.ComponentModel.DefaultValueAttribute("0")] public string RenderingPass { get { return this.m_renderingPass; } set { this.m_renderingPass = value; } } /// [System.ComponentModel.DefaultValueAttribute(UsageContextType.Unspecified)] public UsageContextType UsageContext { get { return this.m_usageContext; } set { this.m_usageContext = value; } } /// [System.ComponentModel.DefaultValueAttribute(GeometryContextType.Unspecified)] public GeometryContextType GeometryContext { get { return this.m_geometryContext; } set { this.m_geometryContext = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class ParameterOverrides { private OverrideCollection m_override; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("Override")] public OverrideCollection Override { get { return this.m_override; } set { this.m_override = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class Override { private string m_symbolName; private string m_parameterIdentifier; private string m_parameterValue; private ThemeLabel m_themeLabel; private ExtendedDataType m_extendedData1; /// public string SymbolName { get { return this.m_symbolName; } set { this.m_symbolName = value; } } /// public string ParameterIdentifier { get { return this.m_parameterIdentifier; } set { this.m_parameterIdentifier = value; } } /// public string ParameterValue { get { return this.m_parameterValue; } set { this.m_parameterValue = value; } } /// public ThemeLabel ThemeLabel { get { return this.m_themeLabel; } set { this.m_themeLabel = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class ThemeLabel { private string m_description; private string m_categoryFormat; private ExtendedDataType m_extendedData1; /// public string Description { get { return this.m_description; } set { this.m_description = value; } } /// public string CategoryFormat { get { return this.m_categoryFormat; } set { this.m_categoryFormat = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public enum SizeContextType { Default, /// MappingUnits, /// DeviceUnits, } /// public enum UsageContextType { /// Unspecified, /// Point, /// Line, /// Area, } /// public enum GeometryContextType { /// Unspecified, /// Point, /// LineString, /// Polygon, } /// public class PointTypeStyleType { private bool m_displayAsText; private bool m_allowOverpost; private bool m_showInLegend = true; private PointRuleTypeCollection m_pointRule; private ExtendedDataType m_extendedData1; /// public bool DisplayAsText { get { return this.m_displayAsText; } set { this.m_displayAsText = value; } } /// [System.ComponentModel.DefaultValue(true)] public bool ShowInLegend { get { return this.m_showInLegend; } set { this.m_showInLegend = value; } } /// public bool AllowOverpost { get { return this.m_allowOverpost; } set { this.m_allowOverpost = value; } } /// [System.Xml.Serialization.XmlElementAttribute("PointRule")] public PointRuleTypeCollection PointRule { get { return this.m_pointRule; } set { this.m_pointRule = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class PointRuleType { private string m_legendLabel; private string m_filter; private TextSymbolType m_label; private PointSymbolization2DType m_item; private ExtendedDataType m_extendedData1; /// public string LegendLabel { get { return this.m_legendLabel; } set { this.m_legendLabel = value; } } /// public string Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// public TextSymbolType Label { get { return this.m_label; } set { this.m_label = value; } } /// [System.Xml.Serialization.XmlElementAttribute("PointSymbolization2D")] public PointSymbolization2DType Item { get { return this.m_item; } set { this.m_item = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class TextSymbolType : SymbolType { private string m_text; private string m_fontName; private string m_foregroundColor; private string m_backgroundColor; private BackgroundStyleType m_backgroundStyle; private string m_horizontalAlignment; private string m_verticalAlignment; private string m_bold; private string m_italic; private string m_underlined; private TextSymbolTypeAdvancedPlacement m_advancedPlacement; private ExtendedDataType m_extendedData1; /// public string Text { get { return this.m_text; } set { this.m_text = value; } } /// public string FontName { get { return this.m_fontName; } set { this.m_fontName = value; } } [System.Xml.Serialization.XmlElementAttribute("ForegroundColor")] public string ForegroundColorAsHTML { get { return this.m_foregroundColor; } set { this.m_foregroundColor = value; } } [System.Xml.Serialization.XmlIgnoreAttribute()] public System.Drawing.Color ForegroundColor { get { return this.m_foregroundColor == null ? System.Drawing.Color.Black : Utility.ParseHTMLColor(this.m_foregroundColor); } set { this.m_foregroundColor = Utility.SerializeHTMLColor(value, true); } } [System.Xml.Serialization.XmlElementAttribute("BackgroundColor")] public string BackgroundColorAsHTML { get { return this.m_backgroundColor; } set { this.m_backgroundColor = value; } } [System.Xml.Serialization.XmlIgnoreAttribute()] public System.Drawing.Color BackgroundColor { get { return this.m_backgroundColor == null ? System.Drawing.Color.Transparent : Utility.ParseHTMLColor(this.m_backgroundColor); } set { this.m_backgroundColor = Utility.SerializeHTMLColor(value, true); } } /// public BackgroundStyleType BackgroundStyle { get { return this.m_backgroundStyle; } set { this.m_backgroundStyle = value; } } /// public string HorizontalAlignment { get { return this.m_horizontalAlignment; } set { this.m_horizontalAlignment = value; } } /// public string VerticalAlignment { get { return this.m_verticalAlignment; } set { this.m_verticalAlignment = value; } } /// public string Bold { get { return this.m_bold; } set { this.m_bold = value; } } /// public string Italic { get { return this.m_italic; } set { this.m_italic = value; } } /// public string Underlined { get { return this.m_underlined; } set { this.m_underlined = value; } } /// public TextSymbolTypeAdvancedPlacement AdvancedPlacement { get { return this.m_advancedPlacement; } set { this.m_advancedPlacement = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public enum BackgroundStyleType { /// Transparent, /// Opaque, /// Ghosted, } /// public class TextSymbolTypeAdvancedPlacement { private System.Double m_scaleLimit; private bool m_scaleLimitSpecified; /// public System.Double ScaleLimit { get { return this.m_scaleLimit; } set { this.m_scaleLimit = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool ScaleLimitSpecified { get { return this.m_scaleLimitSpecified; } set { this.m_scaleLimitSpecified = value; } } } /// [System.Xml.Serialization.XmlIncludeAttribute(typeof(MarkSymbolType))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(W2DSymbolType))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(BlockSymbolType))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(TextSymbolType))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(FontSymbolType))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(ImageSymbolType))] public class SymbolType { private LengthUnitType m_unit; private SizeContextType m_sizeContext; private string m_sizeX; private string m_sizeY; private string m_rotation; private bool m_maintainAspect = true; private string m_insertionPointX = "0.5"; private string m_insertionPointY = "0.5"; /// public LengthUnitType Unit { get { return this.m_unit; } set { this.m_unit = value; } } /// [System.ComponentModel.DefaultValue(SizeContextType.Default)] public SizeContextType SizeContext { get { return this.m_sizeContext; } set { this.m_sizeContext = value; } } /// public string SizeX { get { return this.m_sizeX; } set { this.m_sizeX = value; } } /// public string SizeY { get { return this.m_sizeY; } set { this.m_sizeY = value; } } /// public string Rotation { get { return this.m_rotation; } set { this.m_rotation = value; } } /// [System.ComponentModel.DefaultValue(true)] public bool MaintainAspect { get { return this.m_maintainAspect; } set { this.m_maintainAspect = value; } } /// [System.ComponentModel.DefaultValue("0.5")] public string InsertionPointX { get { return this.m_insertionPointX; } set { this.m_insertionPointX = value; } } /// [System.ComponentModel.DefaultValue("0.5")] public string InsertionPointY { get { return this.m_insertionPointY; } set { this.m_insertionPointY = value; } } } /// public enum LengthUnitType { /// Millimeters, /// Centimeters, /// Meters, /// Kilometers, /// Inches, /// Feet, /// Yards, /// Miles, /// Points, } /// public class MarkSymbolType : SymbolType { private ShapeType m_shape; private FillType m_fill; private StrokeType m_edge; private ExtendedDataType m_extendedData1; /// public ShapeType Shape { get { return this.m_shape; } set { this.m_shape = value; } } /// public FillType Fill { get { return this.m_fill; } set { this.m_fill = value; } } /// public StrokeType Edge { get { return this.m_edge; } set { this.m_edge = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public enum ShapeType { /// Square, /// Circle, /// Triangle, /// Star, /// Cross, /// X, } /// public class FillType { private string m_fillPattern; private string m_foregroundColor; private string m_backgroundColor; private ExtendedDataType m_extendedData1; /// public string FillPattern { get { return this.m_fillPattern; } set { this.m_fillPattern = value; } } [System.Xml.Serialization.XmlElementAttribute("ForegroundColor")] public string ForegroundColorAsHTML { get { return this.m_foregroundColor; } set { this.m_foregroundColor = value; } } [System.Xml.Serialization.XmlIgnoreAttribute()] public System.Drawing.Color ForegroundColor { get { return this.m_foregroundColor == null ? System.Drawing.Color.Black : Utility.ParseHTMLColor(this.m_foregroundColor); } set { this.m_foregroundColor = Utility.SerializeHTMLColor(value, true); } } [System.Xml.Serialization.XmlElementAttribute("BackgroundColor")] public string BackgroundColorAsHTML { get { return this.m_backgroundColor; } set { this.m_backgroundColor = value; } } [System.Xml.Serialization.XmlIgnoreAttribute()] public System.Drawing.Color BackgroundColor { get { return this.m_backgroundColor == null ? System.Drawing.Color.Transparent : Utility.ParseHTMLColor(this.m_backgroundColor); } set { this.m_backgroundColor = Utility.SerializeHTMLColor(value, true); } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class StrokeType { private string m_lineStyle; private string m_thickness; private string m_color; private LengthUnitType m_unit; private SizeContextType m_sizeContext; private ExtendedDataType m_extendedData1; /// public string LineStyle { get { return this.m_lineStyle; } set { this.m_lineStyle = value; } } /// public string Thickness { get { return this.m_thickness; } set { this.m_thickness = value; } } [System.Xml.Serialization.XmlElementAttribute("Color")] public string ColorAsHTML { get { return this.m_color; } set { this.m_color = value; } } [System.Xml.Serialization.XmlIgnoreAttribute()] public System.Drawing.Color Color { get { return Utility.ParseHTMLColor(this.m_color); } set { this.m_color = Utility.SerializeHTMLColor(value, true); } } /// public LengthUnitType Unit { get { return this.m_unit; } set { this.m_unit = value; } } /// [System.ComponentModel.DefaultValue(SizeContextType.Default)] public SizeContextType SizeContext { get { return this.m_sizeContext; } set { this.m_sizeContext = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class W2DSymbolType : SymbolType { private W2DSymbolTypeW2DSymbol m_w2DSymbol; private string m_fillColor; private string m_lineColor; private string m_textColor; private ExtendedDataType m_extendedData1; /// public W2DSymbolTypeW2DSymbol W2DSymbol { get { return this.m_w2DSymbol; } set { this.m_w2DSymbol = value; } } /// public string FillColor { get { return this.m_fillColor; } set { this.m_fillColor = value; } } /// public string LineColor { get { return this.m_lineColor; } set { this.m_lineColor = value; } } /// public string TextColor { get { return this.m_textColor; } set { this.m_textColor = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class W2DSymbolTypeW2DSymbol { private object m_resourceId; private object m_libraryItemName; /// public object ResourceId { get { return this.m_resourceId; } set { this.m_resourceId = value; } } /// public object LibraryItemName { get { return this.m_libraryItemName; } set { this.m_libraryItemName = value; } } } /// public class BlockSymbolType : SymbolType { private string m_drawingName; private string m_blockName; private string m_blockColor; private string m_layerColor; private ExtendedDataType m_extendedData1; /// public string DrawingName { get { return this.m_drawingName; } set { this.m_drawingName = value; } } /// public string BlockName { get { return this.m_blockName; } set { this.m_blockName = value; } } /// public string BlockColor { get { return this.m_blockColor; } set { this.m_blockColor = value; } } /// public string LayerColor { get { return this.m_layerColor; } set { this.m_layerColor = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class FontSymbolType : SymbolType { private string m_fontName; private string m_character; private bool m_bold; private bool m_boldSpecified; private bool m_italic; private bool m_italicSpecified; private bool m_underlined; private bool m_underlinedSpecified; private string m_foregroundColor; private ExtendedDataType m_extendedData1; /// public string FontName { get { return this.m_fontName; } set { this.m_fontName = value; } } /// public string Character { get { return this.m_character; } set { this.m_character = value; } } /// public bool Bold { get { return this.m_bold; } set { this.m_bold = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool BoldSpecified { get { return this.m_boldSpecified; } set { this.m_boldSpecified = value; } } /// public bool Italic { get { return this.m_italic; } set { this.m_italic = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool ItalicSpecified { get { return this.m_italicSpecified; } set { this.m_italicSpecified = value; } } /// public bool Underlined { get { return this.m_underlined; } set { this.m_underlined = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool UnderlinedSpecified { get { return this.m_underlinedSpecified; } set { this.m_underlinedSpecified = value; } } /// [System.Xml.Serialization.XmlElementAttribute("ForegroundColor")] public string ForegroundColorAsHTML { get { return this.m_foregroundColor; } set { this.m_foregroundColor = value; } } [System.Xml.Serialization.XmlIgnoreAttribute()] public System.Drawing.Color ForegroundColor { get { return this.m_foregroundColor == null ? System.Drawing.Color.Black : Utility.ParseHTMLColor(this.m_foregroundColor); } set { this.m_foregroundColor = Utility.SerializeHTMLColor(value, true); } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class ImageSymbolType : SymbolType { private object m_item; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("Image", typeof(ImageSymbolTypeImage))] [System.Xml.Serialization.XmlElementAttribute("Content", typeof(System.Byte[]), DataType="hexBinary")] public object Item { get { return this.m_item; } set { this.m_item = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class ImageSymbolTypeImage { private object m_resourceId; private object m_libraryItemName; /// public object ResourceId { get { return this.m_resourceId; } set { this.m_resourceId = value; } } /// public object LibraryItemName { get { return this.m_libraryItemName; } set { this.m_libraryItemName = value; } } } /// public class PointSymbolization2DType { private SymbolType m_item; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("Font", typeof(FontSymbolType))] [System.Xml.Serialization.XmlElementAttribute("W2D", typeof(W2DSymbolType))] [System.Xml.Serialization.XmlElementAttribute("Image", typeof(ImageSymbolType))] [System.Xml.Serialization.XmlElementAttribute("Mark", typeof(MarkSymbolType))] [System.Xml.Serialization.XmlElementAttribute("Block", typeof(BlockSymbolType))] public SymbolType Item { get { return this.m_item; } set { this.m_item = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class LineTypeStyleType { private LineRuleTypeCollection m_lineRule; private bool m_showInLegend = true; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("LineRule")] public LineRuleTypeCollection LineRule { get { return this.m_lineRule; } set { this.m_lineRule = value; } } /// [System.ComponentModel.DefaultValue(true)] public bool ShowInLegend { get { return this.m_showInLegend; } set { this.m_showInLegend = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class LineRuleType { private string m_legendLabel; private string m_filter; private TextSymbolType m_label; private StrokeTypeCollection m_items; private ExtendedDataType m_extendedData1; /// public string LegendLabel { get { return this.m_legendLabel; } set { this.m_legendLabel = value; } } /// public string Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// public TextSymbolType Label { get { return this.m_label; } set { this.m_label = value; } } /// [System.Xml.Serialization.XmlElementAttribute("LineSymbolization2D")] public StrokeTypeCollection Items { get { return this.m_items; } set { this.m_items = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class AreaTypeStyleType { private AreaRuleTypeCollection m_areaRule; private bool m_showInLegend = true; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("AreaRule")] public AreaRuleTypeCollection AreaRule { get { return this.m_areaRule; } set { this.m_areaRule = value; } } /// [System.ComponentModel.DefaultValue(true)] public bool ShowInLegend { get { return this.m_showInLegend; } set { this.m_showInLegend = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class AreaRuleType { private string m_legendLabel; private string m_filter; private TextSymbolType m_label; private AreaSymbolizationFillType m_item; private ExtendedDataType m_extendedData1; /// public string LegendLabel { get { return this.m_legendLabel; } set { this.m_legendLabel = value; } } /// public string Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// public TextSymbolType Label { get { return this.m_label; } set { this.m_label = value; } } /// [System.Xml.Serialization.XmlElementAttribute("AreaSymbolization2D")] public AreaSymbolizationFillType Item { get { return this.m_item; } set { this.m_item = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class AreaSymbolizationFillType : AreaSymbolizationType { private FillType m_fill; private StrokeType m_stroke; private ExtendedDataType m_extendedData1; /// public FillType Fill { get { return this.m_fill; } set { this.m_fill = value; } } /// public StrokeType Stroke { get { return this.m_stroke; } set { this.m_stroke = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// [System.Xml.Serialization.XmlIncludeAttribute(typeof(AreaSymbolizationFillType))] public class AreaSymbolizationType { } /// public class ElevationSettingsType { private string m_zOffset; private string m_zExtrusion; private ElevationTypeType m_zOffsetType; private bool m_zOffsetTypeSpecified; private LengthUnitType m_unit; private bool m_unitSpecified; private ExtendedDataType m_extendedData1; /// public string ZOffset { get { return this.m_zOffset; } set { this.m_zOffset = value; } } /// public string ZExtrusion { get { return this.m_zExtrusion; } set { this.m_zExtrusion = value; } } /// public ElevationTypeType ZOffsetType { get { return this.m_zOffsetType; } set { this.m_zOffsetType = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool ZOffsetTypeSpecified { get { return this.m_zOffsetTypeSpecified; } set { this.m_zOffsetTypeSpecified = value; } } /// public LengthUnitType Unit { get { return this.m_unit; } set { this.m_unit = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool UnitSpecified { get { return this.m_unitSpecified; } set { this.m_unitSpecified = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public enum ElevationTypeType { /// RelativeToGround, /// Absolute, } /// public class GridLayerDefinitionType : BaseLayerDefinitionType { private string m_featureName; private string m_geometry; private string m_filter; private GridScaleRangeTypeCollection m_gridScaleRange; private ExtendedDataType m_extendedData1; /// public string FeatureName { get { return this.m_featureName; } set { this.m_featureName = value; } } /// public string Geometry { get { return this.m_geometry; } set { this.m_geometry = value; } } /// public string Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// [System.Xml.Serialization.XmlElementAttribute("GridScaleRange")] public GridScaleRangeTypeCollection GridScaleRange { get { return this.m_gridScaleRange; } set { this.m_gridScaleRange = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class GridScaleRangeType { private System.Double m_minScale; private bool m_minScaleSpecified; private System.Double m_maxScale; private bool m_maxScaleSpecified; private GridSurfaceStyleType m_surfaceStyle; private GridColorStyleType m_colorStyle; private System.Double m_rebuildFactor; private ExtendedDataType m_extendedData1; /// public System.Double MinScale { get { return this.m_minScale; } set { this.m_minScale = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool MinScaleSpecified { get { return this.m_minScaleSpecified; } set { this.m_minScaleSpecified = value; } } /// public System.Double MaxScale { get { return this.m_maxScale; } set { this.m_maxScale = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool MaxScaleSpecified { get { return this.m_maxScaleSpecified; } set { this.m_maxScaleSpecified = value; } } /// public GridSurfaceStyleType SurfaceStyle { get { return this.m_surfaceStyle; } set { this.m_surfaceStyle = value; } } /// public GridColorStyleType ColorStyle { get { return this.m_colorStyle; } set { this.m_colorStyle = value; } } /// public System.Double RebuildFactor { get { return this.m_rebuildFactor; } set { this.m_rebuildFactor = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class GridSurfaceStyleType { private string m_band; private System.Double m_zeroValue; private bool m_zeroValueSpecified; private System.Double m_scaleFactor; private bool m_scaleFactorSpecified; private string m_defaultColor; private ExtendedDataType m_extendedData1; /// public string Band { get { return this.m_band; } set { this.m_band = value; } } /// public System.Double ZeroValue { get { return this.m_zeroValue; } set { this.m_zeroValue = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool ZeroValueSpecified { get { return this.m_zeroValueSpecified; } set { this.m_zeroValueSpecified = value; } } /// public System.Double ScaleFactor { get { return this.m_scaleFactor; } set { this.m_scaleFactor = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool ScaleFactorSpecified { get { return this.m_scaleFactorSpecified; } set { this.m_scaleFactorSpecified = value; } } /// public string DefaultColor { get { return this.m_defaultColor; } set { this.m_defaultColor = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class GridColorStyleType { private HillShadeType m_hillShade; private object m_transparencyColor; private System.Double m_brightnessFactor; private bool m_brightnessFactorSpecified; private System.Double m_contrastFactor; private bool m_contrastFactorSpecified; private GridColorRuleTypeCollection m_colorRule; private ExtendedDataType m_extendedData1; /// public HillShadeType HillShade { get { return this.m_hillShade; } set { this.m_hillShade = value; } } /// public object TransparencyColor { get { return this.m_transparencyColor; } set { this.m_transparencyColor = value; } } /// public System.Double BrightnessFactor { get { return this.m_brightnessFactor; } set { this.m_brightnessFactor = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool BrightnessFactorSpecified { get { return this.m_brightnessFactorSpecified; } set { this.m_brightnessFactorSpecified = value; } } /// public System.Double ContrastFactor { get { return this.m_contrastFactor; } set { this.m_contrastFactor = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool ContrastFactorSpecified { get { return this.m_contrastFactorSpecified; } set { this.m_contrastFactorSpecified = value; } } /// [System.Xml.Serialization.XmlElementAttribute("ColorRule")] public GridColorRuleTypeCollection ColorRule { get { return this.m_colorRule; } set { this.m_colorRule = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class HillShadeType { private string m_band; private System.Double m_azimuth; private System.Double m_altitude; private System.Double m_scaleFactor; private bool m_scaleFactorSpecified; private ExtendedDataType m_extendedData1; /// public string Band { get { return this.m_band; } set { this.m_band = value; } } /// public System.Double Azimuth { get { return this.m_azimuth; } set { this.m_azimuth = value; } } /// public System.Double Altitude { get { return this.m_altitude; } set { this.m_altitude = value; } } /// public System.Double ScaleFactor { get { return this.m_scaleFactor; } set { this.m_scaleFactor = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool ScaleFactorSpecified { get { return this.m_scaleFactorSpecified; } set { this.m_scaleFactorSpecified = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class GridColorRuleType { private string m_legendLabel; private string m_filter; private TextSymbolType m_label; private GridColorType m_color; private ExtendedDataType m_extendedData1; /// public string LegendLabel { get { return this.m_legendLabel; } set { this.m_legendLabel = value; } } /// public string Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// public TextSymbolType Label { get { return this.m_label; } set { this.m_label = value; } } /// public GridColorType Color { get { return this.m_color; } set { this.m_color = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class GridColorType { private object m_item; private ItemChoiceType m_itemElementName; private ExtendedDataType m_extendedData1; /// [System.Xml.Serialization.XmlElementAttribute("Bands", typeof(GridColorBandsType))] [System.Xml.Serialization.XmlElementAttribute("Band", typeof(string))] [System.Xml.Serialization.XmlElementAttribute("ExplicitColor", typeof(string))] [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")] public object Item { get { return this.m_item; } set { this.m_item = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public ItemChoiceType ItemElementName { get { return this.m_itemElementName; } set { this.m_itemElementName = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// public class GridColorBandsType { private ChannelBandType m_redBand; private ChannelBandType m_greenBand; private ChannelBandType m_blueBand; /// public ChannelBandType RedBand { get { return this.m_redBand; } set { this.m_redBand = value; } } /// public ChannelBandType GreenBand { get { return this.m_greenBand; } set { this.m_greenBand = value; } } /// public ChannelBandType BlueBand { get { return this.m_blueBand; } set { this.m_blueBand = value; } } } /// public class ChannelBandType { private string m_band; private System.Double m_lowBand; private bool m_lowBandSpecified; private System.Double m_highBand; private bool m_highBandSpecified; private System.Byte m_lowChannel; private bool m_lowChannelSpecified; private System.Byte m_highChannel; private bool m_highChannelSpecified; private ExtendedDataType m_extendedData1; /// public string Band { get { return this.m_band; } set { this.m_band = value; } } /// public System.Double LowBand { get { return this.m_lowBand; } set { this.m_lowBand = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool LowBandSpecified { get { return this.m_lowBandSpecified; } set { this.m_lowBandSpecified = value; } } /// public System.Double HighBand { get { return this.m_highBand; } set { this.m_highBand = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool HighBandSpecified { get { return this.m_highBandSpecified; } set { this.m_highBandSpecified = value; } } /// public System.Byte LowChannel { get { return this.m_lowChannel; } set { this.m_lowChannel = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool LowChannelSpecified { get { return this.m_lowChannelSpecified; } set { this.m_lowChannelSpecified = value; } } /// public System.Byte HighChannel { get { return this.m_highChannel; } set { this.m_highChannel = value; } } /// [System.Xml.Serialization.XmlIgnoreAttribute()] public bool HighChannelSpecified { get { return this.m_highChannelSpecified; } set { this.m_highChannelSpecified = value; } } /// public ExtendedDataType ExtendedData1 { get { return this.m_extendedData1; } set { this.m_extendedData1 = value; } } } /// [System.Xml.Serialization.XmlTypeAttribute(IncludeInSchema=false)] public enum ItemChoiceType { /// Bands, /// Band, /// ExplicitColor, } public class SimpleSymbolCollection : System.Collections.CollectionBase { public SimpleSymbol this[int idx] { get { return ((SimpleSymbol)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(SimpleSymbol value) { return base.InnerList.Add(value); } } public class GraphicBaseCollection : System.Collections.CollectionBase { public GraphicBase this[int idx] { get { return ((GraphicBase)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(GraphicBase value) { return base.InnerList.Add(value); } } public class XmlElementCollection : System.Collections.CollectionBase { public System.Xml.XmlElement this[int idx] { get { return ((System.Xml.XmlElement)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(System.Xml.XmlElement value) { return base.InnerList.Add(value); } } public class ParameterCollection : System.Collections.CollectionBase { public Parameter this[int idx] { get { return ((Parameter)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(Parameter value) { return base.InnerList.Add(value); } } public class NameStringPairTypeCollection : System.Collections.CollectionBase { public NameStringPairType this[int idx] { get { return ((NameStringPairType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(NameStringPairType value) { return base.InnerList.Add(value); } } public class VectorScaleRangeTypeCollection : System.Collections.CollectionBase { public VectorScaleRangeType this[int idx] { get { return ((VectorScaleRangeType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(VectorScaleRangeType value) { return base.InnerList.Add(value); } } public class CompositeRuleCollection : System.Collections.CollectionBase { public CompositeRule this[int idx] { get { return ((CompositeRule)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(CompositeRule value) { return base.InnerList.Add(value); } } public class SymbolInstanceCollection : System.Collections.CollectionBase { public SymbolInstance this[int idx] { get { return ((SymbolInstance)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(SymbolInstance value) { return base.InnerList.Add(value); } } public class OverrideCollection : System.Collections.CollectionBase { public Override this[int idx] { get { return ((Override)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(Override value) { return base.InnerList.Add(value); } } public class PointRuleTypeCollection : System.Collections.CollectionBase { public PointRuleType this[int idx] { get { return ((PointRuleType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(PointRuleType value) { return base.InnerList.Add(value); } } public class LineRuleTypeCollection : System.Collections.CollectionBase { public LineRuleType this[int idx] { get { return ((LineRuleType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(LineRuleType value) { return base.InnerList.Add(value); } } public class StrokeTypeCollection : System.Collections.CollectionBase { public StrokeType this[int idx] { get { return ((StrokeType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(StrokeType value) { return base.InnerList.Add(value); } } public class AreaRuleTypeCollection : System.Collections.CollectionBase { public AreaRuleType this[int idx] { get { return ((AreaRuleType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(AreaRuleType value) { return base.InnerList.Add(value); } } public class GridScaleRangeTypeCollection : System.Collections.CollectionBase { public GridScaleRangeType this[int idx] { get { return ((GridScaleRangeType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(GridScaleRangeType value) { return base.InnerList.Add(value); } } public class GridColorRuleTypeCollection : System.Collections.CollectionBase { public GridColorRuleType this[int idx] { get { return ((GridColorRuleType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(GridColorRuleType value) { return base.InnerList.Add(value); } } }