public override moRenderer Clone() { moSimpleRenderer sRenderer = new moSimpleRenderer(); sRenderer._Symbol = _Symbol.Clone(); return(sRenderer); }
private void InitializeRenderer() { moSimpleRenderer sRenderer = new moSimpleRenderer(); if (_ShapeType == moGeometryTypeConstant.Point) { sRenderer.Symbol = new moSimpleMarkerSymbol(); _Renderer = sRenderer; } else if (_ShapeType == moGeometryTypeConstant.MultiPolyline) { sRenderer.Symbol = new moSimpleLineSymbol(); _Renderer = sRenderer; } else if (_ShapeType == moGeometryTypeConstant.MultiPolygon) { sRenderer.Symbol = new moSimpleFillSymbol(); _Renderer = sRenderer; } else { throw new Exception("Invalid shape type!"); } }
private void SetFeatureSymbols() { Int32 sFeatureCount = _Features.Count; if (_Renderer.RendererType == moRendererTypeConstant.Simple) { moSimpleRenderer sRenderer = (moSimpleRenderer)_Renderer; for (Int32 i = 0; i <= sFeatureCount - 1; i++) { _Features.GetItem(i).Symbol = sRenderer.Symbol; } } else if (_Renderer.RendererType == moRendererTypeConstant.UniqueValue) { moUniqueValueRenderer sRenderer = (moUniqueValueRenderer)_Renderer; string sFieldName = sRenderer.Field; Int32 sFieldIndex = _AttributeFields.FindField(sFieldName); if (sFieldIndex >= 0) { for (Int32 i = 0; i <= sFeatureCount - 1; i++) { string sValueString = GetValueString(_Features.GetItem(i).Attributes.GetItem(sFieldIndex)); _Features.GetItem(i).Symbol = sRenderer.FindSymbol(sValueString); } } else { for (Int32 i = 0; i <= sFeatureCount - 1; i++) { _Features.GetItem(i).Symbol = null; } } } else if (_Renderer.RendererType == moRendererTypeConstant.ClassBreaks) { moClassBreaksRenderer sRenderer = (moClassBreaksRenderer)_Renderer; string sFieldName = sRenderer.Field; Int32 sFieldIndex = _AttributeFields.FindField(sFieldName); moValueTypeConstant sValueType = _AttributeFields.GetItem(sFieldIndex).ValueType; if (sFieldIndex >= 0) { for (Int32 i = 0; i <= sFeatureCount - 1; i++) { double sValue = 0; if (sValueType == moValueTypeConstant.dInt16) { sValue = (Int16)_Features.GetItem(i).Attributes.GetItem(sFieldIndex); } else if (sValueType == moValueTypeConstant.dInt32) { sValue = (Int32)_Features.GetItem(i).Attributes.GetItem(sFieldIndex); } else if (sValueType == moValueTypeConstant.dInt64) { sValue = (Int64)_Features.GetItem(i).Attributes.GetItem(sFieldIndex); } else if (sValueType == moValueTypeConstant.dSingle) { sValue = (float)_Features.GetItem(i).Attributes.GetItem(sFieldIndex); } else if (sValueType == moValueTypeConstant.dDouble) { sValue = (double)_Features.GetItem(i).Attributes.GetItem(sFieldIndex); } else { throw new Exception("Invalid value type of field " + sFieldName); } _Features.GetItem(i).Symbol = sRenderer.FindSymbol(sValue); } } else { for (Int32 i = 0; i <= sFeatureCount - 1; i++) { _Features.GetItem(i).Symbol = null; } } } else { throw new Exception("Invalid renderer type!"); } }