jp.go.ipa.jgcl
クラス JgclBoundedCurve2D

java.lang.Object
  |
  +--jp.go.ipa.jgcl.JgclGeometry
        |
        +--jp.go.ipa.jgcl.JgclParametricCurve
              |
              +--jp.go.ipa.jgcl.JgclParametricCurve2D
                    |
                    +--jp.go.ipa.jgcl.JgclBoundedCurve2D
すべての実装インタフェース:
java.io.Serializable
直系の既知のサブクラス:
JgclBoundedLine2D, JgclCompositeCurve2D, JgclCompositeCurveSegment2D, JgclFreeformCurveWithControlPoints2D, JgclPolyline2D, JgclTrimmedCurve2D

public abstract class JgclBoundedCurve2D
extends JgclParametricCurve2D

2次元 : 有限な曲線を表す抽象クラス。

このクラスにはインスタンスが持つべき属性はない。

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

コンストラクタの概要
protected JgclBoundedCurve2D()
          何も与えずにオブジェクトを構築する。
 
メソッドの概要
 JgclPoint2D endPoint()
          この有限曲線の終了点を返す 曲線が閉じた形式の場合は null を返す。
 JgclFilletObject2D[] fillet(int side1, JgclBoundedCurve2D mate, int side2, double radius)
          この有限曲線全体と他の有限曲線全体におけるフィレットを求める。
abstract  JgclCurveCurveInterference2D[] interfere(JgclBoundedCurve2D mate)
          この有限曲線と他の有限曲線の干渉を求める抽象メソッド。
 double length()
          この有限曲線全体の実空間上での長さ (道のり) を返す。
 JgclBoundedCurve2D offsetByBoundedCurve(double magni, int side, JgclToleranceForDistance tol)
          この有限曲線全体をオフセットした曲線を、 与えられた誤差で近似する有限曲線を求める。
 JgclBsplineCurve2D offsetByBsplineCurve(double magni, int side, JgclToleranceForDistance tol)
          この有限曲線全体をオフセットした曲線を、 与えられた誤差で近似する Bspline 曲線を求める。
 JgclPoint2D startPoint()
          この有限曲線の開始点を返す。
 JgclBsplineCurve2D toBsplineCurve()
          この有限曲線全体を厳密に再現する有理 Bspline 曲線を返す。
 JgclPolyline2D toPolyline(JgclToleranceForDistance tolerance)
          この有限曲線全体を、与えられた誤差で直線近似するポリラインを返す。
 
クラス jp.go.ipa.jgcl.JgclParametricCurve2D から継承したメソッド
checkProjection, commonNormal, commonTangent, coordinates, curvature, dimension, doTransformBy, evaluation, fillet, hasPolyline, identicalParameter, inflexion, intersect, is2D, isComposedOfOnlyPolylines, nearestProjectFrom, nearestProjectWithDistanceFrom, offsetByBoundedCurve, offsetByBsplineCurve, pointToParameter, projectFrom, reverseTransformBy, singular, tangentVector, toBsplineCurve, toPolyline, 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
 

コンストラクタの詳細

JgclBoundedCurve2D

protected JgclBoundedCurve2D()
何も与えずにオブジェクトを構築する。
メソッドの詳細

length

public double length()
この有限曲線全体の実空間上での長さ (道のり) を返す。

[内部処理]
自身のパラメータ定義域 section を与えて this.length(section) を呼び出す。

戻り値:
曲線全体の長さ

toPolyline

public JgclPolyline2D toPolyline(JgclToleranceForDistance tolerance)
この有限曲線全体を、与えられた誤差で直線近似するポリラインを返す。

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

[内部処理]
自身のパラメータ定義域 section を与えて this.toPolyline(section, tolerance) を呼び出す。

パラメータ:
tolerance - 距離の許容誤差
戻り値:
この曲線全体を直線近似するポリライン
関連項目:
JgclPointOnCurve2D

toBsplineCurve

public JgclBsplineCurve2D toBsplineCurve()
この有限曲線全体を厳密に再現する有理 Bspline 曲線を返す。

[内部処理]
自身のパラメータ定義域 section を与えて this.toBsplineCurve(section) を呼び出す。

戻り値:
この曲線全体を再現する有理 Bspline 曲線

offsetByBsplineCurve

public JgclBsplineCurve2D offsetByBsplineCurve(double magni,
                                               int side,
                                               JgclToleranceForDistance tol)
この有限曲線全体をオフセットした曲線を、 与えられた誤差で近似する Bspline 曲線を求める。

[内部処理]
自身のパラメータ定義域 section を与えて this.offsetByBsplineCurve(section, magni, side, tol) を呼び出す。

パラメータ:
magni - オフセット量
side - オフセットの向き (JgclWhichSide.LEFT/RIGHT)
tol - 距離の許容誤差
戻り値:
この曲線全体のオフセット曲線を近似する Bspline 曲線
関連項目:
JgclWhichSide

offsetByBoundedCurve

public JgclBoundedCurve2D offsetByBoundedCurve(double magni,
                                               int side,
                                               JgclToleranceForDistance tol)
この有限曲線全体をオフセットした曲線を、 与えられた誤差で近似する有限曲線を求める。

[内部処理]
自身のパラメータ定義域 section を与えて this.offsetByBoundedCurve(section, magni, side, tol) を呼び出す。

パラメータ:
magni - オフセット量
side - オフセットの向き (JgclWhichSide.LEFT/RIGHT)
tol - 距離の許容誤差
戻り値:
この曲線全体のオフセット曲線を近似する有限曲線
関連項目:
JgclWhichSide

fillet

public JgclFilletObject2D[] fillet(int side1,
                                   JgclBoundedCurve2D mate,
                                   int side2,
                                   double radius)
                            throws JgclIndefiniteSolution
この有限曲線全体と他の有限曲線全体におけるフィレットを求める。

フィレットが存在しない場合には長さ 0 の配列を返す。

[内部処理]
自身のパラメータ定義域 thisSection と 他の有限曲線のパラメータ定義域 mateSection を与えて this.fillet(thisSection, side1, mate, mateSection, side2, radius) を呼び出す。

パラメータ:
side1 - この曲線のどちら側にフィレットを求めるかを示すフラグ (JgclWhichSide.LEFTならば左側、RIGHTならば右側、BOTHならば両側)
mate - 他の有限曲線
side2 - 他の有限曲線のどちら側にフィレットを求めるかを示すフラグ (JgclWhichSide.LEFTならば左側、RIGHTならば右側、BOTHならば両側)
radius - フィレット半径
戻り値:
フィレットの配列
例外:
JgclIndefiniteSolution - 解不定 (ただし現状では発生しない)
関連項目:
JgclWhichSide

interfere

public abstract JgclCurveCurveInterference2D[] interfere(JgclBoundedCurve2D mate)
この有限曲線と他の有限曲線の干渉を求める抽象メソッド。

干渉が存在しない場合には長さ 0 の配列を返す。

パラメータ:
mate - 他の有限曲線
戻り値:
二曲線の干渉の配列

startPoint

public JgclPoint2D startPoint()
この有限曲線の開始点を返す。

曲線が閉じた形式の場合は null を返す。

戻り値:
開始点

endPoint

public JgclPoint2D endPoint()
この有限曲線の終了点を返す

曲線が閉じた形式の場合は null を返す。

戻り値:
終了点