using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TerraExplorerX;
////////设置3DML单体化对象的Message
////////赵贺
namespace DXSkyline
{
public partial class Form1 : Form
{
SGWorld65 globe;
IMouseInfo65 mi;
I3DMLFeatureLayer65 _3dmlfeatureLayer;
IWorldPointInfo65 wpi;
IFeature65 theFeature;
string lastID;
int FPSLimitation;
int framesNr;
//IMeshLayer65 ml;
public Form1()
{
InitializeComponent();
globe = new SGWorld65();
FPSLimitation = 10;
}
void globe_OnFrame()
{
framesNr++;
if (framesNr < FPSLimitation)
{ return; }
mi = globe.Window.GetMouseInfo();
wpi = globe.Window.PixelToWorld(mi.X, mi.Y);
if (wpi.Type == (WorldPointType)8192 && lastID != wpi.ObjectID && wpi.ObjectID!="")
{
theFeature = (IFeature65)globe.ProjectTree.GetObject(wpi.ObjectID);
_3dmlfeatureLayer = (I3DMLFeatureLayer65)globe.ProjectTree.GetObject(theFeature.ParentGroupID);
//_3dmlfeatureLayer.FeatureProperties.Tooltip.Text = theFeature.FeatureAttributes.GetFeatureAttribute("建筑属性").Value; //wpi.ObjectID;
ITerraExplorerMessage65 mm = globe.Creator.CreateMessage(MsgTargetPosition.MTP_POPUP, "www.baidu.com?" + theFeature.FeatureAttributes.GetFeatureAttribute("建筑属性").Value, MsgType.TYPE_URL);
_3dmlfeatureLayer.FeatureProperties.MessageID = mm.ID;
lastID = wpi.ObjectID;
}
framesNr = 0;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
FPSLimitation = int.Parse(textBox1.Text);
framesNr = 0;
Console.WriteLine("FPS Limitation changed: " + FPSLimitation);
}
private void button1_Click(object sender, EventArgs e)
{
globe.OnFrame += new _ISGWorld65Events_OnFrameEventHandler(globe_OnFrame);
}
private void button2_Click(object sender, EventArgs e)
{
globe.OnFrame -= new _ISGWorld65Events_OnFrameEventHandler(globe_OnFrame);
}
}
}