[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00062] Re: 投稿テスト。



=======PR=============================================================
     ◆ 正月気分は抜けきれないのに
          やらなきゃいけないことはたくさん… (*_*)
       ◇ じゃ、香りでいっぱいの珈琲でも
               飲んでからにしようか? (^_^)
    今年も始まりは珈琲問屋から < http://www.tonya.co.jp/dns.html >
=========================================================PR===========

オリジナルのアーティクル[Java3Djp:00001]は多分だれも読んでいないとおもいますので、
全文引用しながらフォローを書いてみます。

ENDO Yasuyukiさんの<19990104200610.AAA782@xxxxxxxxxx>から
>投稿テストです。
>
>Java3D のメソッドには、プリミティブ型の配列をとるものがありますが、
>ラッパークラスの配列をとる同名のメソッドを作っておいてもらえないものでしょうか?
これはJavaSoft(Sun)に言いたいんですね?>自分

>たとえば、javax.media.j3d.IndexedTriangleArray には、
>
>public final void setCoordinateIndices(int index,
>                                       int[] coordinateIndices)
>
>というメソッドがありますが、この2番目の引数が Integer[] だったら
>どんなに便利かと思います。
>
>今やっている地層表示プログラムでは、ファイルから地層のメッシュデータを
>読んで、メッシュの4頂点を2つの三角形ポリゴンとして定義するということ
>をやっています。
>実際には厚みゼロの地層があり、ポリゴン数は事前にわかりません。
>このため、ポリゴンの頂点インデックスを計算して java.util.ArrayList に
>put して保存しています。当然入っているのは Integer 型です。
>ArrayList には toArray() というメソッドがあり、Integer[] には一括コピー
>できるのですが、int[] にはコピーできません。
>この Integer[] の要素数が数万もあるので今めげています。
>
>        Integer[] vi =
>          (Integer[])my_arraylist.toArray(new Integer[0]);
>        int[] indices = new int[vi.length];
>        for (int i=0; i<vi.length; i++) {
>          indices[i] = vi[i].intValue();
>        }
>
>今こんなコードを書いているのですがちょっとむなしいです。^^;

Java互助会MLにも書きましたが、結局このようなクラスを書こうと思います。

package jp.co.timedia.util;

public class Int {
  public int i;

  public Int(int i) {
    this.i = i;
  }

  public static int[] toIntArray(Int[] ints) {
    int[] intarray = null;
    if (ints != null) {
      intarray = new int[ints.length];
      for (int n=0; n<ints.length; n++) {
        intarray[n] = ints[n].i;
      }
    }
    return intarray;
  }
}

このような「低レベル」(c)低レ研 のJavaコードを書いて、
「Javaジョーク・プログラミング」を確立したいと思います。(^^;)
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル8F    FAX 03-5362-9008