1 /* 2 * $RCSfile: GraphStructureChangeListener.java,v $ 3 * 4 * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. 5 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6 * 7 * This code is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 only, as 9 * published by the Free Software Foundation. Sun designates this 10 * particular file as subject to the "Classpath" exception as provided 11 * by Sun in the LICENSE file that accompanied this code. 12 * 13 * This code is distributed in the hope that it will be useful, but WITHOUT 14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16 * version 2 for more details (a copy is included in the LICENSE file that 17 * accompanied this code). 18 * 19 * You should have received a copy of the GNU General Public License version 20 * 2 along with this work; if not, write to the Free Software Foundation, 21 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 22 * 23 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 24 * CA 95054 USA or visit www.sun.com if you need additional information or 25 * have any questions. 26 * 27 * $Revision: 1.5 $ 28 * $Date: 2008/02/28 20:17:22 $ 29 * $State: Exp $ 30 */ 31 32 package javax.media.j3d; 33 34 /** 35 * Listener interface for monitoring structural changes to live scene 36 * graphs. BranchGroup additions, removals and moves are reported. 37 * 38 * @see VirtualUniverse#addGraphStructureChangeListener 39 * 40 * @since Java 3D 1.4 41 */ 42 public interface GraphStructureChangeListener { 43 /** 44 * Invoked when a branch group is added. 45 * Called just before the child is added to the parent. 46 * Parent can be either a BranchGroup or a Locale. 47 * 48 * @param parent the parent of the child being added 49 * @param child the child being added 50 */ branchGroupAdded(Object parent, BranchGroup child)51 public void branchGroupAdded(Object parent, BranchGroup child); 52 53 /** 54 * Invoked when a branch group is removed. 55 * Called just after the child has been removed from the parent. 56 * Parent can be either a BranchGroup or a Locale. 57 * 58 * @param parent the parent of the child being added 59 * @param child the child being added 60 */ branchGroupRemoved(Object parent, BranchGroup child)61 public void branchGroupRemoved(Object parent, BranchGroup child); 62 63 /** 64 * Invoked when a branch group is moved. 65 * Called after a child has been moved to it's new parent. This call differs 66 * from the other methods in that the child is live when this method is called. 67 * 68 * @param oldParent the original parent of the child being moved 69 * @param newParent the new parent of the child being moved 70 * @param child the child being moved 71 */ branchGroupMoved(Object oldParent, Object newParent, BranchGroup child)72 public void branchGroupMoved(Object oldParent, Object newParent, BranchGroup child); 73 } 74