All surface entities are derived from the OdGeSurface class and include surfaces such as: planes,
cones, spheres, cylinders, toruses and NURBS surfaces.
Surfaces in the OdGe library are parametric. A parametric surface is defined by a continuous function
with two arguments, such as f(u,v) that maps some connected subset of the uv plane into 3D space. Surfaces
derived from the OdGeSurface class have a special paramOf() method which returns the pair of u,v parameters
at the specific point on the surface, and specific methods for getting and setting start parameters values.
For example, for OdGeSphere objects, these methods are getAnglesInU(), getAnglesInV() and setAnglesInU(),
setAnglesInV():
OdGePoint2d OdGeSurface::paramOf(const OdGePoint3d& point, const OdGeTol& tol = OdGeContext::gTol) const;
The point on a parametric surface that corresponds to a particular parameter's values can be obtained by
evaluating the function at that parameter's values that is a 2D point. Surface objects contain the evalPoint()
method — a special method-evaluator for calculating the point corresponding to the parameter pair,
as well as the derivatives and the normal at that point: