MbSurfaceCurve Curve on Surface
The MbSurfaceCurve class is declared in the cur_surface_curve.h file.
A curve on surface MbSurfaceCurve is defined by a surface MbSurface surface, a two-dimensional curve MbCurve curve in the surface parameter space, and a Boolean flag of curve periodicity closed. The curve also contains some additional data that is optional and is used to speed up the work of the curve methods.
A curve on a surface represents a mapping of a curve from the two-dimensional surface parameter space into three-dimensional space. The two-dimensional curve curve may lie outside the domain of the surface parameters. The parameter domain of the surface curve coincides with the parameter domain of the two-dimensional curve curve.
In the PointOn( double & t, MbCartPoint3D & r) method, the radius vector of the curve r is described by the vector function
r( t ) = surface( point.x, point.y ),
where point is a point of the two-dimensional curve that is computed by the curve → PointOn( t, point ) method. The x and y coordinates of the two-dimensional point point serve as the u and v parameters of the surface surface( u, v ). The curve on the surface is constructed by introducing a dependence of the surface parameters u and v on a common parameter t: u = u( t ), v = v( t ). This dependence is defined by the two-dimensional curve curve.
A curve on a surface is shown in Fig. 1:
Fig. 1
The two-dimensional curve in the domain of the surface parameters is shown in Fig. 2:
Fig. 2
The derivative of a surface curve is computed as a composite function
where derive is the derivative of the two-dimensional curve that is computed by the curve → FirstDer( t, derive ) method. The derivative of the curve on the surface lies in the tangent plane of the surface constructed at the point under consideration.
A curve on a surface can be periodic if the two-dimensional curve curve is periodic or if the surface surface is periodic and the curve curve has matching derivatives at its ends and the end points of the curve are shifted by the corresponding period of the surface that is periodic in the first or second parameter surface.
The surface surface of a curve on a surface can be any surface except for a surface bounded by curves MbCurveBoundedSurface. If a curve on a surface bounded by curves needs to be constructed, then the base surface MbCurveBoundedSurface is used as the surface.