1、在窗口中点击一下,实际添加了两个点,如果是面测量,还会再添一个点,共三个点,此时还没构成面对象,会使用 BasicAnnotationRenderer 对象以标记形式绘制 MeasureTool$ControlPoint 的点对象,再点一下,就有了四个点,构造 SurfacePolygon 后,添加到 CustomRenderableLayer 中,然后在 doRepaint 方法中先在 preRender 方法中创建 Tile 的网格及纹理,再在 draw 方法中进行渲染
MeasureToolController.mousePressed(MouseEvent) line: 225MeasureTool.addControlPoint() line: 1053 MeasureTool.addControlPoint(Position, String, Object) line: 2080 MeasureTool.doAddControlPoint(MeasureTool$ControlPoint) line: 2096 MeasureTool$CustomRenderableLayer(RenderableLayer).setRenderables(Iterable<Renderable>) line: 2732、调用 CustomRenderableLayer 的 preRender 方法中将 SurfacePolygon 添加到 dc 中
StereoOptionSceneController(BasicSceneController).doRepaint(DrawContext) line: 27 StereoOptionSceneController(AbstractSceneController).preRender(DrawContext) line: 512MeasureTool$CustomRenderableLayer(AbstractLayer).preRender(DrawContext) line: 217 MeasureTool$CustomRenderableLayer(RenderableLayer).doPreRender(DrawContext) line: 356MeasureTool$CustomRenderableLayer(RenderableLayer).doPreRender(DrawContext, Iterable<Renderable>) line: 378 MeasureTool$CustomRenderableLayer(AbstractLayer).preRender(DrawContext) line: 217 MeasureTool$CustomRenderableLayer(RenderableLayer).doPreRender(DrawContext) line: 356MeasureTool$CustomRenderableLayer(RenderableLayer).doPreRender(DrawContext, Iterable<Renderable>) line: 378 SurfacePolygon(AbstractSurfaceObject).preRender(DrawContext) line: 216 SurfacePolygon(AbstractSurfaceShape).makeOrderedPreRenderable(DrawContext) line: 552 SurfacePolygon(AbstractSurfaceObject).makeOrderedPreRenderable(DrawContext) line: 464 DrawContextImpl.addOrderedSurfaceRenderable(OrderedRenderable) line: 6773、调用 preRenderOrderedSurfaceRenderables 方法构造 SurfaceObjectTileBuilder,然后递归构造 SurfaceObjectTile,最后添加到 currentTiles 中
StereoOptionSceneController(BasicSceneController).doRepaint(DrawContext) line: 27 StereoOptionSceneController(AbstractSceneController).preRender(DrawContext) line: 529 StereoOptionSceneController(AbstractSceneController).preRenderOrderedSurfaceRenderables(DrawContext) line: 937 StereoOptionSceneController(AbstractSceneController).buildCompositeSurfaceObjects(DrawContext) line: 1051 SurfaceObjectTileBuilder.buildTiles(DrawContext, Iterable<?>) line: 344 SurfaceObjectTileBuilder.assembleTiles(DrawContext) line: 859 SurfaceObjectTileBuilder.addTileOrDescendants(DrawContext, LevelSet, SurfaceObjectTileBuilder$SurfaceObjectTile, SurfaceObjectTileBuilder$SurfaceObjectTile) line: 911 SurfaceObjectTileBuilder.addTile(SurfaceObjectTileBuilder$SurfaceObjectTile) line: 9844、得到 currentTiles 后,遍历其中的每个 Tile,创建纹理,然后采用渲染到纹理机制,分别绘制几何体的内部和外部,完成每个 SurfaceObjectTile 的网格和纹理的设置后,返回并添加到 surfaceObjectTiles 中
StereoOptionSceneController(BasicSceneController).doRepaint(DrawContext) line: 27 StereoOptionSceneController(AbstractSceneController).preRender(DrawContext) line: 529 StereoOptionSceneController(AbstractSceneController).preRenderOrderedSurfaceRenderables(DrawContext) line: 937 StereoOptionSceneController(AbstractSceneController).buildCompositeSurfaceObjects(DrawContext) line: 1051 SurfaceObjectTileBuilder.buildTiles(DrawContext, Iterable<?>) line: 345 SurfaceObjectTileBuilder.updateTiles(DrawContext) line: 489 SurfaceObjectTileBuilder.updateTile(DrawContext, SurfaceObjectTileBuilder$SurfaceObjectTile) line: 554 SurfacePolygon(AbstractSurfaceObject).render(DrawContext) line: 268 SurfacePolygon(AbstractSurfaceObject).drawOrderedRenderable(DrawContext) line: 595 SurfacePolygon(AbstractSurfaceShape).drawGeographic(DrawContext, SurfaceTileDrawContext) line: 574 SurfacePolygon(AbstractSurfaceShape).doDrawGeographic(DrawContext, SurfaceTileDrawContext) line: 6415、得到 surfaceObjectTiles 后,在 draw 方法中进行渲染
StereoOptionSceneController(BasicSceneController).doRepaint(DrawContext) line: 27 StereoOptionSceneController.draw(DrawContext) line: 141 StereoOptionSceneController(AbstractSceneController).draw(DrawContext) line: 843 StereoOptionSceneController(AbstractSceneController).drawOrderedSurfaceRenderables(DrawContext) line: 985 StereoOptionSceneController(AbstractSceneController).drawCompositeSurfaceObjects(DrawContext) line: 1094 GeographicSurfaceTileRenderer(SurfaceTileRenderer).renderTiles(DrawContext, Iterable<SurfaceTile>) line: 101