001: /*
002: * $RCSfile: Group.java,v $
003: *
004: * @(#)Group.java 1.31 98/11/05 20:34:30
005: *
006: * Copyright (c) 1996-1998 Sun Microsystems, Inc. All Rights Reserved.
007: *
008: * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
009: * modify and redistribute this software in source and binary code form,
010: * provided that i) this copyright notice and license appear on all copies of
011: * the software; and ii) Licensee does not utilize the software in a manner
012: * which is disparaging to Sun.
013: *
014: * This software is provided "AS IS," without a warranty of any kind. ALL
015: * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
016: * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
017: * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
018: * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
019: * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
020: * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
021: * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
022: * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
023: * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
024: * POSSIBILITY OF SUCH DAMAGES.
025: *
026: * This software is not designed or intended for use in on-line control of
027: * aircraft, air traffic, aircraft navigation or aircraft communications; or in
028: * the design, construction, operation or maintenance of any nuclear
029: * facility. Licensee represents and warrants that it will not use or
030: * redistribute the Software for such purposes.
031: *
032: * $Revision: 1.2 $
033: * $Date: 2005/02/03 23:06:56 $
034: * $State: Exp $
035: */
036: /*
037: * @Author: Rick Goldberg
038: * @Author: Doug Gehringer
039: *
040: */
041: package org.jdesktop.j3d.loaders.vrml97.impl;
042:
043: import java.util.Vector;
044: import javax.media.j3d.BoundingSphere;
045: import javax.vecmath.Point3d;
046:
047: /** Description of the Class */
048: public class Group extends GroupBase {
049:
050: // all fields come from GroupBase
051:
052: javax.media.j3d.Group impl;
053:
054: /**
055: *Constructor for the Group object
056: *
057: *@param loader Description of the Parameter
058: */
059: public Group(Loader loader) {
060: super (loader);
061: }
062:
063: /**
064: *Constructor for the Group object
065: *
066: *@param loader Description of the Parameter
067: *@param children Description of the Parameter
068: *@param bboxCenter Description of the Parameter
069: *@param bboxSize Description of the Parameter
070: */
071: Group(Loader loader, MFNode children, SFVec3f bboxCenter,
072: SFVec3f bboxSize) {
073: super (loader, children, bboxCenter, bboxSize);
074: }
075:
076: /** Description of the Method */
077: void initImpl() {
078: impl = new javax.media.j3d.Group();
079: implGroup = impl;
080: implNode = impl;
081: impl.setUserData(new Vector());
082: super .replaceChildren();// init the implGroup for clone()
083: implReady = true;
084: }
085:
086: /**
087: * Description of the Method
088: *
089: *@param g Description of the Parameter
090: */
091: void initImpl(javax.media.j3d.Group g) {
092: impl = g;
093: implGroup = impl;
094: implNode = impl;
095: impl.setUserData(new Vector());
096: super .replaceChildren();// init the implGroup for clone()
097: implReady = true;
098: }
099:
100: /**
101: * Description of the Method
102: *
103: *@param eventInName Description of the Parameter
104: *@param time Description of the Parameter
105: */
106: public void notifyMethod(String eventInName, double time) {
107: super .notifyMethod(eventInName, time);
108: }
109:
110: /**
111: * Description of the Method
112: *
113: *@return Description of the Return Value
114: */
115: public Object clone() {
116: Object o = new Group(loader, (MFNode) children.clone(),
117: (SFVec3f) bboxCenter.clone(), (SFVec3f) bboxSize
118: .clone());
119: loader.cleanUp();
120: return o;
121: }
122:
123: /**
124: * Gets the type attribute of the Group object
125: *
126: *@return The type value
127: */
128: public String getType() {
129: return "Group";
130: }
131:
132: /** Description of the Method */
133: void initFields() {
134: initGroupBaseFields();
135: }
136:
137: }
|