6ユーザによるカスタマイズ機能の実装
本メソッドには、第一引数として図形カット前のオリジナル図形データ、第二引 数に図形カット後の図形データを格納した配列が渡されます。
ユーザは本メソッドに渡される図形データに対して操作を加えることで、図形カ ット後の図形データに対してカスタマイズを行うことができます。
本メソッドがコールされるまでの概略フローチャート図を図6-1に示します。
読込
出力
メッシュカットツール 地 図 デ ー タ
ファイル
すべての図形データに ついて
図形データが複数のメッ シュに跨っている。
図形カット処理 カスタマイズ処理
メッシュファ イル出力
メ ッ シ ュ ファイル Yes
No
UserCustomize#customizeDividedShape() メソッドのコール
図6-1 メッシュカットツール概略フローチャート
パラメータ:
originalData - 図形カット処理前のオリジナルの図形データ dividedData - 図形カット処理後の図形データを格納した配列
6ユーザによるカスタマイズ機能の実装
6.2 jp.co.melco.preserv.tool.meshcuttool.ShapeData クラス
public abstract class ShapeData
メッシュカットツール内で扱うすべての図形データクラスのスーパークラスです。
本クラスは抽象クラスであるため、実際に扱うShapeDataクラスのインスタンスの実 体は本クラスのサブクラスとなります。ユーザがカスタマイズ処理を行う際に必要にな るメソッドは、本クラスにて規定、提供しています。
以下に本クラスのメソッド一覧を表6-3に示します。
表6-3 ShapeDataクラスのメソッド一覧
戻り値の型 メソッド
int getShapeCode() 図形データの形状コードを返します。
String getCategoryString() 図形データのレイヤ文字列を返します。
int getTotalDataSize() 図形データの総バイト数を返します。
byte[] getApplicationAreaData() 図形データのアプリケーションエリアデータをバイト配 列として返します。
void setApplicationAreaData( byte[] app_data )
引数で与えられたバイト配列を図形データのアプリケー ションエリアデータとして設定します。
6.2.1 メソッドの詳細 (1) getShapeCode
public int getShapeCode( )
図形データの形状コードを返す。
戻り値:
形状コード。
(2) getCategoryString
6ユーザによるカスタマイズ機能の実装
図形データのレイヤ文字列を返します。
戻り値:
レイヤ文字列。
(3) getTotalDataSize
public int getTotalDataSize( )
図形データの総バイト数を返します。ここで返す図形データの総バイト数は、本 メソッドをコールした時点での図形データのバイト数となります。
したがって setApplicationAreaData()メソッドによってアプリケーションエリア のデータを変更した場合、本メソッドが返すバイト数も変化します。
戻り値:
図形データの総バイト数。
(4) getApplicationAreaData
public byte[] getApplicationAreaData( )
図形データのアプリケーションエリアデータをバイト配列として返します。
戻り値:
図形データのアプリネーションエリア
(5) setApplicationAreaData
public void setApplicationAreaData(byte[] app_data)
引数で与えられたバイト配列を図形データのアプリケーションエリアデータとし て設定します。
図形データのアプリケーションエリアの内容を変更したいときに使用します。
パラメータ:
app_data – 新しいアプリケーションエリアのデータを格納したバイト配列