Revision 25559 trunk/libraries/lib3DMap/src/org/gvsig/gvsig3d/cacheservices/OSGCacheService.java

View differences:

OSGCacheService.java
53 53
	private boolean newLayerOSG = false;
54 54

  
55 55
	private EditionManager editionManager;
56
	
57
	private ManipulatorHandler manipulatorHandler;
58
	
59
	private EditorListener editionListener;
56 60

  
57 61
	private RemoveAllSelectionCommand command;
58 62

  
......
72 76
		_layer = layer;
73 77
		_layerNode = new Group();
74 78
		_layerNode.setNodeName("layer3DOSG");
79
		try {
80
			editionManager = new EditionManager();
81
			_layerNode.addChild(editionManager);
82
			manipulatorHandler = new ManipulatorHandler();
83
			manipulatorHandler.setActive(false);
84
			editionListener = new EditorListener(
85
					editionManager, manipulatorHandler, layer, _canvas3D);
75 86

  
87
			_canvas3D.getOSGViewer().addEventHandler(manipulatorHandler);
88

  
89
		} catch (NodeException e2) {
90
			// TODO Auto-generated catch block
91
			e2.printStackTrace();
92
		}
93

  
76 94
		try {
77 95
			_planetViewer.addSpecialNode(_layerNode);
78 96
		} catch (NodeException e1) {
......
100 118
	}
101 119

  
102 120
	public Group getLayerNode() {
121
		
122
		try {
123
			return (Group) editionManager.getScene();
124
		} catch (NodeException e) {
125
			// TODO Auto-generated catch block
126
			e.printStackTrace();
127
		}
103 128
		return _layerNode;
104 129
	}
105 130

  
......
126 151
				MultiGeometry root = osgD.getOSGDriver().getRootFeature();
127 152
				// Insert the geometry in the root node of the graph.
128 153
				Group g = new Group();
129
				buildGeometry(root, g);
154
				//buildGeometry(root, g);
130 155
//				 g.addChild(n);
131 156
				_layerNode.addChild(n);
132 157
//				_layerNode.addChild(g);
......
160 185
	public void AddGeometryToLayer(MultiGeometry multiGeometry, Vec3 position,
161 186
			Vec3 rotation, Vec3 scale) {
162 187
		Group group = new Group();
188
		group.setNodeName("GROUP-PAT");
163 189
		PositionAttitudeTransform posAttTrasn = null;
164 190
		try {
165 191
			posAttTrasn = new PositionAttitudeTransform();
166 192
			posAttTrasn.setPosition(position);
167 193
			posAttTrasn.setScale(scale);
194
			posAttTrasn.setNodeName("PAT");
168 195
			// posAttTrasn.setAttitude((float) rotation.x(), new Vec3(1,0,0));
169 196
			// posAttTrasn.setAttitude((float) rotation.y(), new Vec3(0,1,0));
170 197
			// posAttTrasn.setAttitude((float) rotation.z(), new Vec3(0,0,1));
......
172 199
			posAttTrasn.addChild(group);
173 200
			
174 201
			Layer3DProps props3D = Layer3DProps.getLayer3DProps(this._layer);
175
			if (props3D.isEditing()){
202
			//if (props3D.isEditing()){
176 203
				editionManager.setScene(posAttTrasn);
177
			}else{
178
				_layerNode.addChild(posAttTrasn);
179
			}
204
			//}else{
205
				//_layerNode.addChild(posAttTrasn);
206
			//}
180 207
//			 _layerNode.addChild(group);
181 208
		} catch (NodeException e1) {
182 209
			// TODO Auto-generated catch block
......
224 251

  
225 252
	public void startEditing() {
226 253

  
227
		try {
228
			Layer3DProps props3D = Layer3DProps.getLayer3DProps(this._layer);
229
			if ((props3D.getType() == Layer3DProps.layer3DOSG)
230
					&& (!props3D.isEditing())) {
231
				props3D.setEditing(true);
232
				props3D.setNewLayerOSG(true);
233
				JOptionPane.showMessageDialog(null,
234
						"La capa ha sido puesta en edicion");
235
				
236
				editionManager = new EditionManager();
237
				for (int i = 0; i < _layerNode.getNumChildren(); i++) {
238
					Node node = _layerNode.getChild(i);
239
					editionManager.setScene(node);
240
					_layerNode.removeChild(node);
241
				}
242
				_layerNode.addChild(editionManager);
254
		Layer3DProps props3D = Layer3DProps.getLayer3DProps(this._layer);
255
		if ((props3D.getType() == Layer3DProps.layer3DOSG)
256
				&& (!props3D.isEditing())) {
257
			props3D.setEditing(true);
258
			props3D.setNewLayerOSG(true);
259
			JOptionPane.showMessageDialog(null,
260
					"La capa ha sido puesta en edicion");
261
			
262
			//editionManager = new EditionManager();
263
			//editionManager.setNodeName("EDITIONMANAGER");
264
			//editionManager.getChild(0).setNodeName("GROUP");
265
//				for (int i = 0; i < _layerNode.getNumChildren(); i++) {
266
//					Node node = _layerNode.getChild(i);
267
//					editionManager.setScene(node);
268
//					_layerNode.removeChild(node);
269
//				}
270
			//_layerNode.addChild(editionManager);
271
			//_layerNode.setNodeName("LAYERNODE");
243 272
//				Group parent = _layerNode.getParent(0);
244 273
//				parent.removeChild(_layerNode);
245 274
//				parent.addChild(editionManager);
246
				
275
			
247 276

  
248
				ManipulatorHandler manipulatorHandler = new ManipulatorHandler();
249
				manipulatorHandler.setActive(true);
277
			//ManipulatorHandler manipulatorHandler = new ManipulatorHandler();
278
			//manipulatorHandler.setActive(true);
279
			// public void changeDragger(String draggerType)
280
			//editionManager.changeDragger(DraggerType.ROTATE_SPHERE_DRAGGER
281
			// );
282
			// editionManager.changeDragger(DraggerType.TABBOX_DRAGGER);
283
			//editionManager.changeDragger(DraggerType.TRANSLATE_AXIS_DRAGGER
284
			// );
250 285

  
251
				EditorListener editionListener = new EditorListener(
252
						editionManager, manipulatorHandler, _canvas3D);
253

  
254
				_canvas3D.getOSGViewer().addEventHandler(manipulatorHandler);
255

  
256
				// public void changeDragger(String draggerType)
257
				//editionManager.changeDragger(DraggerType.ROTATE_SPHERE_DRAGGER
258
				// );
259
				// editionManager.changeDragger(DraggerType.TABBOX_DRAGGER);
260
				//editionManager.changeDragger(DraggerType.TRANSLATE_AXIS_DRAGGER
261
				// );
262

  
263
			}
264
		} catch (NodeException e) {
265
			// TODO Auto-generated catch block
266
			e.printStackTrace();
267 286
		}
268 287
	}
269 288

  
270 289
	public void endEditing() {
271 290

  
272
		try {
273
			Layer3DProps props3D = Layer3DProps.getLayer3DProps(this._layer);
274
			if ((props3D.getType() == Layer3DProps.layer3DOSG)
275
					&& (props3D.isEditing())) {
276
				props3D.setEditing(false);
291
		Layer3DProps props3D = Layer3DProps.getLayer3DProps(this._layer);
292
		if ((props3D.getType() == Layer3DProps.layer3DOSG)
293
				&& (props3D.isEditing())) {
294
			props3D.setEditing(false);
277 295

  
278
				if (props3D.isNewLayerOSG()) 
279
					JOptionPane
280
							.showMessageDialog(null,
281
									"La capa ha sido modificada, recuerde salvar los cambios.");
296
			if (props3D.isNewLayerOSG()) 
297
				JOptionPane
298
						.showMessageDialog(null,
299
								"La capa ha sido modificada, recuerde salvar los cambios.");
282 300

  
283
				command = new RemoveAllSelectionCommand(editionManager);
284
				command.execute();
301
			command = new RemoveAllSelectionCommand(editionManager);
302
			command.execute();
285 303

  
286
				Group scene = editionManager.getTransformedScene();
287
				
288
				for (int i = 0; i < _layerNode.getNumChildren(); i++) {
289
					Node node = _layerNode.getChild(i);
290
					_layerNode.removeChild(node);
291
					
292
				}
293
				_layerNode.addChild(scene);
294
				
304
			//Group scene = editionManager.getTransformedScene();
305
			
306
//				for (int i = 0; i < _layerNode.getNumChildren(); i++) {
307
//					Node node = _layerNode.getChild(i);
308
//					_layerNode.removeChild(node);
309
//					
310
//				}
311
			//_layerNode.removeChildren();
312
			
313
//				for (int i =0; i < scene.getNumChildren(); i++){
314
//					
315
//					_layerNode.addChild(scene.getChild(i));
316
//					
317
//				}
318
//				
319
							
295 320
//				Group parent = _layerNode.getParent(0);
296 321
//				parent.removeChild(_layerNode);
297 322
//				parent.addChild(scene);
298
				// public void changeDragger(String draggerType)
299
				//editionManager.changeDragger(DraggerType.ROTATE_SPHERE_DRAGGER
300
				// );
301
				// editionManager.changeDragger(DraggerType.TABBOX_DRAGGER);
302
				//editionManager.changeDragger(DraggerType.TRANSLATE_AXIS_DRAGGER
303
				// );
323
			// public void changeDragger(String draggerType)
324
			//editionManager.changeDragger(DraggerType.ROTATE_SPHERE_DRAGGER
325
			// );
326
			// editionManager.changeDragger(DraggerType.TABBOX_DRAGGER);
327
			//editionManager.changeDragger(DraggerType.TRANSLATE_AXIS_DRAGGER
328
			// );
329
			
330
			manipulatorHandler.setActive(false);
304 331

  
305
			}
306
		} catch (NodeException e) {
307
			// TODO Auto-generated catch block
308
			e.printStackTrace();
309 332
		}
310 333

  
311 334
	}

Also available in: Unified diff