B.3.7 gml:OrientableSurface
gml:OrientableSurfaceは、向きをもつ曲面(有向曲面)である。属性orientationは曲面の向きを示し、gml:baseSurfaceは元とする曲面を参照する。
orientationの値が“+”となる場合は、元の曲面と同じ向きであることを示し、値が“-”の場合は、これは元の向きと反対の向きであることを示す。つまり、元の曲面(orientation=“+”)と反対の向きの曲面(orientation=“-”)は、表裏の関係にある。
gml:OrientableSurfaceは、接する複数の立体(gml:Solid)の境界を記述する場合に使用する。
例えば、図B-5に示すような立体Solid1とSolid2があったとする。これら二つの立体は、曲面Poly1を境界として接している。ここで、立体の境界となる曲面の向きは、常に、立体の内部から離れる向き(外側)を向いていなければならない。このとき、Poly1の向きがSolid1に対して外側に向いているとすると、Solid2にとっては内側を向いていることになる。そのため、Solid2の境界となる曲面として、Poly1と同じ位置に、反対の向き(Solid2とって外側の向き)となる曲面が必要となる。gml:OrientableSurfaceはこのような場合に使用する。Solid2を構成する外側境界である有向曲面OrientableSurface2は、gml:baseSurfaceによりPoly1を参照し、向きが反対(orientation=“-”)となる。