当前上下文中不存在名称“AxSceneControl1” 。。求助啊!!

[复制链接]
查看11 | 回复1 | 2021-1-27 06:56:27 | 显示全部楼层 |阅读模式
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceSHU
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
ESRI.ArcGIS.Geometry.IPointCameraObs=newESRI.ArcGIS.Geometry.Point();
boolscenePan=false;
intclickSceneTime=0;
ESRI.ArcGIS.Geometry.IPointscenePanPoints1=newESRI.ArcGIS.Geometry.Point();
ESRI.ArcGIS.Geometry.IPointscenePanPoints2=newESRI.ArcGIS.Geometry.Point();
privatevoidaxLicenseControl1_Enter(objectsender,EventArgse)
{
}
privatevoidopenFileDialog1_FileOk(objectsender,CancelEventArgse)
{
}
//打开
privatevoidOpenToolStripMenuItem_Click(objectsender,EventArgse)
{
//Openafiledialogforselectingmapdocuments
openFileDialog1.Title="SceneDocuments";
openFileDialog1.DefaultExt=".sxd";
openFileDialog1.Filter="SceneDocument(*.sxd)|*.sxd";
openFileDialog1.ShowDialog();
//Checkafileisselectedandthatit'savalidScenedocument
//beforeattemptingtoloadit
if(openFileDialog1.FileName!="")
{
if(axSceneControl1.CheckSxFile(openFileDialog1.FileName)==true)
{
axSceneControl1.LoadSxFile(openFileDialog1.FileName);
}
else
{
MessageBox.Show("Cannotload"+openFileDialog1.FileName);
}
}
}
privatevoidaxSceneControl1_OnMouseDown(objectsender,ESRI.ArcGIS.Controls.ISceneControlEvents_OnMouseDownEvente)
{
if((scenePan==true)){
if((clickSceneTime==0)){
scenePanPoints1.PutCoords(e.x,e.y);
clickSceneTime=1;
}
elseif((clickSceneTime==1)){
scenePanPoints2.PutCoords(e.x,e.y);
AxSceneControl1.Camera.Pan(scenePanPoints2,scenePanPoints1);
AxSceneControl1.Refresh();
clickSceneTime=0;
scenePan=false;
}
}
}
privatevoidFlyToolStripMenuItem_Click(objectsender,EventArgse)
{
}
//漫游
privatevoidNavigateToolStripMenuItem_Click(objectsender,EventArgse)
{
AxSceneControl1.Navigate=true;
}
//平移
privatevoidPanToolStripMenuItem_Click(objectsender,EventArgse)
{
scenePan=true;
}
//放大
privatevoidZoomInToolStripMenuItem_Click(objectsender,EventArgse)
{
AxSceneControl1.Camera.Zoom(0.9);
AxSceneControl1.Refresh();
}
//缩小
privatevoidZoomOutToolStripMenuItem_Click(objectsender,EventArgse)
{
AxSceneControl1.Camera.Zoom(1.1);
AxSceneControl1.Refresh();
}
//旋转
privatevoidRotateToolStripMenuItem_Click(objectsender,EventArgse)
{
AxSceneControl1.Camera.Rotate(0.5);
AxSceneControl1.Refresh();
}
//关闭
privatevoidCloseToolStripMenuItem_Click(objectsender,EventArgse)
{
}
//timer1
privatevoidTimer1_Tick(objectsender,EventArgse)
{
CameraObs.X=(CameraObs.X+1);
AxSceneControl1.Camera.Observer=CameraObs;
AxSceneControl1.Scene.SceneGraph.RefreshViewers();
}
//开始创建
privatevoidStartToolStripMenuItem_Click(objectsender,EventArgse)
{
if((Timer1.Enabled==false)){
Timer1.Enabled=true;
CameraObs=AxSceneControl1.Camera.Observer;
}
else{
Timer1.Enabled=false;
}
}

//输出视频
privatevoidOutputToolStripMenuItem_Click(objectsender,EventArgse)
{
SaveFileDialogsaveVedioFile=newSaveFileDialog();
saveVedioFile.Filter="视频文件(*.avi)|*.avi";
saveVedioFile.Title="输出AVI文件";
saveVedioFile.ShowDialog();
ESRI.ArcGIS.Analyst3D.ISceneExporter3dp3DExporter=newESRI.ArcGIS.Analyst3D.AVIExporter();
//ISceneExporter3d
p3DExporter.ExportFileName=saveVedioFile.FileName;
ESRI.ArcGIS.Analyst3D.ISceneVideoExporterpExporter;
pExporter=p3DExporter;
//
pExporter.Viewer=AxSceneControl1.Scene.SceneGraph.ActiveViewer;
pExporter.VideoDuration=300;
pExporter.FrameRate=TrackBar1.Value;
ESRI.ArcGIS.Analyst3D.IAVIExporterpAVIExporter;
pAVIExporter=p3DExporter;
pAVIExporter.Quality=TrackBar1.Value;
p3DExporter.ExportScene(AxSceneControl1.Scene);
MessageBox.Show("输出视频成功!");
}
还有
错误18当前上下文中不存在名称“TrackBar1”
错误19无法将类型“ESRI.ArcGIS.Analyst3D.ISceneExporter3d”隐式转换为“ESRI.ArcGIS.Analyst3D.IAVIExporter”。存在一个显式转换(是否缺少强制转换?)
错误12当前上下文中不存在名称“Timer1”


分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
AxSceneControl1...
TrackBar1
没定义,把声明他们的头文件找出来,然后#include进来。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行