A3DUVParameterizationData
Fields
Detailed Description
-
struct A3DUVParameterizationData
Structure for parameterizing surfaces.
This structure is used in surface definitions (see Surfaces Module). Its members specify a trimming domain (2-dimensional range) and parameterization settings.
- Version
2.0
It describes a surface reparameterization regarding the implicit parameterization that corresponds to its canonical form. Here are some important points:
Default settings. If reparameterization is unnecessary (the implicit parameterization is used), the m_dUCoeffA and m_dVCoeffA members must be set to 1, the m_dUCoeffB and m_dVCoeffB members must be set to 0, and the m_bSwapUV should be set to false.
UV domain. The m_sUVDomain member defines the 2-dimensional range for a surface. Its coordinates are in the final parameterization space. Parts of the object that are outside the bounding box are excluded from the view. The domain’s units are specific for the surface type. For example, the units for a cylinder are degrees and linear units (typically millimeters).
if (!swap_uv) { implicit_param.u = parameterization_on_u_coeff_a * param.u + parameterization_on_u_coeff_b implicit_param.v = parameterization_on_v_coeff_a * param.v + parameterization_on_v_coeff_b } else { implicit_param.u = parameterization_on_v_coeff_a * param.v + parameterization_on_v_coeff_b implicit_param.v = parameterization_on_u_coeff_a * param.u + parameterization_on_u_coeff_b }
To ensure that
implicit_param.u(min) < implicit_param.v(min)
andimplicit_param.u(max) < implicit_param.v(max)
, you must specify parameterization values.This example shows the settings to reparameterize a cylinder of 25mm height, having an implicit parameterization of 2 PI radian in u and height in v, to a domain of (0,0) and (1,1):
m_dUCoeffA = 2 PI
m_dUCoeffB = 0.
m_dVCoeffA = 25
m_dVCoeffB = 0.
m_bSwapUV = false
m_dUCoeffA = 1.
m_dUCoeffB = 0.
m_dVCoeffA = 1.
m_dVCoeffB = 0.
m_bSwapUV = false
Public Members
-
A3DDomainData m_sUVDomain
Definition domain.