com.jblend.graphics.m3d
インタフェース Graphics3D <Phase3>


public interface Graphics3D

描画機能を 3D ポリゴン用に拡張するためのインターフェイスです。

MIDP の javax.microedition.lcdui.Graphics クラスの描画機能を拡張しています。

javax.microedition.lcdui.Canvas クラスの paint() メソッドに渡される Graphics オブジェクトには、このインターフェイスが実装されてます。

このインタフェースのメソッドを利用する時は、 Graphics オブジェクトをキャストして利用してください。 以下にこのインタフェースのメソッドを利用する使用例を示します。


 // Canvas クラスのサブクラスである MyCanvas クラスを作成する例
 class MyCanvas extends Canvas{
 
     RenderContext3D render = new RenderContext3D();
 
     // paint() メソッドのオーバーライド
     public void paint(Graphics g) {

         // Graphics オブジェクトを Graphics3D オブジェクトにキャスト
         Graphics3D g3d = (Graphics3D) g;
 
         // レンダリングコンテキストを登録する
         g3d.setRenderContext( render );
 
         // Graphics3D インタフェースのメソッドで描画
         g3d.drawFigure(figure, true);
         ...
     }
 }
 


メソッドの概要
 void drawCommandList(CommandList command, boolean update)
          コマンドリストをレンダリングします。
 void drawFigure(Figure figure, boolean update)
          モデルをレンダリングします。
 void drawPointSprite(PointSprite[] sprite, boolean update)
          スプライト配列をレンダリングします。
 void drawPointSprite(PointSpriteArray sprite, boolean update)
          スプライト集合をレンダリングします。
 void drawPrimitive(Primitive[] primitive, boolean update)
          プリミティブ配列をレンダリングします。
 void drawPrimitive(PrimitiveArray primitive, boolean update)
          プリミティブ集合をレンダリングします。
 void flush()
          遅延させていた描画を実行します。
 void setRenderContext(RenderContext3D render)
          描画するレンダラを登録します。
 

メソッドの詳細

setRenderContext

public void setRenderContext(RenderContext3D render)
描画するレンダラを登録します。

このメソッドで描画するレンダリングコンテキストを登録していないとレンダリングをおこなえません。
複数の描画対象 (Canvas,Image) に対して、同時にレンダリングをおこなう場合には、別々のレンダラを登録してください。

パラメータ:
render - 3Dレンダリングコンテキスト

drawFigure

public void drawFigure(Figure figure,
                       boolean update)
モデルをレンダリングします。

引数 update に true が指定された場合はすぐに描画しますが、 false が指定された場合は flush() メソッドが呼び出されるまでは描画しません。

パラメータ:
figure - モデルオブジェクト
update - すぐに描画する場合は true、すぐに描画しない場合は false
例外:
NullPointerException - 引数 figure に null が指定された場合に発生する

drawPrimitive

public void drawPrimitive(PrimitiveArray primitive,
                          boolean update)
プリミティブ集合をレンダリングします。

引数 update に true が指定された場合はすぐに描画しますが、 false が指定された場合は flush()メソッドが呼び出されるまでは描画しません。

パラメータ:
primitive - プリミティブ集合
update - すぐに描画する場合は true、すぐに描画しない場合は false
例外:
NullPointerException - 引数 primitive に null が指定された場合に発生する

drawPrimitive

public void drawPrimitive(Primitive[] primitive,
                          boolean update)
プリミティブ配列をレンダリングします。

引数 update に true が指定された場合はすぐに描画しますが、 false が指定された場合は flush()メソッドが呼び出されるまでは描画しません。

引数のプリミティブ配列の各要素は、同じタイプ (コンストラクタに同一の引数値を指定したもの) のデータでなければなりません。

パラメータ:
primitive - プリミティブ配列
update - すぐに描画する場合は true、すぐに描画しない場合は false
例外:
NullPointerException - 引数 primitive に null が指定された場合に発生する

drawPointSprite

public void drawPointSprite(PointSpriteArray sprite,
                            boolean update)
スプライト集合をレンダリングします。

引数 update に true が指定された場合はすぐに描画しますが、 false が指定された場合は flush()メソッドが呼び出されるまでは描画しません。

パラメータ:
sprite - スプライト集合
update - すぐに描画する場合は true、すぐに描画しない場合は false
例外:
NullPointerException - 引数 sprite に null が指定された場合に発生する

drawPointSprite

public void drawPointSprite(PointSprite[] sprite,
                            boolean update)
スプライト配列をレンダリングします。

引数 update に true が指定された場合はすぐに描画しますが、 false が指定された場合は flush()メソッドが呼び出されるまでは描画しません。

パラメータ:
sprite - スプライト配列
update - すぐに描画する場合は true、すぐに描画しない場合は false
例外:
NullPointerException - 引数 sprite に null が指定された場合に発生する

drawCommandList

public void drawCommandList(CommandList command,
                            boolean update)
コマンドリストをレンダリングします。

引数 update に true が指定された場合はすぐに描画しますが、 false が指定された場合は flush()メソッドが呼び出されるまでは描画しません。

パラメータ:
command - コマンド配列
update - すぐに描画する場合は true、すぐに描画しない場合は false
例外:
NullPointerException - 引数 command に null が指定された場合に発生する

flush

public void flush()
遅延させていた描画を実行します。 drawFigure()drawPrimitive()drawPointSprite()drawCommandList() で 引数 update に false が指定された場合、 各メソッドではすぐには描画しませんが、 このメソッドが呼び出されると描画します。


Copyright 2003 Aplix Corporation. All rights reserved. Aplix Confidential and Restricted.