/******************************************************************************* * Copyright (c) 2012, 2013 Association for Decentralized Information Management in * Industry THTH ry. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ package org.simantics.g3d.scenegraph; import java.util.Collection; import org.simantics.g3d.scenegraph.base.INode; import org.simantics.g3d.scenegraph.base.NodeListener; import org.simantics.g3d.scenegraph.base.ParentNode; import org.simantics.objmap.graph.IMapping; public interface NodeMap { public Collection getRenderObjects(E node); public void updateRenderObjectsFor(E node); public E getNode(T t); public ParentNode getRootNode(); /** * Commit changes to the database. */ public void commit(String message); /** * Deletes (Disposes) the map. */ public void delete(); /** * Track changes that are going to be committed into the database. * * Disabling change tracking causes commit() to do nothing. * @param enabled */ public void setChangeTracking(boolean enabled); public boolean isChangeTracking(); /** * Add listener for all scene-graph events. * @param listener */ public void addListener(NodeListener listener); public void removeListener(NodeListener listener); public IMapping getMapping(); }