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

[Java3Djp:01673] Re: BoundingBox について



 〜 12月1日新しいビジネスが始まる!ビジネスも楽天、楽天ビジネス誕生 〜
         ●●●●●●●●●●●●●●●●●●●●●●●●●●●
         ● サービスリリース第一弾!ビジネスサービス商談市場 ●
         ●●●●●●●●●●●●●●●●●●●●●●●●●●●
〜〜〜〜〜 今すぐアクセス! http://business.rakuten.co.jp 〜〜〜〜〜
----------------------------------------------------------------------

えんどうです。 

Javaの基本に立ち戻り、
reference(参照)とは何かを復習すべきだと思います。

>       Point3d upperVertex = objBounds.getLower();
>       Point3d lowerVertex = objBounds.getUpper();

getLower(), getUpper()は戻り値を返しません。

Point3d upper = new Point3d();
Point3d lower = new Point3d();

objBounds.getUpper(upper);
objBounds.getLower(lower);

こうやらないとだめです。

初期化はユーザー側がやり、
ユーザーが用意した器(変数)に値を満たして戻す
という場合が多いです。

> ということは分かっています。getLower(Point3d p1)のp1には
> 座標をいれるんでしょうか?どこの座標をいれるのですか?

最初は何も入れる必要が無く、getUpper()/getLowor()を
呼んだときにはじめて値が入ります。

> BY_REFERENCEはGeometryArrayのインスタンスの
> 位置などの座標を特定するためのものとありますが、
> 具体的には何をしてくれるんでしょうか。
> 記述としては
> geom.setCapability(GeometryArray.BY_REFERENCE)
> とすると、GeometryからGeometryArrayクラスの
> メソッドで座標をとれるようになりますか?

BY_REFERENCEはShape3Dのコンストラクター引数に
渡さないとだめです。

デフォルトは BY_REFERECEでは*ない*ので、
setCoordinates()で渡された頂点座標が
Shape3D(内部に)コピーされます。

BY_REFERENCEをコンストラクター引数に指定して
Shape3Dを生成したときは頂点座標の参照が使われます。

ここでは頂点座標を得たいだけですので、
BY_REFERENCEのことは考えずに
まずgetCoordinates()を使ってみるのが良いのでは?

-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.ss.iij4u.or.jp/~eyasuyuk/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)