6 import java.io.BufferedReader;
7 import java.io.PrintWriter;
8 import java.io.IOException;
14 public MFVec3f(
float[] vec3fs) {
15 this(vec3fs.length, vec3fs);
18 public MFVec3f(
int size,
float[] vec3fs) {
19 for (
int i = 0; i < size; i += 3)
20 __vect.addElement(
new ConstSFVec3f(vec3fs[i], vec3fs[i+1], vec3fs[i+2]));
23 public MFVec3f(
float[][] vec3fs) {
24 for (
int i = 0; i < vec3fs.length; i++)
25 __vect.addElement(
new ConstSFVec3f(vec3fs[i][0], vec3fs[i][1], vec3fs[i][2]));
28 public void getValue(
float[] vec3fs) {
30 int size = __vect.size();
31 for (
int i = 0; i < size; i++) {
33 vec3fs[3*i+0] = sfVec3f.x;
34 vec3fs[3*i+1] = sfVec3f.y;
35 vec3fs[3*i+2] = sfVec3f.z;
39 public void getValue(
float[][] vec3fs) {
41 int size = __vect.size();
42 for (
int i = 0; i < size; i++)
43 ((
ConstSFVec3f) __vect.elementAt(i)).getValue(vec3fs[i]);
46 public void get1Value(
int index,
float[] vec3fs) {
48 ((
ConstSFVec3f) __vect.elementAt(index)).getValue(vec3fs);
51 public void get1Value(
int index,
SFVec3f sfVec3f) {
53 sfVec3f.setValue((
ConstSFVec3f) __vect.elementAt(index));
56 public void setValue(
float[] vec3fs) {
57 setValue(vec3fs.length, vec3fs);
60 public void setValue(
int size,
float[] vec3fs) {
62 for (
int i = 0; i < size; i += 3)
63 __vect.addElement(
new ConstSFVec3f(vec3fs[i], vec3fs[i+1], vec3fs[i+2]));
67 public void set1Value(
int index,
float x,
float y,
float z) {
71 public void set1Value(
int index,
SFVec3f sfVec3f) {
72 sfVec3f.__updateRead();
73 __set1Value(index,
new ConstSFVec3f(sfVec3f.x, sfVec3f.y, sfVec3f.z));
77 __set1Value(index, sfVec3f);
80 public void addValue(
float x,
float y,
float z) {
84 public void addValue(
SFVec3f sfVec3f) {
85 sfVec3f.__updateRead();
86 __addValue(
new ConstSFVec3f(sfVec3f.x, sfVec3f.y, sfVec3f.z));
93 public void insertValue(
int index,
float x,
float y,
float z) {
97 public void insertValue(
int index,
SFVec3f sfVec3f) {
98 sfVec3f.__updateRead();
99 __insertValue(index,
new ConstSFVec3f(sfVec3f.x, sfVec3f.y, sfVec3f.z));
102 public void insertValue(
int index,
ConstSFVec3f sfVec3f) {
103 __insertValue(index, sfVec3f);
106 public String toString() {
108 StringBuffer sb =
new StringBuffer(
"[");
109 int size = __vect.size();
110 for (
int i = 0; i < size; i++) {
111 if (i > 0) sb.append(
", ");
112 sb.append(__vect.elementAt(i));
114 return sb.append(
"]").toString();
117 public void __fromPerl(BufferedReader in)
throws IOException {
119 String lenline = in.readLine();
122 int len = Integer.parseInt(lenline);
123 for (
int i = 0; i < len; i++) {
126 __vect.addElement(sf);
130 public void __toPerl(PrintWriter out)
throws IOException {
131 StringBuffer sb =
new StringBuffer(
"");
132 int size = __vect.size();
134 for (
int i = 0; i < size; i++) {
136 if (i != (size-1)) out.print (
", ");