Creates a degenerate
Planewithpoint==normal==origin, anddistance== 0.
Planesconstructed using this constructor will probably be set using the assignment operator orPath::get_plane()immediately, or very soon after being declared. See Planes Reference; Operators, and Paths Reference; Querying.
If p is not equal to n, this constructor creates a
Planeand setspointto p.normalis set to n, and made a unit vector.distanceis calculated according to the following formula: Let n stand fornormal, p forpoint, and d fordistance: d = -p \dot n. If d = 0,originlies in thePlane. If d > 0,originlies on the side of thePlanethatnormalpoints to, considered to be “outside”. If d<0,originlies on the side of thePlanethatnormaldoes not point to, considered to be “inside”.However, if p == n,
pointandnormalare both set toINVALID_POINT, anddistanceis set toINVALID_REAL, i.e.,*thiswill be equal toINVALID_PLANE(see Planes Reference; Global Constants).Point P(1, 1, 1); Point N(0, 1); N.rotate(-35, 30, 20); N.show("N:"); -| N: (-0.549659, 0.671664, 0.496732) Plane q(P, N); cout << q.distance; -| -0.618736
![]()
Fig. 105.