NURBS Surface (the base surface entity)

Fields

kA3DBSplineSurfaceFormPlane
kA3DBSplineSurfaceFormCylindrical
kA3DBSplineSurfaceFormConical
kA3DBSplineSurfaceFormSpherical
kA3DBSplineSurfaceFormRevolution
kA3DBSplineSurfaceFormRuled
kA3DBSplineSurfaceFormGeneralizedCone
kA3DBSplineSurfaceFormQuadric
kA3DBSplineSurfaceFormLinearExtrusion
kA3DBSplineSurfaceFormUnspecified
kA3DBSplineSurfaceFormPolynomial

Detailed Description

group a3d_srfnurbs

Entity type is kA3DTypeSurfNurbs.

Note

This surface type contains neither A3DUVParameterizationData nor A3DMiscCartesianTransformationData.

Type Documentation

enum A3DEBSplineSurfaceForm

Enumeration for characterizing a surface’s form.

Version
2.0

Values:

enumerator kA3DBSplineSurfaceFormPlane

Planar surface.

enumerator kA3DBSplineSurfaceFormCylindrical

Cylindrical surface.

enumerator kA3DBSplineSurfaceFormConical

Conical surface.

enumerator kA3DBSplineSurfaceFormSpherical

Spherical surface.

enumerator kA3DBSplineSurfaceFormRevolution

Surface of revolution.

enumerator kA3DBSplineSurfaceFormRuled

Ruled surface.

enumerator kA3DBSplineSurfaceFormGeneralizedCone

Cone.

enumerator kA3DBSplineSurfaceFormQuadric

Quadric surface.

enumerator kA3DBSplineSurfaceFormLinearExtrusion

Surface of extrusion.

enumerator kA3DBSplineSurfaceFormUnspecified

Unspecified.

enumerator kA3DBSplineSurfaceFormPolynomial

Polynomial surface.

Function Documentation

A3DStatus deprecated_A3DSurfBaseGetAsNurbs(const A3DSurfBase *pSrf, A3DDouble dTolerance, A3DBool bUseSameParameterization, A3DSurfNurbsData *pData)

Populates the A3DSurfNurbsData structure from any type of A3DSurfBase.

Deprecated:

This function has been deprecated since HE 2023. Please use A3DSurfBaseWithDomainGetAsNurbs instead. This will be removed in version 2026.1.0.

Version
2.0

This structure must be freed with A3DSurfNurbsGet call.

Warning

This function can modify the parameterization for surface. You must treat related entities accordingly.

Warning

See note on Tolerance explanation at A3DCrvBaseGetAsNurbs definition.

Warning

This function can be called with any type of curve.

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INTERVAL_INCONSISTENT_DATA
  • A3D_SRF_NURBS_TOO_TINY_TOLERANCE
  • A3D_SUCCESS
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DSurfNurbsGet(const A3DSurfNurbs *pSrf, A3DSurfNurbsData *pData)

Populates the A3DSurfNurbsData structure.

Version
2.0

Return values:
  • A3D_INITIALIZE_NOT_CALLED
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INVALID_ENTITY_NULL
  • A3D_INVALID_ENTITY_TYPE
  • A3D_SUCCESS
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DSurfNurbsCreate(const A3DSurfNurbsData *pData, A3DSurfNurbs **ppSrf)

Creates an A3DSurfNurbs from an A3DSurfNurbsData structure.

Version
2.0

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INTERVAL_INCONSISTENT_DATA
  • A3D_SUCCESS
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DSurfBaseWithDomainGetAsNurbs(const A3DSurfBase *pSrf, const A3DDomainData *pOptDomain, A3DDouble dTolerance, A3DBool bUseSameParameterization, A3DSurfNurbsData *pData)

Populates the A3DSurfNurbsData structure from any type of A3DSurfBase and an optional restriction domain A3DDomainData.

This structure must be freed with A3DSurfNurbsGet call.

Version
14.2

Warning

This function can modify the parameterization for surface. You must treat related entities accordingly.

Warning

If pOptDomain is defined it must be contained by surface domaine.

Warning

See note on Tolerance explanation at A3DCrvBaseGetAsNurbs definition.

Warning

This function can be called with any type of curve.

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INTERVAL_INCONSISTENT_DATA
  • A3D_SRF_NURBS_TOO_TINY_TOLERANCE
  • A3D_SRF_INVALID_PARAMETERS
  • A3D_SUCCESS
Returns:

A3D_SUCCESS on success, or an error code on failure