.. role:: blue :class: blue MbPlane Plane ============= .. _MbPlane_Plane_: .. version: The :blue:`MbPlane` class is declared in the *surf_plane.h* file. The :blue:`MbPlane` plane belongs to the group of elementary surfaces :blue:`MbElementarySurface`. The plane is defined by the XY plane of the local coordinate system :blue:`MbPlacement3D` **position**. The first parameter of the plane is measured along the vector **position.axisX**, and the second parameter of the plane is measured along the vector **position.axisY**. The domain of the plane is described by the boundary parameter values *umin*, *umax* and *vmin*, *vmax*, Fig. 1: .. figure:: /MODELER/SURFACES/pictures/O.5.2.1.png :width: 12cm :align: center Fig. 1 In the method :blue:`PointOn`\( double *u*, double *v*, :blue:`MbCartPoint3D` \& **s** ), the radius vector **s** of the plane is described by the vector function .. math:: \mathbf{s}(u, v) = \mathbf{position.origin} + u \cdot \mathbf{position.axisX} + v \cdot \mathbf{position.axisY}. The plane behaves as an infinite object, although its data contains the boundary parameter values *umin*, *umax* and *vmin*, *vmax*. Note that, unlike other surfaces, the plane does not adjust the parameters *u* and *v* when they go beyond the domain defined by the values *umin*, *umax* and *vmin*, *vmax* in the methods for computing the radius vector and its derivatives. The local coordinate system **position** can be either right-handed or left-handed. If the local coordinate system is left-handed, the normal of the plane is directed opposite to the direction of the vector **position.axisZ**.