private bool IsGeometriaValida(Feicao feicao)
        {
            IList elementos = null;

            switch (feicao.Geometria.ObterTipo())
            {
            case TipoGeometria.Complexa:
                elementos = (feicao.Geometria as Tecnomapas.TecnoGeo.Geometria.Complexa.Complexa).Elementos;
                break;

            case TipoGeometria.Linha:
                elementos = (feicao.Geometria as Tecnomapas.TecnoGeo.Geometria.Primitiva.Linha).Segmentos;
                break;

            case TipoGeometria.MultiLinha:
                elementos = (feicao.Geometria as Tecnomapas.TecnoGeo.Geometria.Agregada.MultiLinha).Elementos;
                break;

            case TipoGeometria.MultiPoligono:
                elementos = (feicao.Geometria as Tecnomapas.TecnoGeo.Geometria.Agregada.MultiPoligono).Elementos;
                break;

            case TipoGeometria.MultiPonto:
                elementos = (feicao.Geometria as Tecnomapas.TecnoGeo.Geometria.Agregada.MultiPonto).Elementos;
                break;

            case TipoGeometria.Poligono:
                elementos = (feicao.Geometria as Tecnomapas.TecnoGeo.Geometria.Primitiva.Poligono).Aneis;
                break;

            case TipoGeometria.Ponto:
                Posicao pos = (feicao.Geometria as Tecnomapas.TecnoGeo.Geometria.Primitiva.Ponto).Posicao;

                if (pos != null)
                {
                    elementos = pos.ToArray();
                    decimal tt = Convert.ToDecimal(pos.X.ToString());
                    tt = Convert.ToDecimal(pos.Y.ToString());
                }
                break;
            }

            return(elementos == null || elementos.Count == 0);
        }