'\" e '\"! eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 6 March 1997 .ds Re Release 1.2.0 .ds Dp May 02 11:53 .ds Dm 37 tessprope .ds Xs 36693 6 tessproperty.gl .\" .\" Copyright (c) 2001 The X Japanese Documentation Project. .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including .\" without limitation the rights to use, copy, modify, merge, publish, dis- .\" tribute, sublicense, and/or sell copies of the Software, and to permit .\" persons to whom the Software is furnished to do so, subject to the fol- .\" lowing conditions: .\" .\" The above copyright notice and this permission notice shall be included .\" in all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- .\" ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT .\" SHALL THE X JAPANESE DOCUMENTATION PROJECT BE LIABLE FOR ANY CLAIM, .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. .\" .\" Except as contained in this notice, the name of The X Japanese .\" Documentation Project shall not be used in advertising or otherwise to .\" promote the sale, use or other dealings in this Software without prior .\" written authorization from The X Japanese Documentation Project. .\" .\" X Window System is a trademark of The Open Group. .\" .\" Translated Mon Oct 1 20:28:19 JST 2001 .\" by FUJIWARA Teruyoshi .\" .TH GLUTESSPROPERTY 3G .SH 名前 .B "gluTessProperty .\"0 \- set a tessellation object property \- テセレーションオブジェクトの属性を設定する .SH 書式 void \f3gluTessProperty\fP( GLUtesselator* \fItess\fP, .nf .ta \w'\f3void \fPgluTessProperty( 'u GLenum \fIwhich\fP, GLdouble \fIdata\fP ) .fi .EQ delim $$ .EN .SH 引き数 .TP \w'\fIwhich\fP\ \ 'u \f2tess\fP .\"0 Specifies the tessellation object (created with \%\f3gluNewTess\fP). テセレーションオブジェクト(\%\f3gluNewTess\fP を使って作る)を指定する。 .TP \f2which\fP .\"0 Specifies the property to be set. Valid values are .\"0 \%\f3GLU_TESS_WINDING_RULE\fP, .\"0 \%\f3GLU_TESS_BOUNDARY_ONLY\fP, .\"0 \%\f3GLU_TESS_TOLERANCE\fP. 設定する属性を指定する。 指定できる値は \%\f3GLU_TESS_WINDING_RULE\fP, \%\f3GLU_TESS_BOUNDARY_ONLY\fP, \%\f3GLU_TESS_TOLERANCE\fP である。 .TP \f2data\fP .\"0 Specifies the value of the indicated property. 属性に設定する値を指定する。 .SH 説明 .\"0 \%\f3gluTessProperty\fP is used to control properties stored in a tessellation object. These .\"0 properties affect the way that the polygons are interpreted and rendered. \%\f3gluTessProperty\fP は、テセレーションオブジェクトに格納されている 属性を制御するために使う。 これらの属性はポリゴンの解釈やレンダリングのしかたに影響を及ぼす。 .\"0 The legal values for \f2which\fP are as follows: \f2which\fP に指定できる値は以下の通りである: .TP 15 \%\f3GLU_TESS_WINDING_RULE\fP .\"0 Determines which parts of the polygon are on the "interior". ポリゴン「内部」となる側を決める。 .\"0 \f2data\fP may be set to one of \%\f3GLU_TESS_WINDING_ODD\fP, .\"0 \%\f3GLU_TESS_WINDING_NONZERO\fP, \%\f3GLU_TESS_WINDING_POSITIVE\fP, or .\"0 \%\f3GLU_TESS_WINDING_NEGATIVE\fP, or \%\f3GLU_TESS_WINDING_ABS_GEQ_TWO\fP. \f2data\fP に設定できるのは \%\f3GLU_TESS_WINDING_ODD\fP, \%\f3GLU_TESS_WINDING_NONZERO\fP, \%\f3GLU_TESS_WINDING_POSITIVE\fP, \%\f3GLU_TESS_WINDING_NEGATIVE\fP, \%\f3GLU_TESS_WINDING_ABS_GEQ_TWO\fP のいずれかである。 .IP .\"0 To understand how the winding rule works, consider that the input .\"0 contours partition the plane into regions. The winding rule determines which .\"0 of these regions are inside the polygon. winding 規則の動作を理解するためには、入力した経路が平面を領域分割 する場合を考えるとよい。 winding 規則は、各領域がポリゴンの内部にあるかどうかを決める。 .\" fujiwara: winding rule は,閉曲線が重なるときまで考えた内外判定の .\" 規則なんだけど,いい訳語を知らない…. .IP .\"0 For a single contour C, the winding number of a point x is simply the signed .\"0 number of revolutions we make around x as we travel once around C .\"0 (where CCW is positive). When there are several contours, the individual .\"0 winding numbers are summed. This procedure associates a signed integer .\"0 value with each point x in the plane. Note that the winding number is the .\"0 same for all points in a single region. ひとつの経路 C に関する 点 x の winding 数は単に、C の回りを一度回った ときに x の回りを回った階数を符号付きの数で表した数である(反時計回りが正)。 複数の経路があるときには、それぞれの winding 数の和を求める。 この手続きにより、平面上のある点 x について符号付きの整数が決められる。 winding 数は、ひとつの領域に含まれる全ての点で同じ値になる点に注意する こと。 .bp .IP .\"0 The winding rule classifies a region as "inside" if its winding number .\"0 belongs to the chosen category (odd, nonzero, positive, negative, or .\"0 absolute value of at least two). The previous GLU tessellator (prior to .\"0 GLU 1.2) used the "odd" rule. The "nonzero" rule is another common way to .\"0 define the interior. The other three rules are useful for polygon CSG .\"0 operations. winding 規則は、winding 数が選択した種類(奇数, 非 0, 正の値、負の値、 少なくともふたつの値の絶対値)となるときに、領域を「内側」と分類する。 過去(バージョン 1.2 より前の GLU)のテセレーション処理では、「奇数」 規則が使われていた。 「非 0」規則も、内部を定義する際の一般的な方法である。 他の 3 つの規則は、ポリゴンの CSG 操作を行う際に便利である。 .TP \%\f3GLU_TESS_BOUNDARY_ONLY\fP .\"0 Is a boolean value ("value" should be set .\"0 to GL_TRUE or GL_FALSE). When set to GL_TRUE, a set of closed contours .\"0 separating the polygon interior and exterior are returned instead of a .\"0 tessellation. Exterior contours are oriented CCW with respect to the .\"0 normal; interior contours are oriented CW. The \%\f3GLU_TESS_BEGIN\fP .\"0 and \%\f3GLU_TESS_BEGIN_DATA\fP callbacks use the type GL_LINE_LOOP for .\"0 each contour. 真偽値を取る(値には GL_TRUE または GL_FALSE を設定しなければならない)。 GL_TRUE を設定すると、テセレーションの処理結果ではなく、ポリゴンの内部 と外部を区切っている閉じた経路の集合が返される。 外側の経路は法線に対して反時計回りを向き、内側の経路は法線に対して 時計回りを向く。 \%\f3GLU_TESS_BEGIN\fP コールバックと \%\f3GLU_TESS_BEGIN_DATA\fP コールバックは、それぞれの経路に対して GL_LINE_LOOP 型を用いる。 .TP \%\f3GLU_TESS_TOLERANCE\fP .\"0 Specifies a tolerance for merging features to reduce the size of the output. 出力データの大きさを減らすために形状特徴をマージする際の許容誤差を指定 する。 .\"0 For example, two vertices that are very close to each other might be .\"0 replaced by a single vertex. The tolerance is multiplied by the largest .\"0 coordinate magnitude of any input vertex; this specifies the maximum .\"0 distance that any feature can move as the result of a single merge .\"0 operation. If a single feature takes part in several merge operations, the .\"0 total distance moved could be larger. たとえば、ふたつの頂点が互いに非常に近ければ、これらはひとつの頂点に 置き換えられる。 許容誤差には、入力する全ての頂点について最大の座標の大きさが掛けられる。 これは、1 回のマージ操作の結果として全ての形状特徴を動かせる最大距離を 示す。 ひとつの形状特徴が複数のマージ操作に使われる場合、移動する最大距離は さらに大きくなることがある。 .IP .\"0 Feature merging is completely optional; the tolerance is only a hint. .\"0 The implementation is free to merge in some cases and not in others, or to .\"0 never merge features at all. The initial tolerance is 0. 形状特徴のマージは全くのオプションである。 許容誤差はヒントにすぎない。 実装においては、場合によってマージを行ったり行わなかったりしても かまわないし、形状特徴をまったく行わなくてもよい。 許容誤差の初期値は 0 である。 .IP .\"0 The current implementation merges vertices only if they are exactly .\"0 coincident, regardless of the current tolerance. A vertex is spliced into .\"0 an edge only if the implementation is unable to distinguish which side of .\"0 the edge the vertex lies on. Two edges are merged only when both endpoints .\"0 are identical. 現在の実装では、ふたつの頂点がマージされるのは両者が完全に一致する 場合だけであり、これは現在の許容誤差とは無関係に行われる。 頂点を稜線に繋ぎ合わせる処理が行われるのは、頂点が稜線のどちら側にある のかを判別できない場合だけである。 ふたつの稜線がマージされるのは、両方の端点が一致している場合だけである。 .SH 関連項目 \%\f3gluGetTessProperty\fP, \%\f3gluNewTess\fP