HM_ExtAPI::GeomSurfaceGetParameterBounds()

Returns information about parameter range of the surface.

Syntax

bool GeomSurfaceGetParameterBounds(
const HM_EntityGeometrySurface & surf,
double& u_start_param,
double& u_end_param,
double& v_start_param,
double& v_end_param,
bool&  no_u_bounds,
bool&  no_v_bounds,
bool& u_periodic,
bool& v_periodic
);

Type

HyperMesh Ext API

Description

The function is supported for NURBS_SURFACE type only.

If one or more of extension value parameters (u_start_extend_value, u_end_extend_value, v_start_extend_value, v_end_extend_value) are zero or negative then those parameters are ignored and no extension is added to corresponding parametric boundary of the surface. If none of parameters is positive then the function returns false.

All parametric values are given in units relative to corresponding parametric range of the input surface. For example, if U parametric range of the surface is [-3…7] then extension value u_end_extend_value equal to 0.1 corresponds to absolute extension value of 1 (assuming extend_by_length3d is false) and will result in extension of the U parametric range of the surface to [-3…8]. The value of v_start_ref3d_u equal to 0.8 in this case corresponds to absolute U parameter value of reference point equal to 5.

Use the function HM_ExtAPI::GeomSurfaceGetParameterBounds() to obtain parametric range of the surface.

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

surf
[in] - Handle to surface object that was returned by previous calls to API functions.
u_start_param
[out] - Lower bound of surface U parameter range.
u_end_param
[out] - Upper bound of surface U parameter range.
v_start_param
[out] - Lower bound of surface V parameter range.
v_end_param
[out] - Upper bound of surface V parameter range.
no_u_bounds
[out] - Flag that specifies whether U parameterization of the surface has bounds. When function returns, this parameter can have one of following values.
false - Surface parameterization has bounds on U parameter that are returned by u_start_param and u_end_param parameters.
true - Surface parameterization does not have bounds on U parameter. Surface points are defined for any value of U parameter. In this case, the parameter u_start_param returns 0, and the parameter u_end_param returns 1.
no_v_bounds
[out] - Flag that specifies whether V parameterization of the surface has bounds. When function returns, this parameter can have one of following values.
false - Surface parameterization has bounds on V parameter that are returned by v_start_param and v_end_param parameters.
true - Surface parameterization does not have bounds on V parameter. Surface points are defined for any value of V parameter. In this case, the parameter v_start_param returns 0, and the parameter v_end_param returns 1.
u_periodic
[out] - Flag that specifies whether the surface is periodic on U parameter. When function returns, this parameter can have one of following values.
false - The surface is not periodic on U parameter.
true - The surface is periodic on U parameter. Surface points are defined for any value of U parameter. The difference between the values returned by parameters u_start_param and u_end_param in this case defines parameter periodicity.
v_periodic
[out] - Flag that specifies whether the surface is periodic on V parameter. When function returns, this parameter can have one of following values.
false - The surface is not periodic on V parameter.
true - The surface is periodic on V parameter. Surface points are defined for any value of V parameter. The difference between the values returned by parameters v_start_param and v_end_param in this case defines parameter periodicity.

Errors

None.