aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/glu/nurbs/CArrayOfArcs.java
blob: 6d2ab362b4c978568482226f8a88d03b9a572d1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
package jogamp.opengl.glu.nurbs;

/**
 * Class replacing C language pointer
 *
 * @author Tomas Hrasky
 *
 */
public class CArrayOfArcs {
  /**
   * Underlaying array
   */
  private Arc[] array;

  /**
   * Pointer to array member
   */
  private int pointer;

  /**
   * Don't check for array borders?
   */
  private final boolean noCheck = true;

  /**
   * Makes new CArray
   *
   * @param array
   *            underlaying array
   * @param pointer
   *            pointer (index) to array
   */
  public CArrayOfArcs(final Arc[] array, final int pointer) {
    this.array = array;
    // this.pointer=pointer;
    setPointer(pointer);
  }

  /**
   * Makes new CArray from other CArray
   *
   * @param carray
   *            reference array
   */
  public CArrayOfArcs(final CArrayOfArcs carray) {
    this.array = carray.array;
    // this.pointer=carray.pointer;
    setPointer(carray.pointer);
  }

  /**
   * Makes new CArray with pointer set to 0
   *
   * @param ctlarray
   *            underlaying array
   */
  public CArrayOfArcs(final Arc[] ctlarray) {
    this.array = ctlarray;
    this.pointer = 0;
  }

  /**
   * Returns element at pointer
   *
   * @return element at pointer
   */
  public Arc get() {
    return array[pointer];
  }

  /**
   * Increases pointer by one (++)
   */
  public void pp() {
    // pointer++;
    setPointer(pointer + 1);
  }

  /**
   * Sets element at pointer
   *
   * @param f
   *            desired value
   */
  public void set(final Arc f) {
    array[pointer] = f;

  }

  /**
   * Returns array element at specified index
   *
   * @param i
   *            array index
   * @return element at index
   */
  public Arc get(final int i) {
    return array[i];
  }

  /**
   * Returns array element at specified index relatively to pointer
   *
   * @param i
   *            relative index
   * @return element at relative index
   */
  public Arc getRelative(final int i) {
    return array[pointer + i];
  }

  /**
   * Sets value of element at specified index relatively to pointer
   *
   * @param i
   *            relative index
   * @param value
   *            value to be set
   */
  public void setRelative(final int i, final Arc value) {
    array[pointer + i] = value;
  }

  /**
   * Lessens pointer by value
   *
   * @param i
   *            lessen by
   */
  public void lessenPointerBy(final int i) {
    // pointer-=i;
    setPointer(pointer - i);
  }

  /**
   * Returns pointer value
   *
   * @return pointer value
   */
  public int getPointer() {
    return pointer;
  }

  /**
   * Sets ponter value
   *
   * @param pointer
   *            pointer value to be set
   */
  public void setPointer(final int pointer) {
    if (!noCheck && pointer > array.length)
      throw new IllegalArgumentException("Pointer " + pointer
                                         + " out of bounds " + array.length);
    this.pointer = pointer;
  }

  /**
   * Raises pointer by value
   *
   * @param i
   *            raise by
   */
  public void raisePointerBy(final int i) {
    // pointer+=i;
    setPointer(pointer + i);
  }

  /**
   * Lessens ponter by one (--)
   */
  public void mm() {
    // pointer--;
    setPointer(pointer - 1);
  }

  /**
   * Returns underlaying array
   *
   * @return underlaying array
   */
  public Arc[] getArray() {
    return array;
  }

  /**
   * Sets underlaying array
   *
   * @param array
   *            underlaying array
   */
  public void setArray(final Arc[] array) {
    this.array = array;
  }
}