|
||||||||
フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--com.jblend.graphics.m3d.ObjectBase | +--com.jblend.graphics.m3d.Primitive
プリミティブクラスです。
PrimitiveArray
クラスより簡易に操作できますが、
処理効率を優先する場合は PrimitiveArray
クラスの利用をお勧めします。
コンストラクタ Primitive()
でプリミティブオブジェクトを作成しますが、
このときオブジェクトに設定する値は、プリミティブタイプと、
設定する属性の種類だけです。
プリミティブの座標や各属性の値は、 それぞれの値を格納する配列を対応するメソッドで取得し、 その配列を直接操作して設定してください。
プリミティブオブジェクト作成時に属性の種類が指定されない場合は、 属性の値を格納する配列のメモリ領域は確保されません。
表 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 |
フィールドの詳細 |
public static final int TYPE_POINT
public static final int TYPE_LINE
public static final int TYPE_TRIANGLE
public static final int TYPE_QUAD
public static final int NORMAL_PER_FACE
public static final int NORMAL_PER_VERTEX
public static final int COLOR_PER_FACE
public static final int COLOR_PER_VERTEX
public static final int TEXCOORD_PER_VERTEX
コンストラクタの詳細 |
public Primitive(int type, int param)
プリミティブのタイプと、どの属性を使用するかを指定してください。
法線、色、マッピング座標を利用する場合は、 以下の値の論理和(OR 結合)を属性パラメータとして指定してください。 ただし、マッピング座標と色はどちらか一方を指定してください。 両方とも指定しない、または両方とも指定することはできません。
NORMAL_PER_FACE
: 法線を面に指定
NORMAL_PER_VERTEX
: 法線を頂点に指定
COLOR_PER_FACE
: 色を面に指定
TEXCOORD_PER_VERTEX
: マッピング座標を指定
プリミティブの座標や各属性値などは、このメソッドでは指定できません。 それぞれの属性の値を格納する配列を取得し、 その配列の要素に直接、値を設定してください。
type
- プリミティブのタイプとして以下のどれかを指定する
TYPE_LINE
: 線
TYPE_POINT
: 点
TYPE_QUAD
: 四角形
TYPE_TRIANGLE
: 三角形
param
- 属性パラメータjava.lang.IllegalArgumentException
- 以下の場合に発生する
メソッドの詳細 |
public ObjectBase duplicate()
ObjectBase
の記述:
プリミティブなデータは複製せずに、複製先と複製元で共有します。
同じオブジェクトを別々に配置したい時に、このメソッドで複製を作成して
setTransform()
メソッドで、
オブジェクトの配置だけを変更できます。
ObjectBase
内の duplicate
com.jblend.graphics.m3d.ObjectBase
からコピーされたタグ:public int getType()
TYPE_LINE
: 線
TYPE_POINT
: 点
TYPE_QUAD
: 四角形
TYPE_TRIANGLE
: 三角形
public int getParam()
NORMAL_PER_FACE
: 法線が面に指定されている
NORMAL_PER_VERTEX
: 法線が頂点に指定されている
COLOR_PER_FACE
: 色が面に指定されている
TEXCOORD_PER_VERTEX
: マッピング座標が頂点に指定されている
public Point3D[] getVertex()
返された配列を操作することで、プリミティブの頂点座標値を変更できます。 配列の要素数は、プリミティブの頂点数です。
public Vector3D[] getNormal()
返された配列を操作することで、プリミティブの法線を変更できます。 法線の属性が設定されている場合の配列の要素数を以下に示します。
NORMAL_PER_FACE
): 1
NORMAL_PER_VERTEX
) : プリミティブの頂点数
public int[] getColor()
返された配列を操作することで、プリミティブの色を変更できます。 色の属性が設定されている場合、配列の要素数は、1 です。 色の値として、 R<16|G<<8|B を設定してください。
public TexCoord[] getTexCoord()
返された配列を操作することで、 プリミティブのマッピング座標を変更できます。 マッピング座標の属性が設定されている場合、 配列の要素数は、プリミティブの頂点数です。
|
||||||||
フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |