クラス RinearnGraph3DDrawingParameter

java.lang.Object
com.rinearn.graph3d.renderer.RinearnGraph3DDrawingParameter

public class RinearnGraph3DDrawingParameter extends Object
詳細な描画設定を指定するためのパラメータオブジェクトです The class for storing detailed drawing parameters .
このクラスのインスタンスを, RinearnGraph3DRenderer クラス等の描画系メソッドの引数に渡す事で, 詳細な描画パラメータを制御できます.
To specify the detailed drawing parameters, pass an instance of this class as an argument to the drawing methods of RinearnGraph3DRenderer class.
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    新しい描画設定パラメータを格納するインスタンスを作成します Creates a new instance for stroring drawing parameters .
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    描画色を取得します Gets the color .
    double[]
    ポリゴンの遠近判定を微調整するための, 深度のオフセット量を取得します Returns the depth-offset values, for tuning near-far relationship between polygons .
    int
    系列番号を取得します Gets the series index .
    boolean
    自動彩色機能が有効化されているかどうかを取得します Returns if the automatic coloring feature is enabled .
    boolean
    グラフ範囲外にはみ出した部分をクリッピングする機能が, 有効化されているかどうかを返します Returns if the range clipping feature is enabled .
    boolean
    グラフの範囲設定に応じた, 頂点座標の変換機能が有効化されているかどうかを取得します Returns if the range scaling feature is enabled .
    void
    setAutoColoringEnabled(boolean enabled)
    自動彩色機能を有効化/無効化します Enables/disables the automatic coloring feature .
    void
    setColor(Color color)
    描画色を設定します Sets the color .
    void
    setDepthOffsetAmounts(double offsetX, double offsetY, double offsetZ)
    ポリゴンの遠近判定を微調整するための, 深度のオフセット量を設定します Sets the depth-offset values, for tuning near-far relationship between polygons .
    void
    setRangeClippingEnabled(boolean enabled)
    グラフ範囲外にはみ出した部分を, クリッピングする機能の有効/無効を設定します Enable/disable the range clipping feature, which is the feature for clipping a part of a line/polygon protruding out of the range of the graph .
    void
    setRangeScalingEnabled(boolean enabled)
    グラフの範囲設定に応じた, 頂点座標の変換機能の有効/無効を設定します Enables/disables the range scaling feature, which is the feature for converting coordinates automatically depends on the range settings of the graph .
    void
    setSeriesIndex(int index)
    系列インデックスを設定します Set the series index .

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • RinearnGraph3DDrawingParameter

      public RinearnGraph3DDrawingParameter()
      新しい描画設定パラメータを格納するインスタンスを作成します Creates a new instance for stroring drawing parameters .
  • メソッドの詳細

    • setColor

      public void setColor(Color color)
      描画色を設定します Sets the color .
      パラメータ:
      color - 描画色 The color
    • getColor

      public Color getColor()
      描画色を取得します Gets the color .
      戻り値:
      描画色 The color
    • setAutoColoringEnabled

      public void setAutoColoringEnabled(boolean enabled)
      自動彩色機能を有効化/無効化します Enables/disables the automatic coloring feature .
      自動彩色機能が有効の場合, 描画色が自動で設定されます(彩色のされ方は, グラデーションオプションの有効/無効によって異なります). 半面, 必ず特定の色で描画させたい場合は, このメソッドで自動彩色機能を無効にする必要があります. その場合は setColor(java.awt.Color) メソッドで描画色を明示指定してください.
      When this feature is enabled, colors of points/lines/polygons are determined automatically. (How their color are determined depends on whether the gradation option is enabled.) If you want to control their colors manually, disable this feature, and specify their color explicitly using setColor method.
      パラメータ:
      enabled - 有効化する場合は true, 無効化する場合は false を指定 Specify true to enable, false to disable
    • isAutoColoringEnabled

      public boolean isAutoColoringEnabled()
      自動彩色機能が有効化されているかどうかを取得します Returns if the automatic coloring feature is enabled .
      戻り値:
      有効化されていれば true Returns true if the feature enabled
    • setSeriesIndex

      public void setSeriesIndex(int index)
      系列インデックスを設定します Set the series index .
      自動彩色機能が有効化されていて, グラデーションオプションはOFFになっている場合には, 系列番号に応じて色が自動で塗り分けられます.
      When the automatic coloring feature is enabled, and the 'gradation' option is disabled, the color is determined by this series index.
      パラメータ:
      index - 系列インデックス The series index
    • getSeriesIndex

      public int getSeriesIndex()
      系列番号を取得します Gets the series index .
      戻り値:
      系列番号 The series index
    • setRangeScalingEnabled

      public void setRangeScalingEnabled(boolean enabled)
      グラフの範囲設定に応じた, 頂点座標の変換機能の有効/無効を設定します Enables/disables the range scaling feature, which is the feature for converting coordinates automatically depends on the range settings of the graph .
      例えば RinearnGraph3DRenderer#drawPoint メソッドによって座標(1.0, 2.0, 3.0)に点を描画しようとした場合, この機能が有効の場合は, グラフのX軸の目盛りが1.0, Y軸の目盛りが2.0, Z軸の目盛りが3.0の位置に点が描画されます. この点の3D空間における位置は, プロット範囲の設定などに依存して変化します.
      それに対して, この機能が無効の場合は, 座標値(1.0, 2.0, 3.0)は「 Unscaled 座標系 」における座標値と見なされます. Unscaled 座標系では, グラフの各軸の両端を -1.0 から 1.0 に対応付けた座標系で, プロット範囲の設定には全く依存しません.
      Unscaled 座標系は, 例えばグラフの目盛りやグリッド線の描画をカスタマイズしたい場合などに有用です.
      For example, if you draw a point at the coordinates (1.0, 2.0, 3.0) using drawPoint method when this feature is enabled, the point is plotted to the location at which the X-axis scale is 1.0, the Y-axis scale is 2.0, and the Z-axis scale is 3.0. In this case, the absolute location of the point in the 3D space depends on the range settings of the graph.
      On the other hand, when this feature is disabled, the coordinates of the point (1.0, 2.0, 3.0) are regarded as the "unscaled" coordinates in the 3D space. Unscaled coordinates are coordinate values based on the "unscaled coordinate system", which regards the coordinate value at the positive/negative edge of each axis as 1.0/-1.0, independent of the range settings of the graph.
      Unscaled coordinates are useful when you want to customize the grid lines, ticks, and so on of the graph.
      パラメータ:
      enabled - 有効化する場合は true, 無効化する場合は false を指定 Specify true to enable, false to disable
    • isRangeScalingEnabled

      public boolean isRangeScalingEnabled()
      グラフの範囲設定に応じた, 頂点座標の変換機能が有効化されているかどうかを取得します Returns if the range scaling feature is enabled .
      戻り値:
      有効化されていれば true Returns true if the feature enabled
    • setRangeClippingEnabled

      public void setRangeClippingEnabled(boolean enabled)
      グラフ範囲外にはみ出した部分を, クリッピングする機能の有効/無効を設定します Enable/disable the range clipping feature, which is the feature for clipping a part of a line/polygon protruding out of the range of the graph .
      パラメータ:
      enabled - 有効化する場合は true, 無効化する場合は false を指定 Specify true to enable, false to disable
    • isRangeClippingEnabled

      public boolean isRangeClippingEnabled()
      グラフ範囲外にはみ出した部分をクリッピングする機能が, 有効化されているかどうかを返します Returns if the range clipping feature is enabled .
      戻り値:
      有効化されていれば true Returns true if the feature enabled
    • setDepthOffsetAmounts

      public void setDepthOffsetAmounts(double offsetX, double offsetY, double offsetZ)
      ポリゴンの遠近判定を微調整するための, 深度のオフセット量を設定します Sets the depth-offset values, for tuning near-far relationship between polygons .
      ここでの深度とは, ポリゴンがカメラからどれだけ遠くに離れているかを表す値です. 例えば, ちょうど視点の中心線上に, カメラから距離 3 の位置にポリゴンがある場合, そのポリゴンの深度は 3 です なお, 深度は, カメラアングルに依存して動的に変化する事に留意が必要です.
      複数のポリゴンが近距離で重なっている場合, どちらが手前に描かれるかは, 深度の大小によって決定されます. しかし, 場面によっては, 特定のポリゴンを, 優先的に手前に描画させたい場合なども存在します. そのような場合は, このメソッドにより, ポリゴンに深度のオフセット量を設定して調整します.
      オフセット量に正の値を設定すると, そのポリゴンは, 本来の位置からその量だけ奥にあるものとして描画されます. 逆に, 負のオフセット量を設定すると, その量だけ手前に描画されます.
      オフセット量の大きさは, ポリゴンの頂点座標値と同じようにスケール変換された後で, 遠近判定に使用されます. グラフのX/Y/Z軸は, 一般にそれぞれ長さの単位が異なる非等方座標系となっているため, オフセット量もX/Y/Z軸の単位で表したものを3つ独立に設定する事が可能です.
      例えば, 画面の奥方向がX軸に一致している場合は引数 offsetX がオフセット量となり, Z軸に一致している場合は引数 offsetY がオフセット量となります. X/Y/Z軸のいずれも画面奥方向に一致しない(斜めの方向を向いている)場合は, 楕円体補間によって計算された適切なオフセット量が用いられます.
      In this context, "depth" means the degree representing how the object is far from the camera. For example, a polygin is located on the line of sight, and the distance of it from the camera is 3, then the depth of the polygon is 3. Note that, the depth of the polygon depends on the camera angles, so it may varies dynamically.
      Near-far relationship between polygons are determined based on the depths values of the polygons. However, sometimes, you may want to render the specific polygon at the nearer-side than other polygons. In such case, set the depth-offset value to the polygon, using this method.
      If a polygon has a positive depth-offset value, the polygon is regarded to be farther from the camera than the actual distance, on the near-far determination between polygons. In the contrast, if a polygon has a negative depth-offset value, the polygon is regarded to be nearer than actually it is.
      Depth offset values are scaled as same as coordinate values of polygons. Generally, ranges of axes of the graph are not the same, so you can set depth-offset values independently for X, Y, and Z-axis.
      For example, when the camera looks to the direction of the X-axis, and a polygon is located on the sight line, the argument offsetX is regarded as the offset value of the polygon. If there is no axis parallel with the sight line, the depth-offset value is computed by ellipsoid interpolation.
      パラメータ:
      offsetX - X軸での深度オフセット値 The depth-offset value for the X-axis
      offsetY - Y軸での深度オフセット値 The depth-offset value for the Y-axis
      offsetZ - Z軸での深度オフセット値 The depth-offset value for the Z-axis
    • getDepthOffsetAmounts

      public double[] getDepthOffsetAmounts()
      ポリゴンの遠近判定を微調整するための, 深度のオフセット量を取得します Returns the depth-offset values, for tuning near-far relationship between polygons .
      戻り値:
      深度オフセット値を格納する配列(インデックス: 0がX, 1がY, 2がZ) The array storing the depth-offset values (the index is: 0 represents X, 1 represents Y, and 2 represents Z)