jp.go.ipa.jgcl
クラス JgclParameterDomain

java.lang.Object
  |
  +--jp.go.ipa.jgcl.JgclParameterDomain
すべての実装インタフェース:
java.io.Serializable

public class JgclParameterDomain
extends java.lang.Object
implements java.io.Serializable

パラメトリックな関数における、ある一つのパラメータの定義域を表すクラス。

パラメータ定義域は、まず無限なものと有限なものに分けられる。 JGCL の曲線および曲面の表現においては、 無限な定義域を持つ関数の値域は無限、 有限な定義域を持つ関数の値域は有限、 であるものとしている。
無限なパラメータ定義域では、 パラメータの有効な区間は (-∞, ∞) である。
有限なパラメータ定義域は、さらに周期的なものと非周期的なものに分けられる。
有限で周期的なパラメータ定義域での パラメータの有効な区間は (-∞, ∞) であるが、 プライマリな有効区間 [a, b] を持つ。 (b - a) をこの定義域の「周期」と呼ぶ。 ここで、二つのパラメータ t0, t1 があるとして、 t0 と t1 の差が (b - a) である場合、 関数 F(t) の t0, t1 それぞれに対する値 F(t0), F(t1) は同一になる。
有限で非周期的なパラメータ定義域では、 パラメータの有効な区間は [a, b] である。 この有効な区間を外れるパラメータ値 t に対して、F(t) は値を持たない。
なお、無限なパラメータ定義域は、常に非周期的であるものとする。

このクラスでは、パラメータは常に正の方向に進むものとして扱う。

バージョン:
$Revision: 1.24 $, $Date: 2000/04/26 09:39:14 $
作成者:
Information-technology Promotion Agency, Japan
関連項目:
JgclParameterSection, JgclParametricCurve, JgclParametricSurface, 直列化された形式

コンストラクタの概要
JgclParameterDomain()
          無限で非周期的なオブジェクトを構築する。
JgclParameterDomain(boolean periodic, double start, double increase)
          有限なオブジェクトを構築する。
JgclParameterDomain(boolean periodic, JgclParameterSection section)
          有限なオブジェクトを構築する。
 
メソッドの概要
 void checkValidity(double value)
          与えられたパラメータ値が、この定義域に対して有効か否かを調べる。
 void checkValidity(JgclParameterSection section)
          与えられたパラメータ区間が、この定義域に対して有効か否かを調べる。
 double force(double value)
          与えられたパラメータ値を、このパラメータ定義域の 有効なパラメータ区間内に収まるよう強制変換した値を返す。
 boolean isFinite()
          このパラメータ定義域が有限か否かを返す。
 boolean isInfinite()
          このパラメータ定義域が無限か否かを返す。
 boolean isNonPeriodic()
          このパラメータ定義域が非周期的か否かを返す。
 boolean isPeriodic()
          このパラメータ定義域が周期的か否かを返す。
 boolean isValid(double value)
          与えれたパラメータ値が、このパラメータ定義域において有効か否かを返す。
 JgclParameterSection section()
          このパラメータ定義域の有効なパラメータ区間を返す。
 double wrap(double value)
          与えられたパラメータ値を、このパラメータ定義域の プライマリな周期内に折り畳んだ値を返す。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

JgclParameterDomain

public JgclParameterDomain()
無限で非周期的なオブジェクトを構築する。

JgclParameterDomain

public JgclParameterDomain(boolean periodic,
                           double start,
                           double increase)
有限なオブジェクトを構築する。

periodic が true の場合、 start と increase は プライマリな有効区間を指定する値と解釈され、 increase がこのパラメータ定義域の周期となる。

increase は正の値でなければならない。 increase の値が負あるいは「現在設定されているパラメータ値の許容誤差」より小さい場合には JgclInvalidArgumentValue の例外が発生する。

パラメータ:
periodic - 周期的か否か
start - パラメータ区間の開始値
increase - パラメータ区間の増分値
関連項目:
JgclConditionOfOperation, JgclInvalidArgumentValue

JgclParameterDomain

public JgclParameterDomain(boolean periodic,
                           JgclParameterSection section)
有限なオブジェクトを構築する。

periodic が true の場合、 section は プライマリな有効区間を指定する値と解釈され、 section の増分値がこのパラメータ定義域の周期となる。

section の増分値は正の値でなければならない。 section の増分値が負あるいは「現在設定されているパラメータ値の許容誤差」より小さい場合には JgclInvalidArgumentValue の例外が発生する。

パラメータ:
periodic - 周期的か否か
section - パラメータ区間
関連項目:
JgclConditionOfOperation, JgclInvalidArgumentValue
メソッドの詳細

isFinite

public boolean isFinite()
このパラメータ定義域が有限か否かを返す。
戻り値:
有限ならば true、さもなくば false

isInfinite

public boolean isInfinite()
このパラメータ定義域が無限か否かを返す。
戻り値:
無限ならば true、さもなくば false

isPeriodic

public boolean isPeriodic()
このパラメータ定義域が周期的か否かを返す。
戻り値:
周期的ならば true、さもなくば false

isNonPeriodic

public boolean isNonPeriodic()
このパラメータ定義域が非周期的か否かを返す。
戻り値:
非周期的であれば true、さもなくば false

section

public JgclParameterSection section()
このパラメータ定義域の有効なパラメータ区間を返す。

パラメータ定義域が周期的な場合には、プライマリな有効区間を返す。

パラメータ定義域が無限な場合には、null を返す。

戻り値:
パラメータ区間

isValid

public boolean isValid(double value)
与えれたパラメータ値が、このパラメータ定義域において有効か否かを返す。

value が、有効なパラメータ区間の端点にある場合には「有効」と判断する。

許容誤差として、現在設定されている演算条件の「パラメータ値の許容誤差」を参照する。

パラメータ:
value - 検査するパラメータ値
戻り値:
value が有効なら true、さもなくば false
関連項目:
JgclConditionOfOperation, JgclParameterSection.isValid(double)

checkValidity

public void checkValidity(double value)
与えられたパラメータ値が、この定義域に対して有効か否かを調べる。

value がこの定義域を外れている場合には JgclParameterOutOfRange の例外を発生する。

パラメータ:
value - 検査するパラメータ値
関連項目:
JgclParameterOutOfRange, isValid(double)

checkValidity

public void checkValidity(JgclParameterSection section)
与えられたパラメータ区間が、この定義域に対して有効か否かを調べる。

section の増分値は負でも構わない。

パラメータ:
section - 検査するパラメータ区間
例外:
JgclParameterOutOfRange - パラメータ区間が定義域を外れている
JgclInvalidArgumentValue - パラメータ区間の長さが、周期より長い (周期的な場合のみ)
関連項目:
checkValidity(double)

wrap

public double wrap(double value)
与えられたパラメータ値を、このパラメータ定義域の プライマリな周期内に折り畳んだ値を返す。

有限で周期的な場合以外は、値をそのまま返す。

パラメータ:
value - 折り畳むパラメータ値
戻り値:
折り畳んだ値

force

public double force(double value)
与えられたパラメータ値を、このパラメータ定義域の 有効なパラメータ区間内に収まるよう強制変換した値を返す。

有限で非周期的な場合以外は、値をそのまま返す。

パラメータ:
value - 変換するパラメータ値
戻り値:
強制変換した後の値