# A3DUVParameterizationData

struct `A3DUVParameterizationData`

  Structure for parameterizing surfaces.

  > 2.0

  This structure is used in surface definitions (see Surfaces Module). Its members specify a trimming domain (2-dimensional range) and parameterization settings.

  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 finalparameterization 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).

  Here is the evaluation formula for a given parameterization setting:

      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)`and `implicit_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

  And this example shows the member settings to retain the implicit parameterization (reparameterization is unnecessary):

  - `m_dUCoeffA`= 1.
  - `m_dUCoeffB`= 0.
  - `m_dVCoeffA`= 1.
  - `m_dVCoeffB`= 0.
  - `m_bSwapUV`= false

  ## Index

  Variables

  - `m_sUVDomain`
  - `m_bSwapUV`
  - `m_dUCoeffA`
  - `m_dVCoeffA`
  - `m_dUCoeffB`
  - `m_dVCoeffB`

Variables

A3DDomainData `A3DUVParameterizationData.``m_sUVDomain`
  `A3DDomainData`

  Definition domain.

A3DBool `A3DUVParameterizationData.``m_bSwapUV`
  `A3DBool`

  Need to swap U and V coordinates.

A3DDouble `A3DUVParameterizationData.``m_dUCoeffA`
  `A3DDouble`

  Coefficient for reparameterization along u vector.

A3DDouble `A3DUVParameterizationData.``m_dVCoeffA`
  `A3DDouble`

  Coefficient for reparameterization along v vector.

A3DDouble `A3DUVParameterizationData.``m_dUCoeffB`
  `A3DDouble`

  Coefficient for reparameterization along u vector.

A3DDouble `A3DUVParameterizationData.``m_dVCoeffB`
  `A3DDouble`

  Coefficient for reparameterization along v vector.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...