jp.go.ipa.jgcl
クラス JgclConic2D

java.lang.Object
  |
  +--jp.go.ipa.jgcl.JgclGeometry
        |
        +--jp.go.ipa.jgcl.JgclParametricCurve
              |
              +--jp.go.ipa.jgcl.JgclParametricCurve2D
                    |
                    +--jp.go.ipa.jgcl.JgclConic2D
すべての実装インタフェース:
java.io.Serializable
直系の既知のサブクラス:
JgclCircle2D, JgclEllipse2D, JgclHyperbola2D, JgclParabola2D

public abstract class JgclConic2D
extends JgclParametricCurve2D

2次元 : 円錐曲線のクラス階層のルートとなる抽象クラス。

このクラスのインスタンスは、 円錐曲線の位置と傾きを決定する局所座標系 (配置情報、JgclAxis2Placement2D) position を保持する。

position は null であってはならない。

バージョン:
$Revision: 1.48 $, $Date: 2000/08/11 06:18:46 $
作成者:
Information-technology Promotion Agency, Japan
関連項目:
直列化された形式

コンストラクタの概要
protected JgclConic2D(JgclAxis2Placement2D position)
          局所座標系を指定してオブジェクトを構築する。
 
メソッドの概要
protected static JgclBsplineCurve2D convertPolyBezierCurvesToOneBsplineCurve(JgclPureBezierCurve2D[] bezierCurves, boolean closed)
          ある円錐曲線の一部を再現する有理ベジエ曲線列を一本の有理Bスプライン曲線に変換する。
protected  JgclPoint2D[] getControlPointsOfBezierCurve(JgclParameterSection pint)
          この曲線の指定の区間を再現する (有理) ベジエ曲線の制御点列を返す。
 JgclPointOnCurve2D[] inflexion()
          この曲線の変曲点を返す。
 JgclAxis2Placement2D position()
          この円錐曲線の「中心」と局所軸の方向を決定している局所座標系を返す。
 JgclPointOnCurve2D[] singular()
          この曲線の特異点を返す。
 JgclPolyline2D toPolyline(JgclParameterSection pint, JgclToleranceForDistance tol)
          この曲線の指定の区間を、与えられた誤差で直線近似するポリラインを返す。
 
クラス jp.go.ipa.jgcl.JgclParametricCurve2D から継承したメソッド
checkProjection, commonNormal, commonTangent, coordinates, curvature, dimension, doTransformBy, evaluation, fillet, hasPolyline, identicalParameter, intersect, is2D, isComposedOfOnlyPolylines, nearestProjectFrom, nearestProjectWithDistanceFrom, offsetByBoundedCurve, offsetByBsplineCurve, pointToParameter, projectFrom, reverseTransformBy, tangentVector, toBsplineCurve, transformBy, transformBy
 
クラス jp.go.ipa.jgcl.JgclParametricCurve から継承したメソッド
checkValidity, checkValidity, isClosed, isCurve, isFinite, isInfinite, isNonPeriodic, isOpen, isParametric, isPeriodic, isValid, length, parameterDomain
 
クラス jp.go.ipa.jgcl.JgclGeometry から継承したメソッド
getClassName, getToleranceForAngle, getToleranceForAngleAsObject, getToleranceForDistance, getToleranceForDistance2, getToleranceForDistanceAsObject, getToleranceForParameter, getToleranceForParameterAsObject, getToleranceForRealNumber, getToleranceForRealNumberAsObject, is1D, is3D, isFreeform, isPlacement, isPoint, isSurface, isTransformationOperator, isVector, makeIndent, output, output
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

JgclConic2D

protected JgclConic2D(JgclAxis2Placement2D position)
局所座標系を指定してオブジェクトを構築する。

position が null の場合には、 JgclInvalidArgumentValue の例外を発生する。

パラメータ:
position - 中心と局所軸の方向を定める局所座標系
関連項目:
JgclInvalidArgumentValue
メソッドの詳細

toPolyline

public JgclPolyline2D toPolyline(JgclParameterSection pint,
                                 JgclToleranceForDistance tol)
この曲線の指定の区間を、与えられた誤差で直線近似するポリラインを返す。

結果として返されるポリラインを構成する点は JgclPointOnCurve2D で あることを期待できる。

なお、結果として得られるポリラインが点に縮退するような場合には JgclZeroLength の例外を発生する。

オーバーライド:
クラス JgclParametricCurve2D 内の toPolyline
パラメータ:
pint - 直線近似するパラメータ区間
tol - 距離の許容誤差
戻り値:
この曲線の指定の区間を直線近似するポリライン
関連項目:
JgclPointOnCurve2D, JgclZeroLength

position

public JgclAxis2Placement2D position()
この円錐曲線の「中心」と局所軸の方向を決定している局所座標系を返す。
戻り値:
中心と局所軸の方向を示す局所座標系

singular

public JgclPointOnCurve2D[] singular()
この曲線の特異点を返す。

円錐曲線には特異点は存在しないので、常に長さ 0 の配列を返す。

オーバーライド:
クラス JgclParametricCurve2D 内の singular
戻り値:
特異点の配列

inflexion

public JgclPointOnCurve2D[] inflexion()
この曲線の変曲点を返す。

円錐曲線には変曲点は存在しないので、常に長さ 0 の配列を返す。

オーバーライド:
クラス JgclParametricCurve2D 内の inflexion
戻り値:
変曲点の配列

getControlPointsOfBezierCurve

protected JgclPoint2D[] getControlPointsOfBezierCurve(JgclParameterSection pint)
この曲線の指定の区間を再現する (有理) ベジエ曲線の制御点列を返す。

重みについては、このメソッドでは関知しない。

得られる制御点列の要素数は常に 3 である。

pint の増分値は負でも構わない。 pint の増分値が負の場合には、 得られる制御点列が表すベジエ曲線の進行方向は、この曲線の進行方向の逆になる。

なお、与えられた区間を一本のベジエ曲線で再現できない場合、 得られる結果は正しくないことに注意。

パラメータ:
pint - ベジエ曲線で再現するパラメータ区間
戻り値:
区間を再現するベジエ曲線の制御点列

convertPolyBezierCurvesToOneBsplineCurve

protected static JgclBsplineCurve2D convertPolyBezierCurvesToOneBsplineCurve(JgclPureBezierCurve2D[] bezierCurves,
                                                                             boolean closed)
ある円錐曲線の一部を再現する有理ベジエ曲線列を一本の有理Bスプライン曲線に変換する。

与えられる有理ベジエ曲線列は、ある円錐曲線の一部を再現したもので、 曲線列の要素数は 1 ないし 3 であり、 各要素はすべて2次曲線であるものと想定している。

この制限のため、このメソッドは、 ベジエ曲線あるいはBスプライン曲線等のクラスに置くべきではないと考える。

パラメータ:
bezierCurves - (ある円錐曲線の一部を再現する) 有理ベジエ曲線列
closed - 有理ベジエ曲線列が閉じていれば true、そうでなければ false
戻り値:
有理Bスプライン曲線