View Javadoc

1   /* -------------------------------------------------------------------
2    * Java source file for the class EdgeTable
3    * 
4    * Copyright (c), 2003, Masahiro Takatsuka.
5    * All Rights Researved.
6    * 
7    * Original Author: Masahiro Takatsuka (masa@jbeans.net)
8    * $Author: takatsukam $
9    * 
10   * $Date: 2004/03/03 11:53:06 $
11   * 
12   * $Id: EdgeTable.java,v 1.3 2004/03/03 11:53:06 takatsukam Exp $
13   * 
14   * Reference:		Document no:
15   * ___				___
16   * 
17   * To Do:
18   * ___
19   * 
20  ------------------------------------------------------------------- */
21  
22  /* --------------------------- Package ---------------------------- */
23  package net.jbeans.j3d.modeler.geometry.util;
24  
25  /* ------------------ Import classes (packages) ------------------- *//package-summary/html">class="comment"> ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment">/* ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment"> ------------------ Import classes (packages) ------------------- */
26  import java.io.*;
27  import java.util.*;
28  
29  /*====================================================================
30                    Implementation of class EdgeTable                   
31  ====================================================================*/
32  /***
33   * generally describe EdgeTable in here
34   * 
35   * @version $Revision: 1.3 $
36   * @author Masahiro Takatsuka (masa@jbeans.net)
37   */
38  
39  class EdgeTable {
40      private Hashtable edgeTable;
41  
42      EdgeTable(int ai[]) { 
43          this.edgeTable = new Hashtable(ai.length * 2, 0.51F);
44          for (int i = 0; i < ai.length; i += 3) {
45  			for (int j = 0; j < 3; j++) {
46                  Edge edge = new Edge(ai[i + j], ai[i + (j + 1) % 3]);
47                  if (this.edgeTable.get(edge) == null) {
48                      this.edgeTable.put(edge, new Integer(i + (j + 2) % 3));
49  				}
50              }
51          }
52      }
53  
54      Integer get(int i, int j) {
55          return (Integer)this.edgeTable.get(new Edge(i, j));
56      }
57  
58      Integer get(Edge edge) {
59          return (Integer)this.edgeTable.get(edge);
60      }
61  }