NURBS Surface (the base surface entity)
Types
Fields
Functions
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 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 in case of success or an error code
-
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 in case of success or an error code
-
A3DStatus A3DSurfBaseGetAsNurbs(const A3DSurfBase *pSrf, A3DDouble dTolerance, A3DBool bUseSameParameterization, A3DSurfNurbsData *pData)
Populates the A3DSurfNurbsData structure from any type of A3DSurfBase.
- Deprecated:
This structure will be deprecated with HE 2023. Please use A3DSurfBaseWithDomainGetAsNurbs instead.
- 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 in case of success or an error code
-
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 in case of success or an error code