You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							539 lines
						
					
					
						
							18 KiB
						
					
					
				
			
		
		
	
	
							539 lines
						
					
					
						
							18 KiB
						
					
					
				using System; | 
						|
using System.Collections.Generic; | 
						|
using Kingo.Framework.LayerStyleConvert.XSDClass; | 
						|
 | 
						|
namespace Kingo.Framework.LayerStyleConvert | 
						|
{ | 
						|
	// Token: 0x02000045 RID: 69 | 
						|
	public class AdvancedDrawimgInfoManager | 
						|
	{ | 
						|
		// Token: 0x06000222 RID: 546 RVA: 0x0000AB34 File Offset: 0x00008D34 | 
						|
		public string GetRenderer(Renderer itemInfoRender, LabelingInfo lablingInfo) | 
						|
		{ | 
						|
			AdvancedDrawingInfo advancedDrawingInfo = new AdvancedDrawingInfo(); | 
						|
			string result; | 
						|
			if (itemInfoRender is SimpleRenderer) | 
						|
			{ | 
						|
				Symbol symbol = (itemInfoRender as SimpleRenderer).Symbol; | 
						|
				string text = ""; | 
						|
				if (symbol is FSymbol) | 
						|
				{ | 
						|
					text = this.GetFillAdvanced(symbol as FSymbol, lablingInfo); | 
						|
				} | 
						|
				else if (symbol is MSymbol) | 
						|
				{ | 
						|
					text = this.GetMarkerAdvanced(symbol as MSymbol, lablingInfo); | 
						|
				} | 
						|
				else if (symbol is LSymbol) | 
						|
				{ | 
						|
					text = this.GetLineAdvanced(symbol as LSymbol, lablingInfo); | 
						|
				} | 
						|
				result = text; | 
						|
			} | 
						|
			else if (itemInfoRender is UniqueValueRenderer) | 
						|
			{ | 
						|
				UniqueValueRenderer uniqueValueRenderer = itemInfoRender as UniqueValueRenderer; | 
						|
				UniqueValueRenderer uniqueValueRenderer2 = new UniqueValueRenderer | 
						|
				{ | 
						|
					Field1 = uniqueValueRenderer.Field1, | 
						|
					Field2 = uniqueValueRenderer.Field2, | 
						|
					Field3 = uniqueValueRenderer.Field3, | 
						|
					DefaultLabel = uniqueValueRenderer.DefaultLabel, | 
						|
					FieldDelimiter = uniqueValueRenderer.FieldDelimiter | 
						|
				}; | 
						|
				CIMSymbolReference cimsymbolReference = this.GetCIMSymbolReference(uniqueValueRenderer.DefaultSymbol as FSymbol); | 
						|
				uniqueValueRenderer2.DefaultSymbol = cimsymbolReference; | 
						|
				for (int i = 0; i < uniqueValueRenderer.UniqueValueInfos.Count; i++) | 
						|
				{ | 
						|
					UniqueValueInfo uniqueValueInfo = uniqueValueRenderer.UniqueValueInfos[i]; | 
						|
					UniqueValueInfo uniqueValueInfo2 = new UniqueValueInfo | 
						|
					{ | 
						|
						Label = uniqueValueInfo.Label, | 
						|
						Description = uniqueValueInfo.Description, | 
						|
						Value = uniqueValueInfo.Value | 
						|
					}; | 
						|
					CIMSymbolReference cimsymbolReference2 = this.GetCIMSymbolReference(uniqueValueInfo.Symbol as FSymbol); | 
						|
					cimsymbolReference2.SymbolName = "Symbol_" + (i + 2).ToString(); | 
						|
					uniqueValueInfo2.Symbol = cimsymbolReference2; | 
						|
					uniqueValueRenderer2.UniqueValueInfos.Add(uniqueValueInfo2); | 
						|
				} | 
						|
				advancedDrawingInfo.DrawingInfo.Renderer = uniqueValueRenderer2; | 
						|
				if (lablingInfo != null) | 
						|
				{ | 
						|
					advancedDrawingInfo.DrawingInfo.LabelingInfo = new List<LabelingInfo>(); | 
						|
					advancedDrawingInfo.DrawingInfo.LabelingInfo.Add(lablingInfo); | 
						|
				} | 
						|
				result = advancedDrawingInfo.ToJson(); | 
						|
			} | 
						|
			else | 
						|
			{ | 
						|
				result = null; | 
						|
			} | 
						|
			return result; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000223 RID: 547 RVA: 0x0000AD78 File Offset: 0x00008F78 | 
						|
		public string GetFillAdvanced(FSymbol symbol, LabelingInfo lablingInfo) | 
						|
		{ | 
						|
			AdvancedDrawingInfo advancedDrawingInfo = new AdvancedDrawingInfo(); | 
						|
			SimpleRenderer simpleRenderer = new SimpleRenderer(); | 
						|
			advancedDrawingInfo.DrawingInfo.Renderer = simpleRenderer; | 
						|
			CIMSymbolReference cimsymbolReference = new CIMSymbolReference | 
						|
			{ | 
						|
				SymbolName = "Symbol_1" | 
						|
			}; | 
						|
			simpleRenderer.Symbol = cimsymbolReference; | 
						|
			CIMPolygonSymbol cimpolygonSymbol = new CIMPolygonSymbol(); | 
						|
			cimsymbolReference.Symbol = cimpolygonSymbol; | 
						|
			List<SymbolLayer> cimfill = this.GetCIMFill(symbol); | 
						|
			if (cimfill != null && cimfill.Count > 0) | 
						|
			{ | 
						|
				cimpolygonSymbol.SymbolLayers.AddRange(cimfill); | 
						|
			} | 
						|
			if (lablingInfo != null) | 
						|
			{ | 
						|
				advancedDrawingInfo.DrawingInfo.LabelingInfo = new List<LabelingInfo>(); | 
						|
				advancedDrawingInfo.DrawingInfo.LabelingInfo.Add(lablingInfo); | 
						|
			} | 
						|
			return advancedDrawingInfo.ToJson(); | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000224 RID: 548 RVA: 0x0000AE38 File Offset: 0x00009038 | 
						|
		public CIMSymbolReference GetCIMSymbolReference(FSymbol symbol) | 
						|
		{ | 
						|
			CIMSymbolReference cimsymbolReference = new CIMSymbolReference | 
						|
			{ | 
						|
				SymbolName = "Symbol_1" | 
						|
			}; | 
						|
			CIMPolygonSymbol cimpolygonSymbol = new CIMPolygonSymbol(); | 
						|
			cimsymbolReference.Symbol = cimpolygonSymbol; | 
						|
			List<SymbolLayer> cimfill = this.GetCIMFill(symbol); | 
						|
			if (cimfill != null && cimfill.Count > 0) | 
						|
			{ | 
						|
				cimpolygonSymbol.SymbolLayers.AddRange(cimfill); | 
						|
			} | 
						|
			return cimsymbolReference; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000225 RID: 549 RVA: 0x0000AE9C File Offset: 0x0000909C | 
						|
		private CIMFilledStroke GetCIMFilledStrokeL(LSymbol symbol) | 
						|
		{ | 
						|
			CIMFilledStroke cimfilledStroke = new CIMFilledStroke(); | 
						|
			CIMSolidPattern cimsolidPattern = new CIMSolidPattern(); | 
						|
			cimfilledStroke.ColorLocked = true; | 
						|
			if (symbol is CLSymbol) | 
						|
			{ | 
						|
				CLSymbol clsymbol = new CLSymbol(); | 
						|
				cimfilledStroke.CapStyle = clsymbol.Cap.ToString().Replace("esriLCS", ""); | 
						|
				cimfilledStroke.JoinStyle = clsymbol.Join.ToString().Replace("esriLJS", ""); | 
						|
				cimfilledStroke.MiterLimit = (int)clsymbol.MiterLimit; | 
						|
			} | 
						|
			if (symbol == null) | 
						|
			{ | 
						|
				cimsolidPattern.Color[0] = 110; | 
						|
				cimsolidPattern.Color[1] = 110; | 
						|
				cimsolidPattern.Color[2] = 110; | 
						|
				cimsolidPattern.Color[3] = 255; | 
						|
			} | 
						|
			else | 
						|
			{ | 
						|
				cimsolidPattern.Color = symbol.Color; | 
						|
				cimfilledStroke.Width = symbol.Width; | 
						|
			} | 
						|
			cimfilledStroke.Pattern = cimsolidPattern; | 
						|
			return cimfilledStroke; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000226 RID: 550 RVA: 0x0000AF98 File Offset: 0x00009198 | 
						|
		private CIMFilledStroke GetCIMFilledStrokeCL(CLSymbol symbol) | 
						|
		{ | 
						|
			CIMFilledStroke cimfilledStroke = new CIMFilledStroke(); | 
						|
			cimfilledStroke.ColorLocked = true; | 
						|
			cimfilledStroke.CapStyle = symbol.Cap.ToString().Replace("esriLCS", ""); | 
						|
			cimfilledStroke.JoinStyle = symbol.Join.ToString().Replace("esriLJS", ""); | 
						|
			cimfilledStroke.MiterLimit = (int)symbol.MiterLimit; | 
						|
			CIMSolidPattern cimsolidPattern = new CIMSolidPattern(); | 
						|
			if (symbol == null) | 
						|
			{ | 
						|
				cimsolidPattern.Color[0] = 110; | 
						|
				cimsolidPattern.Color[1] = 110; | 
						|
				cimsolidPattern.Color[2] = 110; | 
						|
				cimsolidPattern.Color[3] = 255; | 
						|
			} | 
						|
			else | 
						|
			{ | 
						|
				cimsolidPattern.Color = symbol.Color; | 
						|
				cimfilledStroke.Width = symbol.Width; | 
						|
			} | 
						|
			cimfilledStroke.Pattern = cimsolidPattern; | 
						|
			return cimfilledStroke; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000227 RID: 551 RVA: 0x0000B078 File Offset: 0x00009278 | 
						|
		private CIMFilledStroke GetCIMFilledStroke(int[] color) | 
						|
		{ | 
						|
			return new CIMFilledStroke | 
						|
			{ | 
						|
				Pattern = new CIMSolidPattern | 
						|
				{ | 
						|
					Color = color | 
						|
				} | 
						|
			}; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000228 RID: 552 RVA: 0x0000B0A8 File Offset: 0x000092A8 | 
						|
		private List<SymbolLayer> GetCIMFill(FSymbol symbol) | 
						|
		{ | 
						|
			List<SymbolLayer> list = new List<SymbolLayer>(); | 
						|
			if (symbol is MultiLayerFillSymbol) | 
						|
			{ | 
						|
				MultiLayerFillSymbol multiLayerFillSymbol = symbol as MultiLayerFillSymbol; | 
						|
				for (int i = 0; i < multiLayerFillSymbol.LayerCount; i++) | 
						|
				{ | 
						|
					List<SymbolLayer> cimfill = this.GetCIMFill(multiLayerFillSymbol.GetLayer(i)); | 
						|
					if (cimfill != null && cimfill.Count > 0) | 
						|
					{ | 
						|
						list.AddRange(cimfill); | 
						|
					} | 
						|
				} | 
						|
			} | 
						|
			else if (symbol is SFSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetCIMFilledStrokeL(symbol.Outline)); | 
						|
				list.Add(this.GetCIMFillSFSymbol(symbol as SFSymbol)); | 
						|
			} | 
						|
			else if (symbol is LineFSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetCIMFilledStrokeL(symbol.Outline)); | 
						|
				list.Add(this.GetCIMFillLineFSymbol(symbol as LineFSymbol)); | 
						|
			} | 
						|
			else if (symbol is PFSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetCIMFilledStrokeL(symbol.Outline)); | 
						|
				list.Add(this.GetCIMFillPicFSymbol(symbol as PFSymbol)); | 
						|
				list.Add(this.GetCIMPFillSFSymbol()); | 
						|
			} | 
						|
			return list; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000229 RID: 553 RVA: 0x0000B1EC File Offset: 0x000093EC | 
						|
		private CIMFill GetCIMFillSFSymbol(SFSymbol symbol) | 
						|
		{ | 
						|
			CIMFill cimfill = new CIMFill(); | 
						|
			CIMSolidPattern cimsolidPattern = new CIMSolidPattern(); | 
						|
			cimsolidPattern.Color = symbol.Color; | 
						|
			cimfill.ColorLocked = false; | 
						|
			cimfill.Pattern = cimsolidPattern; | 
						|
			return cimfill; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x0600022A RID: 554 RVA: 0x0000B228 File Offset: 0x00009428 | 
						|
		private CIMFill GetCIMPFillSFSymbol() | 
						|
		{ | 
						|
			CIMFill cimfill = new CIMFill(); | 
						|
			CIMSolidPattern cimsolidPattern = new CIMSolidPattern(); | 
						|
			cimsolidPattern.Color = new int[4]; | 
						|
			cimfill.ColorLocked = false; | 
						|
			cimfill.Pattern = cimsolidPattern; | 
						|
			return cimfill; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x0600022B RID: 555 RVA: 0x0000B264 File Offset: 0x00009464 | 
						|
		private CIMFill GetCIMFillLineFSymbol(LineFSymbol symbol) | 
						|
		{ | 
						|
			return new CIMFill | 
						|
			{ | 
						|
				Pattern = new CIMHatchPattern | 
						|
				{ | 
						|
					LineSymbol = this.GetCIMLineSymbol(symbol.LineSymbol), | 
						|
					Separation = symbol.Separation, | 
						|
					Rotation = symbol.Angle | 
						|
				} | 
						|
			}; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x0600022C RID: 556 RVA: 0x0000B2B8 File Offset: 0x000094B8 | 
						|
		private CIMFill GetCIMFillPicFSymbol(PFSymbol symbol) | 
						|
		{ | 
						|
			return new CIMFill | 
						|
			{ | 
						|
				Pattern = new CIMTiledPattern | 
						|
				{ | 
						|
					Height = symbol.Height, | 
						|
					Url = "data:" + symbol.ContentType + ";base64," + symbol.ImageData, | 
						|
					ColorSubstitutions =  | 
						|
					{ | 
						|
						new CIMColorSubstitution | 
						|
						{ | 
						|
							NewColor = symbol.Outline.Color | 
						|
						} | 
						|
					} | 
						|
				} | 
						|
			}; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x0600022D RID: 557 RVA: 0x0000B334 File Offset: 0x00009534 | 
						|
		public string GetLineAdvanced(LSymbol symbol, LabelingInfo lablingInfo) | 
						|
		{ | 
						|
			AdvancedDrawingInfo advancedDrawingInfo = new AdvancedDrawingInfo(); | 
						|
			SimpleRenderer simpleRenderer = new SimpleRenderer(); | 
						|
			advancedDrawingInfo.DrawingInfo.Renderer = simpleRenderer; | 
						|
			simpleRenderer.Symbol = this.GetCIMSymbolReference(symbol); | 
						|
			if (lablingInfo != null) | 
						|
			{ | 
						|
				advancedDrawingInfo.DrawingInfo.LabelingInfo = new List<LabelingInfo>(); | 
						|
				advancedDrawingInfo.DrawingInfo.LabelingInfo.Add(lablingInfo); | 
						|
			} | 
						|
			return advancedDrawingInfo.ToJson(); | 
						|
		} | 
						|
 | 
						|
		// Token: 0x0600022E RID: 558 RVA: 0x0000B3A0 File Offset: 0x000095A0 | 
						|
		public CIMSymbolReference GetCIMSymbolReference(LSymbol symbol) | 
						|
		{ | 
						|
			CIMSymbolReference cimsymbolReference = new CIMSymbolReference | 
						|
			{ | 
						|
				SymbolName = "Symbol_1" | 
						|
			}; | 
						|
			CIMLineSymbol cimlineSymbol = new CIMLineSymbol(); | 
						|
			cimsymbolReference.Symbol = cimlineSymbol; | 
						|
			List<SymbolLayer> lineSymbolLayers = this.GetLineSymbolLayers(symbol); | 
						|
			if (lineSymbolLayers != null && lineSymbolLayers.Count > 0) | 
						|
			{ | 
						|
				cimlineSymbol.SymbolLayers.AddRange(lineSymbolLayers); | 
						|
			} | 
						|
			return cimsymbolReference; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x0600022F RID: 559 RVA: 0x0000B404 File Offset: 0x00009604 | 
						|
		private CIMLineSymbol GetCIMLineSymbol(LSymbol symbol) | 
						|
		{ | 
						|
			CIMLineSymbol cimlineSymbol = new CIMLineSymbol(); | 
						|
			cimlineSymbol.SymbolLayers.AddRange(this.GetLineSymbolLayers(symbol)); | 
						|
			return cimlineSymbol; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000230 RID: 560 RVA: 0x0000B430 File Offset: 0x00009630 | 
						|
		private List<SymbolLayer> GetLineSymbolLayers(LSymbol symbol) | 
						|
		{ | 
						|
			List<SymbolLayer> list = new List<SymbolLayer>(); | 
						|
			if (symbol is SLSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetCIMFilledStroke(symbol)); | 
						|
			} | 
						|
			else if (symbol is CLSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetCIMFilledStrokeCL(symbol as CLSymbol)); | 
						|
			} | 
						|
			else if (symbol is MultiLayerLineSymbol) | 
						|
			{ | 
						|
				MultiLayerLineSymbol multiLayerLineSymbol = symbol as MultiLayerLineSymbol; | 
						|
				for (int i = 0; i < multiLayerLineSymbol.LayerCount; i++) | 
						|
				{ | 
						|
					List<SymbolLayer> lineSymbolLayers = this.GetLineSymbolLayers(multiLayerLineSymbol.GetLayer(i)); | 
						|
					if (lineSymbolLayers != null && lineSymbolLayers.Count > 0) | 
						|
					{ | 
						|
						list.AddRange(lineSymbolLayers); | 
						|
					} | 
						|
				} | 
						|
			} | 
						|
			else if (symbol is HashLSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetCIMPlacedPointSymbolsHashLine(symbol as HashLSymbol)); | 
						|
			} | 
						|
			else if (!(symbol is PictureLSymbol)) | 
						|
			{ | 
						|
				if (symbol is MarkLSymbol) | 
						|
				{ | 
						|
					list.Add(this.GetCIMPlacedPointSymbolsMarkerLine(symbol as MarkLSymbol)); | 
						|
				} | 
						|
			} | 
						|
			return list; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000231 RID: 561 RVA: 0x0000B568 File Offset: 0x00009768 | 
						|
		private CIMFilledStroke GetCIMFilledStroke(LSymbol symbol) | 
						|
		{ | 
						|
			return this.GetCIMFilledStrokeL(symbol); | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000232 RID: 562 RVA: 0x0000B584 File Offset: 0x00009784 | 
						|
		private CIMPlacedPointSymbolsHashLine GetCIMPlacedPointSymbolsHashLine(HashLSymbol symbol) | 
						|
		{ | 
						|
			CIMPlacedPointSymbolsHashLine cimplacedPointSymbolsHashLine = new CIMPlacedPointSymbolsHashLine(); | 
						|
			CIMPointSymbol cimpointSymbol = new CIMPointSymbol(); | 
						|
			CIMVectorMarker cimvectorMarker = new CIMVectorMarker(); | 
						|
			MarkerGraphicsClass markerGraphicsClass = new MarkerGraphicsClass(); | 
						|
			markerGraphicsClass.Symbol = new CIMLineSymbol | 
						|
			{ | 
						|
				SymbolLayers =  | 
						|
				{ | 
						|
					this.GetCIMFilledStroke(symbol.Color) | 
						|
				} | 
						|
			}; | 
						|
			GeometryClass geometry = new GeometryClass(); | 
						|
			markerGraphicsClass.Geometry = geometry; | 
						|
			FrameClass frame = new FrameClass(); | 
						|
			cimvectorMarker.Frame = frame; | 
						|
			cimvectorMarker.MarkerGraphics = markerGraphicsClass; | 
						|
			cimpointSymbol.SymbolLayers.Add(cimvectorMarker); | 
						|
			cimplacedPointSymbolsHashLine.PointSymbols = cimpointSymbol; | 
						|
			cimplacedPointSymbolsHashLine.PointSymbolPlacementEffect = new CIMPointSymbolPlacementAlongLineSameSize(); | 
						|
			return cimplacedPointSymbolsHashLine; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000233 RID: 563 RVA: 0x0000B624 File Offset: 0x00009824 | 
						|
		private CIMPlacedPointSymbolsMarkerLine GetCIMPlacedPointSymbolsMarkerLine(MarkLSymbol symbol) | 
						|
		{ | 
						|
			CIMPlacedPointSymbolsMarkerLine cimplacedPointSymbolsMarkerLine = new CIMPlacedPointSymbolsMarkerLine(); | 
						|
			CIMPointSymbol cimpointSymbol = new CIMPointSymbol(); | 
						|
			CIMSimpleMarker cimsimpleMarker = new CIMSimpleMarker(); | 
						|
			cimsimpleMarker.Size = symbol.MarkerSymbol.Size; | 
						|
			cimsimpleMarker.FillColor = symbol.Color; | 
						|
			CIMLineSymbol cimlineSymbol = new CIMLineSymbol(); | 
						|
			cimlineSymbol.SymbolLayers.Add(this.GetCIMFilledStroke(symbol.Color)); | 
						|
			cimpointSymbol.SymbolLayers.Add(cimsimpleMarker); | 
						|
			cimplacedPointSymbolsMarkerLine.PointSymbols = cimpointSymbol; | 
						|
			cimplacedPointSymbolsMarkerLine.PointSymbolPlacementEffect = new CIMPointSymbolPlacementAlongLineSameSize(); | 
						|
			return cimplacedPointSymbolsMarkerLine; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000234 RID: 564 RVA: 0x0000B6AC File Offset: 0x000098AC | 
						|
		private CIMFilledStroke GetCIMFilledStrokeL(PictureLSymbol symbol) | 
						|
		{ | 
						|
			CIMFilledStroke cimfilledStroke = new CIMFilledStroke(); | 
						|
			CIMTiledPattern cimtiledPattern = new CIMTiledPattern(); | 
						|
			cimfilledStroke.ColorLocked = true; | 
						|
			if (symbol != null) | 
						|
			{ | 
						|
				PictureLSymbol pictureLSymbol = new PictureLSymbol(); | 
						|
			} | 
						|
			cimtiledPattern.ScaleX = (int)symbol.XScale; | 
						|
			cimtiledPattern.Height = symbol.Width; | 
						|
			cimfilledStroke.Width = symbol.Width; | 
						|
			cimfilledStroke.Pattern = cimtiledPattern; | 
						|
			return cimfilledStroke; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000235 RID: 565 RVA: 0x0000B718 File Offset: 0x00009918 | 
						|
		public string GetMarkerAdvanced(MSymbol symbol, LabelingInfo lablingInfo) | 
						|
		{ | 
						|
			AdvancedDrawingInfo advancedDrawingInfo = new AdvancedDrawingInfo(); | 
						|
			SimpleRenderer simpleRenderer = new SimpleRenderer(); | 
						|
			advancedDrawingInfo.DrawingInfo.Renderer = simpleRenderer; | 
						|
			simpleRenderer.Symbol = this.GetCIMSymbolReference(symbol); | 
						|
			if (lablingInfo != null) | 
						|
			{ | 
						|
				advancedDrawingInfo.DrawingInfo.LabelingInfo = new List<LabelingInfo>(); | 
						|
				advancedDrawingInfo.DrawingInfo.LabelingInfo.Add(lablingInfo); | 
						|
			} | 
						|
			return advancedDrawingInfo.ToJson(); | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000236 RID: 566 RVA: 0x0000B784 File Offset: 0x00009984 | 
						|
		public CIMSymbolReference GetCIMSymbolReference(MSymbol symbol) | 
						|
		{ | 
						|
			CIMSymbolReference cimsymbolReference = new CIMSymbolReference | 
						|
			{ | 
						|
				SymbolName = "Symbol_1" | 
						|
			}; | 
						|
			CIMPointSymbol cimpointSymbol = new CIMPointSymbol(); | 
						|
			cimsymbolReference.Symbol = cimpointSymbol; | 
						|
			List<SymbolLayer> cimpoint = this.GetCIMPoint(symbol); | 
						|
			if (cimpoint != null && cimpoint.Count > 0) | 
						|
			{ | 
						|
				cimpointSymbol.SymbolLayers.AddRange(cimpoint); | 
						|
			} | 
						|
			cimpointSymbol.AnchorPoint = new AnchorPointClass(); | 
						|
			cimpointSymbol.AnchorPointUnits = "Points"; | 
						|
			cimpointSymbol.HaloColor = new int[4]; | 
						|
			cimpointSymbol.ScaleX = 1; | 
						|
			return cimsymbolReference; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000237 RID: 567 RVA: 0x0000B818 File Offset: 0x00009A18 | 
						|
		private List<SymbolLayer> GetCIMPoint(MSymbol symbol) | 
						|
		{ | 
						|
			List<SymbolLayer> list = new List<SymbolLayer>(); | 
						|
			if (symbol is MultiLayerMarkerSymbol) | 
						|
			{ | 
						|
				MultiLayerMarkerSymbol multiLayerMarkerSymbol = symbol as MultiLayerMarkerSymbol; | 
						|
				for (int i = 0; i < multiLayerMarkerSymbol.LayerCount; i++) | 
						|
				{ | 
						|
					List<SymbolLayer> cimpoint = this.GetCIMPoint(multiLayerMarkerSymbol.GetLayer(i)); | 
						|
					if (cimpoint != null && cimpoint.Count > 0) | 
						|
					{ | 
						|
						list.AddRange(cimpoint); | 
						|
					} | 
						|
				} | 
						|
			} | 
						|
			else if (symbol is SMarkerSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetCIMSimpleMarker(symbol as SMarkerSymbol)); | 
						|
			} | 
						|
			else if (symbol is PMarkSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetPictureMarker(symbol as PMarkSymbol)); | 
						|
			} | 
						|
			else if (symbol is AMarkSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetVectorMarker(symbol)); | 
						|
			} | 
						|
			else if (symbol is CMarkerSymbol) | 
						|
			{ | 
						|
				list.Add(this.GetVectorMarker(symbol)); | 
						|
			} | 
						|
			return list; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000238 RID: 568 RVA: 0x0000B934 File Offset: 0x00009B34 | 
						|
		private CIMSimpleMarker GetCIMSimpleMarker(SMarkerSymbol symbol) | 
						|
		{ | 
						|
			CIMSimpleMarker cimsimpleMarker = new CIMSimpleMarker(); | 
						|
			cimsimpleMarker.AnchorPoint = new AnchorPointClass(); | 
						|
			cimsimpleMarker.AnchorPointUnits = "Points"; | 
						|
			cimsimpleMarker.Size = symbol.Size; | 
						|
			cimsimpleMarker.DominantSizeAxis3D = "Z"; | 
						|
			cimsimpleMarker.Enable = true; | 
						|
			cimsimpleMarker.FillColor = symbol.Color; | 
						|
			if (symbol.outline != null) | 
						|
			{ | 
						|
				cimsimpleMarker.OutlineWidth = (double)symbol.outline.Width; | 
						|
				cimsimpleMarker.OutlineColor = symbol.outline.Color; | 
						|
			} | 
						|
			return cimsimpleMarker; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x06000239 RID: 569 RVA: 0x0000B9C8 File Offset: 0x00009BC8 | 
						|
		private CIMVectorMarker GetVectorMarker(MSymbol symbol) | 
						|
		{ | 
						|
			CIMVectorMarker cimvectorMarker = new CIMVectorMarker(); | 
						|
			if (symbol is AMarkSymbol) | 
						|
			{ | 
						|
				cimvectorMarker.AnchorPointUnits = "Relative"; | 
						|
				cimvectorMarker.ColorLocked = true; | 
						|
				cimvectorMarker.DominantSizeAxis3D = "Z"; | 
						|
				cimvectorMarker.Enable = true; | 
						|
				cimvectorMarker.Size = (symbol as AMarkSymbol).Size; | 
						|
			} | 
						|
			else if (symbol is CMarkerSymbol) | 
						|
			{ | 
						|
				cimvectorMarker.AnchorPointUnits = "Relative"; | 
						|
				cimvectorMarker.ColorLocked = true; | 
						|
				cimvectorMarker.DominantSizeAxis3D = "Z"; | 
						|
				cimvectorMarker.Enable = true; | 
						|
				cimvectorMarker.Size = (symbol as CMarkerSymbol).Size; | 
						|
			} | 
						|
			return cimvectorMarker; | 
						|
		} | 
						|
 | 
						|
		// Token: 0x0600023A RID: 570 RVA: 0x0000BA7C File Offset: 0x00009C7C | 
						|
		private CIMPictureMarker GetPictureMarker(PMarkSymbol symbol) | 
						|
		{ | 
						|
			return new CIMPictureMarker | 
						|
			{ | 
						|
				Size = symbol.Size, | 
						|
				Url = "data:image/png;base64," + symbol.ImageData | 
						|
			}; | 
						|
		} | 
						|
	} | 
						|
}
 | 
						|
 |