2012年11月13日

WorldWind Java 版学习:10、服务器响应

摘要: 一、服务器处理请求过程1、服务器启动时,会先读一系列配置文件,然后启动 SocketListener 进行监听ApplicationServerLauncher.main(String[]) line: 59 ApplicationServer.loadApplications(File) line: 130 ApplicationServer.parseWebAppConfigFile(File) line: 231 ApplicationServer.register(ServerApplication) line: 320 SocketListener.listen(int, Strin 阅读全文

posted @ 2012-11-13 16:51 redfler 阅读(433) 评论(0) 推荐(0) 编辑

2012年11月12日

WorldWind Java 版学习:9、拾取与量算

摘要: 1、在 mouseMoved 响应函数中得到屏幕点,设置给 StereoOptionSceneControllerAWTInputHandler.mouseMoved(MouseEvent) line: 516 StereoOptionSceneController(AbstractSceneController).setPickPoint(Point) line: 222 2、在 initializeDrawContext 方法中,将 StereoOptionSceneController 的点设置给 DrawContextWorldWindowGLAutoDrawable.doDispla 阅读全文

posted @ 2012-11-12 17:48 redfler 阅读(462) 评论(0) 推荐(0) 编辑

WorldWind Java 版学习:8、事件响应

摘要: 1、在 WWPanelImpl 构造时,会调用 createView 构造一个 View 对象,此处是 BasicOrbitView 对象,在构造 BasicOrbitView 对象的时候,会构造一个 ViewInputHandler 对象,此处为 OrbitViewInputHandler 对象WWPanelImpl.<init>(Registry) line: 35 WorldWindowGLCanvas.<init>() line: 96 WorldWindowGLCanvas.createView() line: 236 BasicOrbitView.<i 阅读全文

posted @ 2012-11-12 11:48 redfler 阅读(456) 评论(0) 推荐(0) 编辑

WorldWind Java 版学习:7、凹多边形渲染

摘要: 在 C++ 中进行凹多边形绘制,首先调用 gluNewTess 函数构造一个 GLUtesselator 对象:GLUtesselator *tobj = gluNewTess();然后依次设置相关的回调函数:gluTessCallback(tobj, GLU_TESS_BEGIN, (void(__stdcall*)())beginCallback);gluTessCallback(tobj, GLU_TESS_END, (void(__stdcall*)())endCallback);gluTessCallback(tobj, GLU_TESS_ERROR, (void(__stdcall 阅读全文

posted @ 2012-11-12 10:56 redfler 阅读(714) 评论(0) 推荐(0) 编辑

2012年11月9日

WorldWind Java 版学习:6、三角剖分过程

摘要: 1、在 mouseMoved 响应事件中会得到鼠标所在的屏幕坐标,然后设置给 StereoOptionSceneControllerAWTInputHandler.mouseMoved(MouseEvent) line: 516 StereoOptionSceneController(AbstractSceneController).setPickPoint(Point) line: 222 2、在 initializeDrawContext 方法中把之前得到的 pickPoint 设置给 dcStereoOptionSceneController(AbstractSceneControlle 阅读全文

posted @ 2012-11-09 17:58 redfler 阅读(518) 评论(0) 推荐(0) 编辑

WorldWind Java 版学习:5、贴地面渲染过程

摘要: 1、在窗口中点击一下,实际添加了两个点,如果是面测量,还会再添一个点,共三个点,此时还没构成面对象,会使用 BasicAnnotationRenderer 对象以标记形式绘制 MeasureTool$ControlPoint 的点对象,再点一下,就有了四个点,构造 SurfacePolygon 后,添加到 CustomRenderableLayer 中,然后在 doRepaint 方法中先在 preRender 方法中创建 Tile 的网格及纹理,再在 draw 方法中进行渲染MeasureToolController.mousePressed(MouseEvent) line: 225Mea 阅读全文

posted @ 2012-11-09 10:22 redfler 阅读(457) 评论(0) 推荐(0) 编辑

2012年11月7日

WorldWind Java 版学习:4、地型网格的构造与渲染

摘要: 1、在 WorldWindowGLAutoDrawable 对象的 display 方法中,会调用 doDisplay 方法,继而调用 AbstractSceneController 对象的 repaint 方法,在 repaint 方法中,首先调用 initializeDrawContext 方法,初始化了 DrawContext 对象,初始化过程主要的一步是清理上一帧的 SectorGeometryList 对象,然后调用 BasicSceneController 对象的 doRepaint 方法,在这个方法中通过调用 createTerrain 方法创建地型。2、在 AbstractSc 阅读全文

posted @ 2012-11-07 16:23 redfler 阅读(786) 评论(0) 推荐(0) 编辑

WorldWind Java 版学习:3、配置文件的读取

摘要: 1、在 WorldWindow 启动过程中,直接读取的配置文件有三个:一个是在程序启动前,使用静态模块配置程序的配置文件System.setProperty("gov.nasa.worldwind.app.config.document","gov/nasa/worldwindx/applications/worldwindow/config/worldwindow.worldwind.xml");一个是私有静态成员变量设置的与应用程序有关的配置文件private static final String APP_CONFIGURATION = " 阅读全文

posted @ 2012-11-07 16:22 redfler 阅读(814) 评论(1) 推荐(0) 编辑

2012年11月2日

WorldWind Java 版学习:2、地型数据获取

摘要: 1、Future 设计模式Future 模式是说在请求发生时,会先产生一个 Future 对象给发出请求的客户。它的作用类似于代理对象,而同时所代理的真正目标对象的生成是由一个新的线程持续进行。真正的目标对象生成之后,将之设置到 Future 对象之中,而当客户端真正需要目标对象时,目标对象也已经准备好,可以让客户提取使用。在 Java 中实现 Future 模式,会使用到 java.util.concurrent 包下的 Callable 和 Future 类。2、WorldWind 地型数据获取WorldWind 在获取地型数据时,采用了 Future 的设计模式,相关的文件位于 src\ 阅读全文

posted @ 2012-11-02 10:38 redfler 阅读(639) 评论(0) 推荐(0) 编辑

WorldWind Java 版学习:1、启动过程

摘要: 一、JOGL使用介绍使用 JOGL,需要构造GLCapabilities、GLCanvas 和 GLEventListener 的对象,其中 GLCapabilities 对象用于构造 GLCanvas 对象,将 GLCanvas 添加到相应的 Container 中用于窗口显示,实现 GLEventListener 中的init、display、reshape 等方法用于 GL 的设置和渲染,然后添加到 GLCanvas 上从而被程序调用。例子程序操作步骤如下:1、新建 Java 工程,新建两个类,一个窗口相关类(JoglApp),一个GL相关类(JoglEventListener)2、下载 阅读全文

posted @ 2012-11-02 10:37 redfler 阅读(881) 评论(0) 推荐(0) 编辑

导航