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

View differences:

OSGCacheService.java
166 166
			// posAttTrasn.setAttitude((float) rotation.z(), new Vec3(0,0,1));
167 167
			buildGeometry(multiGeometry, group);
168 168
			posAttTrasn.addChild(group);
169
			_layerNode.addChild(posAttTrasn);
169
			
170
			Layer3DProps props3D = Layer3DProps.getLayer3DProps(this._layer);
171
			if (props3D.isEditing()){
172
				editionManager.setScene(posAttTrasn);
173
			}else{
174
				_layerNode.addChild(posAttTrasn);
175
			}
170 176
			// _layerNode.addChild(group);
171 177
		} catch (NodeException e1) {
172 178
			// TODO Auto-generated catch block
......
219 225
			if ((props3D.getType() == Layer3DProps.layer3DOSG)
220 226
					&& (!props3D.isEditing())) {
221 227
				props3D.setEditing(true);
228
				props3D.setNewLayerOSG(true);
222 229
				JOptionPane.showMessageDialog(null,
223 230
						"la capa ha sido puesta en edicion automaticamente");
231
				
224 232
				editionManager = new EditionManager();
225
				editionManager.setScene(_layerNode);
233
				for (int i = 0; i < _layerNode.getNumChildren(); i++) {
234
					Node node = _layerNode.getChild(i);
235
					editionManager.setScene(node);
236
					
237
				}
226 238
				Group parent = _layerNode.getParent(0);
227 239
				parent.removeChild(_layerNode);
228 240
				parent.addChild(editionManager);
241
				
242
//				editionManager = new EditionManager();
243
//				editionManager.setScene(_layerNode);
244
//				Group parent = _layerNode.getParent(0);
245
//				parent.removeChild(_layerNode);
246
//				parent.addChild(editionManager);
229 247

  
230 248
				ManipulatorHandler manipulatorHandler = new ManipulatorHandler();
231 249
				manipulatorHandler.setActive(true);
......
250 268
	}
251 269

  
252 270
	public void endEditing() {
253
		
271

  
254 272
		try {
255 273
			Layer3DProps props3D = Layer3DProps.getLayer3DProps(this._layer);
256 274
			if ((props3D.getType() == Layer3DProps.layer3DOSG)
257 275
					&& (props3D.isEditing())) {
258 276
				props3D.setEditing(false);
259
				
260
				 command = new RemoveAllSelectionCommand(editionManager);
261
				 command.execute();
262
				 
263
				 Group scene = editionManager.getTransformedScene();
264
				 Group parent = _layerNode.getParent(0);
265
				 parent.removeChild(_layerNode);
266
				 parent.addChild(scene);
267
				 
277

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

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

  
286
				Group scene = editionManager.getTransformedScene();
287
				Group parent = _layerNode.getParent(0);
288
				parent.removeChild(_layerNode);
289
				parent.addChild(scene);
268 290
				// public void changeDragger(String draggerType)
269 291
				//editionManager.changeDragger(DraggerType.ROTATE_SPHERE_DRAGGER
270 292
				// );
......
277 299
			// TODO Auto-generated catch block
278 300
			e.printStackTrace();
279 301
		}
280
		
302

  
281 303
	}
304

  
282 305
	public EditionManager getEditionManager() {
283 306
		return editionManager;
284 307
	}
......
287 310
		this.editionManager = editionManager;
288 311
	}
289 312

  
290

  
291 313
}

Also available in: Unified diff