Exemplo n.º 1
0
  // ----------------------------------------------------------
  //	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;
  }