コード例 #1
0
ファイル: X3DParser.java プロジェクト: SIGVerse/x3d
  // ----------------------------------------------------------
  //	parse
  // ----------------------------------------------------------
  public boolean parse(String fname) {
    File f = new File(fname);
    if (!f.exists()) {
      System.err.println("*** [ERROR] " + fname + " not exists! ***");
      return false;
    }

    FileInputStream stream = null;

    try {
      stream = new FileInputStream(fname);
    } catch (Exception excep) {
      System.out.println(excep.toString());
      return false;
    }

    //	InputSource is = new InputSource(f);
    InputSource is = new InputSource("file://" + fname, stream);

    VRMLParserFactory parser_fac = null;

    try {
      parser_fac = VRMLParserFactory.newVRMLParserFactory();
    } catch (Exception fce) {
      throw new RuntimeException("Failed to load factory");
    }

    VRMLReader reader = parser_fac.newVRMLReader();

    scene = new CRVRMLScene(2, 0);
    handler = new X3DParseEventHandler(scene);

    handler.debugMode(false);
    // handler.debugMode(true);

    reader.setHeaderIgnore(true);
    reader.setContentHandler(handler);
    reader.setScriptHandler(handler);
    reader.setProtoHandler(handler);
    reader.setRouteHandler(handler);
    reader.setErrorReporter(DefaultErrorReporter.getDefaultReporter());

    try {
      reader.parse(is);
    } catch (Exception excep) {
      excep.printStackTrace();
      return false;
    }

    //		VRMLNode root = scene.getRootNode();
    //		printNode(root);

    return true;
  }
コード例 #2
0
  /**
   * Fire a textureImageChanged event to the listeners.
   *
   * @param idx The stage
   * @param node The node which changed
   * @param image The new image
   * @param url The url used to load or null.
   */
  protected void fireTextureImageChanged(
      int idx, VRMLTextureNodeType node, NIOBufferImage image, String url) {
    int size = textureListeners.size();
    VRMLTextureListener l;

    for (int i = 0; i < size; i++) {
      try {
        l = (VRMLTextureListener) textureListeners.get(i);
        l.textureImageChanged(idx, node, image, url);
      } catch (Exception e) {
        System.out.println("Error sending textureImpl changed message: " + e.getMessage());
        e.printStackTrace();
      }
    }
  }