Exemplo n.º 1
0
        private void ShowWater()
        {
            if (m_WaterFeature == null || m_WaterFeature.IsDeleted)
            {
                m_dBaseAlt = m_pntMinAlt.Z;

                GSOGeoWater geoWater = m_polygon3D.ConvertToGeoWater();

                GSOExtrudeStyle extrudeStyle = new GSOExtrudeStyle();

                if (checkBoxExtrude.Checked)
                {
                    extrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeToValue;
                }
                else
                {
                    extrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeNone;
                }

                extrudeStyle.ExtrudeValue    = m_pntMinAlt.Z;
                extrudeStyle.TailPartVisible = false;


                GSOSimplePolygonStyle3D polygonStyle = new GSOSimplePolygonStyle3D();
                polygonStyle.FillColor = Color.FromArgb(200, 0, 0, 255);

                extrudeStyle.BodyStyle = polygonStyle;

                geoWater.ExtrudeStyle = extrudeStyle;


                geoWater.AltitudeMode = EnumAltitudeMode.Absolute;
                geoWater.SetAltitude(m_dBaseAlt);
                geoWater.ReflectSky = false;
                geoWater.WaveWidth  = 0.1;
                geoWater.Play();



                m_WaterFeature          = new GSOFeature();
                m_WaterFeature.Geometry = geoWater;
                m_globe.MemoryLayer.AddFeature(m_WaterFeature);
                m_globe.Refresh();

                trackBarAlt.Maximum  = (int)m_pntMaxAlt.Z;
                trackBarAlt.Minimum  = (int)m_pntMinAlt.Z;
                trackBarAlt.Value    = trackBarAlt.Minimum;
                textBoxWaterAlt.Text = m_dBaseAlt.ToString("f2");
            }
            else
            {
                GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry;
                geoWater.SetAltitude(m_dBaseAlt);
                m_globe.Refresh();

                trackBarAlt.Maximum = (int)m_pntMaxAlt.Z;
                trackBarAlt.Minimum = (int)m_pntMinAlt.Z;
            }
        }
Exemplo n.º 2
0
 private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
 {
     if (globe != null && layer != null)
     {
         layer.Opaque  = 100 - hScrollBar1.Value;
         textbox1.Text = Convert.ToString(hScrollBar1.Value);
         globe.Refresh();
     }
 }
 private void timer1_Tick(object sender, EventArgs e)
 {
     if (count < 12)
     {
         count++;
         if (m_feature != null)
         {
             if (count % 2 != 0)
             {
                 if (m_feature.Geometry != null)
                 {
                     if (m_feature.Geometry.Style != null)
                     {
                         ((GSOStyle3D)m_feature.Geometry.Style).UsingBlur = true;
                     }
                     else
                     {
                         m_feature.Geometry.Style = new GSOEntityStyle3D();
                         ((GSOStyle3D)m_feature.Geometry.Style).UsingBlur = true;
                     }
                 }
                 else
                 {
                     m_feature.HighLight = true;
                 }
                 globe.Refresh();
             }
             else
             {
                 if (m_feature.Geometry != null)
                 {
                     if (m_feature.Geometry.Style != null)
                     {
                         ((GSOStyle3D)m_feature.Geometry.Style).UsingBlur = false;
                     }
                     else
                     {
                         m_feature.Geometry.Style = new GSOEntityStyle3D();
                         ((GSOStyle3D)m_feature.Geometry.Style).UsingBlur = false;
                     }
                 }
                 else
                 {
                     m_feature.HighLight = false;
                 }
                 globe.Refresh();
             }
         }
     }
     else
     {
         timer1.Stop();
         count = 0;
     }
 }
Exemplo n.º 4
0
        private void buttonOk_Click(object sender, EventArgs e)
        {
            double result;

            if (m_globe != null && Double.TryParse(textBoxAlt.Text, out result))
            {
                Double dAlt = Convert.ToDouble(textBoxAlt.Text);
                m_globe.UnderGroundFloor.Altitude = dAlt;
                m_globe.Refresh();
            }
        }
Exemplo n.º 5
0
        private void buttonAnalyse_Click(object sender, EventArgs e)
        {
            if (m_globe != null && m_polygon3D != null)
            {
                double dAlt = System.Convert.ToDouble(textBoxDestAlt.Text);
                m_globe.Analysis3D.DigFillAnalyse(m_polygon3D, dAlt, out m_dDigVolume, out m_dFillVolume,
                                                  out m_dDigArea, out m_dFillArea, out m_dTotalArea, out m_pntMaxAlt, out m_pntMinAlt, false, 0);

                //double dTempArea = m_polygon3D.Area;

                //double dDiff = dTempArea - m_dTotalArea;

                //double dRadio = dDiff / dTempArea;


                GSOFeature  altFeature   = null;
                GSOFeatures tempFeatures = m_globe.MemoryLayer.GetFeatureByName("DigFillAltPolygon", true);
                if (tempFeatures.Length > 0)
                {
                    altFeature = tempFeatures[0];
                }
                GSOGeoPolygon3D newPolygon = (GSOGeoPolygon3D)m_polygon3D.Clone();
                newPolygon.SetAltitude(dAlt);
                newPolygon.AltitudeMode = EnumAltitudeMode.Absolute;

                GSOExtrudeStyle extrudeStyle = new GSOExtrudeStyle();
                extrudeStyle.ExtrudeType     = EnumExtrudeType.ExtrudeToValue;
                extrudeStyle.ExtrudeValue    = m_pntMinAlt.Z;
                extrudeStyle.TailPartVisible = false;

                GSOSimplePolygonStyle3D extrudePolygonStyle = new GSOSimplePolygonStyle3D();
                extrudePolygonStyle.FillColor = Color.FromArgb(150, 0, 255, 0);
                extrudeStyle.BodyStyle        = extrudePolygonStyle;



                GSOSimplePolygonStyle3D polygonStyle = new GSOSimplePolygonStyle3D();
                polygonStyle.FillColor = Color.FromArgb(200, 0, 0, 255);

                newPolygon.Style        = polygonStyle;
                newPolygon.ExtrudeStyle = extrudeStyle;


                if (m_AltFeature == null || m_AltFeature.IsDeleted)
                {
                    m_AltFeature          = new GSOFeature();
                    m_AltFeature.Name     = "DigFillAltPolygon";
                    m_AltFeature.Geometry = newPolygon;
                    m_globe.MemoryLayer.AddFeature(m_AltFeature);
                }
                else
                {
                    m_AltFeature.Geometry = newPolygon;
                }



                m_globe.Refresh();



                SetText();
            }
        }
 private void cboxHead_CheckedChanged(object sender, EventArgs e)
 {
     CheckChangeHeadJoint();
     m_globe.Refresh();
 }