com.jblend.graphics.m3d
クラス Primitive <Phase3>

java.lang.Object
  |
  +--com.jblend.graphics.m3d.ObjectBase
        |
        +--com.jblend.graphics.m3d.Primitive

public class Primitive
extends ObjectBase

プリミティブクラスです。

PrimitiveArray クラスより簡易に操作できますが、 処理効率を優先する場合は PrimitiveArray クラスの利用をお勧めします。

コンストラクタ Primitive() でプリミティブオブジェクトを作成しますが、 このときオブジェクトに設定する値は、プリミティブタイプと、 設定する属性の種類だけです。

プリミティブの座標や各属性の値は、 それぞれの値を格納する配列を対応するメソッドで取得し、 その配列を直接操作して設定してください。

プリミティブオブジェクト作成時に属性の種類が指定されない場合は、 属性の値を格納する配列のメモリ領域は確保されません。

表 1 に属性の種類と対応する配列の要素数、取得するメソッドを示します。

表 1.頂点の座標・属性値の配列とメソッドの対応
頂点の座標・属性 属性を指定する値 配列の要素数 取得メソッド
頂点の座標 プリミティブの頂点数 getVertex()
法線(面に指定) NORMAL_PER_FACE 1 getNormal()
法線(頂点に指定) NORMAL_PER_VERTEX プリミティブの頂点数
COLOR_PER_FACE 1 getColor()
マッピング座標 TEXCOORD_PER_VERTEX プリミティブの頂点数 getTexCoord()


フィールドの概要
static int COLOR_PER_FACE
          色を面に指定することを表します。
static int COLOR_PER_VERTEX
          色を頂点に指定することを表します。
static int NORMAL_PER_FACE
          法線を面に指定することを表します。
static int NORMAL_PER_VERTEX
          法線を頂点に指定することを表します。
static int TEXCOORD_PER_VERTEX
          マッピング座標を頂点に指定することを表します。
static int TYPE_LINE
          プリミティブのタイプが線であることを表します。
static int TYPE_POINT
          プリミティブのタイプが点であることを表します。
static int TYPE_QUAD
          プリミティブのタイプが 四角形であることを表します。
static int TYPE_TRIANGLE
          プリミティブのタイプが三角形であることを表します。
 
クラス com.jblend.graphics.m3d.ObjectBase から継承したフィールド
BLEND_ADD, BLEND_HALF, BLEND_NORMAL, BLEND_SUB
 
コンストラクタの概要
Primitive(int type, int param)
          プリミティブデータを生成します。
 
メソッドの概要
 ObjectBase duplicate()
          オブジェクトを複製します。
 int[] getColor()
          色の配列を返します。
 Vector3D[] getNormal()
          法線の配列を返します。
 int getParam()
          属性の種類を返します。
 TexCoord[] getTexCoord()
          マッピング座標の配列を返します。
 int getType()
          プリミティブのタイプを返します。
 Point3D[] getVertex()
          頂点座標の配列を返します。
 
クラス com.jblend.graphics.m3d.ObjectBase から継承したメソッド
getTexture, getTransform, setBlendMode, setColorKey, setLighting, setSphereMap, setTexture, setTexture, setTransform
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

TYPE_POINT

public static final int TYPE_POINT
プリミティブのタイプが点であることを表します。

TYPE_LINE

public static final int TYPE_LINE
プリミティブのタイプが線であることを表します。

TYPE_TRIANGLE

public static final int TYPE_TRIANGLE
プリミティブのタイプが三角形であることを表します。

TYPE_QUAD

public static final int TYPE_QUAD
プリミティブのタイプが 四角形であることを表します。

NORMAL_PER_FACE

public static final int NORMAL_PER_FACE
法線を面に指定することを表します。

NORMAL_PER_VERTEX

public static final int NORMAL_PER_VERTEX
法線を頂点に指定することを表します。

COLOR_PER_FACE

public static final int COLOR_PER_FACE
色を面に指定することを表します。

COLOR_PER_VERTEX

public static final int COLOR_PER_VERTEX
色を頂点に指定することを表します。

TEXCOORD_PER_VERTEX

public static final int TEXCOORD_PER_VERTEX
マッピング座標を頂点に指定することを表します。
コンストラクタの詳細

Primitive

public Primitive(int type,
                 int param)
プリミティブデータを生成します。

プリミティブのタイプと、どの属性を使用するかを指定してください。

法線、色、マッピング座標を利用する場合は、 以下の値の論理和(OR 結合)を属性パラメータとして指定してください。 ただし、マッピング座標と色はどちらか一方を指定してください。 両方とも指定しない、または両方とも指定することはできません。

プリミティブの座標や各属性値などは、このメソッドでは指定できません。 それぞれの属性の値を格納する配列を取得し、 その配列の要素に直接、値を設定してください。

パラメータ:
type - プリミティブのタイプとして以下のどれかを指定する
param - 属性パラメータ
例外:
java.lang.IllegalArgumentException - 以下の場合に発生する
  • 不正なプリミティブのタイプが指定された場合
  • サポートされてない属性パラメータが指定された場合
メソッドの詳細

duplicate

public ObjectBase duplicate()
クラス ObjectBase の記述:
オブジェクトを複製します。

プリミティブなデータは複製せずに、複製先と複製元で共有します。 同じオブジェクトを別々に配置したい時に、このメソッドで複製を作成して setTransform() メソッドで、 オブジェクトの配置だけを変更できます。

オーバーライド:
クラス ObjectBase 内の duplicate
クラス com.jblend.graphics.m3d.ObjectBase からコピーされたタグ:
戻り値:
新しいオブジェクト

getType

public int getType()
プリミティブのタイプを返します。
戻り値:
プリミティブのタイプとして以下のどれかを返す

getParam

public int getParam()
属性の種類を返します。
戻り値:
属性の種類。以下の値のどれか、または論理和を返す。

getVertex

public Point3D[] getVertex()
頂点座標の配列を返します。

返された配列を操作することで、プリミティブの頂点座標値を変更できます。 配列の要素数は、プリミティブの頂点数です。

戻り値:
頂点座標の配列

getNormal

public Vector3D[] getNormal()
法線の配列を返します。

返された配列を操作することで、プリミティブの法線を変更できます。 法線の属性が設定されている場合の配列の要素数を以下に示します。

戻り値:
法線の配列。設定されていない場合は null を返す。

getColor

public int[] getColor()
色の配列を返します。

返された配列を操作することで、プリミティブの色を変更できます。 色の属性が設定されている場合、配列の要素数は、1 です。 色の値として、 R<16|G<<8|B を設定してください。

戻り値:
色の配列。設定されていない場合は null を返す。

getTexCoord

public TexCoord[] getTexCoord()
マッピング座標の配列を返します。

返された配列を操作することで、 プリミティブのマッピング座標を変更できます。 マッピング座標の属性が設定されている場合、 配列の要素数は、プリミティブの頂点数です。

戻り値:
マッピング座標の配列。設定されていない場合は null を返す。


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