HM_ExtAPI::SurfaceCylinderGetData()
Returns parameters that define cylindrical surface.
Syntax
bool SurfaceCylinderGetData(
const HM_EntityGeometrySurface & surface,
HM_Point& center_point,
HM_Vector& unit_axis,
HM_Vector& unit_origin_dir,
double& radius,
double& axis_vfactor
);
Type
HyperMesh Ext API
Description
The function expects that the type of surface object is HM_ExtAPI::CYLINDER(). Application should call the function HM_ExtAPI::GeomSurfaceGetType() to verify the type before calling SurfaceCylinderGetData function.
The points on the surface of the cylinder can be calculated parametrically as
S(U, V) = C + R ( p cos U + [n X p] sin U ) + ε n V,
The following table summarizes correspondence of the parameters used in the equation to parameters returned by the function SurfaceCylinderGetData.
Parameters returned by SurfaceCylinderGetData | Cylinder parameters |
---|---|
center_point | C |
unit_axis | n |
unit_origin_dir | P |
radius | R |
axis_vfactor | ε |
If the function succeeds, the return value is true. If the function fails, the return value is false. To get extended value information, call HM_ExtAPI::GetLastErrorCode().
Requires including hm_extapi.h.
Inputs
- surface
- [in] - Handle to surface object that was returned by previous calls to API functions.
- center_point
- [out] - Center point of the circular cross section at cylinder base.
- unit_axis
- [out] - Unit length axis vector normal to the plane of the ellipse that defines the cone.
- unit_axis
- [out] - Unit length cylinder axis vector.
- unit_origin_dir
- [out] - Unit length vector in the plane of the cylinder circular cross section that defines position of the circle corresponding to U=0 parameter. This vector is normal to the vector unit_axis.
- radius
- [out] - Cylinder radius.
- axis_vfactor
- [out] - The factor that defines the rate of the change of the cylinder height corresponding to the changes of V parameter (see Description above).
Errors
None.