A3DSDKGeometrySrf.h
Header file for surface entities.
- Author
Tech Soft 3D
- Version
23.0
- Date
January 2023
- Copyright (c) 2010 - 2023 by Tech Soft 3D, Inc. All rights reserved.
Content
Data Structures
Nurbs surface structure. |
|
Structure for representing a spherical surface. |
|
Structure for representing a cylindrical surface. |
|
Structure for defining toric surfaces. |
|
Revolution structure. |
|
Extrusion structure. |
|
Offset structure. |
|
Surface Plane structure. |
|
Blend01 structure. |
|
Blend02 structure. |
|
Blend03 structure. |
|
Structure for describing conical surfaces. |
|
Structure for defining a cylindrical-space surface. |
|
Ruled surface structure. |
|
Pipe structure. |
|
Transform surface structure. |
|
Surface from curves structure. |
Functions
Populates the A3DSurfNurbsData structure. |
|
Creates an A3DSurfNurbs from an A3DSurfNurbsData structure. |
|
Populates the A3DSurfNurbsData structure from any type of A3DSurfBase . |
|
Populates the A3DSurfNurbsData structure from any type of A3DSurfBase and an optional restriction domain A3DDomainData . |
|
Populates the A3DSurfSphereData structure. |
|
Creates an A3DSurfSphere from an A3DSurfSphereData structure. |
|
Populates the A3DSurfCylinderData structure. |
|
Creates an A3DSurfCylinder from an A3DSurfCylinderData structure. |
|
Populates the A3DSurfTorusData structure. |
|
Creates an A3DSurfTorus from an A3DSurfTorusData structure. |
|
Populates the A3DSurfRevolutionData structure. |
|
Creates an A3DSurfRevolution from an A3DSurfRevolutionData structure. |
|
Populates the A3DSurfExtrusionData structure. |
|
Creates an A3DSurfExtrusion from an A3DSurfExtrusionData structure. |
|
Populates the A3DSurfOffsetData structure. |
|
Creates an A3DSurfOffset from an A3DSurfOffsetData structure. |
|
Populates the A3DSurfPlaneData structure from any type of A3DSurfPlane . |
|
Creates the A3DSurfPlane from A3DSurfPlaneData structure. |
|
Populates the A3DSurfBlend01Data structure. |
|
Creates an A3DSurfBlend01 from an A3DSurfBlend01Data structure. |
|
Populates the A3DSurfBlend02Data structure. |
|
Creates an A3DSurfBlend02 from an A3DSurfBlend02Data structure. |
|
Populates the A3DSurfBlend03Data structure. |
|
Creates an A3DSurfBlend03 from an A3DSurfBlend03Data structure. |
|
Populates the A3DSurfConeData structure. |
|
Creates an A3DSurfCone from an A3DSurfConeData structure. |
|
Populates the A3DSurfCylindricalData structure. |
|
Creates an A3DSurfCylindrical from an A3DSurfCylindricalData structure. |
|
Populates the A3DSurfRuledData structure. |
|
Creates an A3DSurfRuled from an A3DSurfRuledData structure. |
|
Populates the A3DSurfPipeData structure. |
|
Creates an A3DSurfPipe from an A3DSurfPipeData structure. |
|
Populates the A3DSurfTransformData structure. |
|
Creates an A3DSurfTransform from an A3DSurfTransformData structure. |
|
Populates the A3DSurfFromCurvesData structure. |
|
Creates an A3DSurfFromCurves from an A3DSurfFromCurvesData structure. |
Functions
-
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
-
A3DStatus A3DSurfSphereGet(const A3DSurfSphere *pSrf, A3DSurfSphereData *pData)
Populates the A3DSurfSphereData 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 A3DSurfSphereCreate(const A3DSurfSphereData *pData, A3DSurfSphere **ppSrf)
Creates an A3DSurfSphere from an A3DSurfSphereData structure.
- Version
2.0
Warning
Associated transformation must be Identity
Warning
Trimming interval must be defined inside curve definition
Warning
Parameterization must have CoeffA = 1. and CoeffB = 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 A3DSurfCylinderGet(const A3DSurfCylinder *pSrf, A3DSurfCylinderData *pData)
Populates the A3DSurfCylinderData 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 A3DSurfCylinderCreate(const A3DSurfCylinderData *pData, A3DSurfCylinder **ppSrf)
Creates an A3DSurfCylinder from an A3DSurfCylinderData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfTorusGet(const A3DSurfTorus *pSrf, A3DSurfTorusData *pData)
Populates the A3DSurfTorusData 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 A3DSurfTorusCreate(const A3DSurfTorusData *pData, A3DSurfTorus **ppSrf)
Creates an A3DSurfTorus from an A3DSurfTorusData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfRevolutionGet(const A3DSurfRevolution *pSrf, A3DSurfRevolutionData *pData)
Populates the A3DSurfRevolutionData 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 A3DSurfRevolutionCreate(const A3DSurfRevolutionData *pData, A3DSurfRevolution **ppSrf)
Creates an A3DSurfRevolution from an A3DSurfRevolutionData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfExtrusionGet(const A3DSurfExtrusion *pSrf, A3DSurfExtrusionData *pData)
Populates the A3DSurfExtrusionData 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 A3DSurfExtrusionCreate(const A3DSurfExtrusionData *pData, A3DSurfExtrusion **ppSrf)
Creates an A3DSurfExtrusion from an A3DSurfExtrusionData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfOffsetGet(const A3DSurfOffset *pSrf, A3DSurfOffsetData *pData)
Populates the A3DSurfOffsetData 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 A3DSurfOffsetCreate(const A3DSurfOffsetData *pData, A3DSurfOffset **ppSrf)
Creates an A3DSurfOffset from an A3DSurfOffsetData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfPlaneGet(const A3DSurfPlane *pSrf, A3DSurfPlaneData *pData)
Populates the A3DSurfPlaneData structure from any type of A3DSurfPlane.
- 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 A3DSurfPlaneCreate(const A3DSurfPlaneData *pData, A3DSurfPlane **ppSrf)
Creates the A3DSurfPlane from A3DSurfPlaneData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
A3D_SRF_PLANE_CANNOT_CREATE_CANONICAL –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfBlend01Get(const A3DSurfBlend01 *pSrf, A3DSurfBlend01Data *pData)
Populates the A3DSurfBlend01Data 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 A3DSurfBlend01Create(const A3DSurfBlend01Data *pData, A3DSurfBlend01 **ppSrf)
Creates an A3DSurfBlend01 from an A3DSurfBlend01Data structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfBlend02Get(const A3DSurfBlend02 *pSrf, A3DSurfBlend02Data *pData)
Populates the A3DSurfBlend02Data 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 A3DSurfBlend02Create(const A3DSurfBlend02Data *pData, A3DSurfBlend02 **ppSrf)
Creates an A3DSurfBlend02 from an A3DSurfBlend02Data structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfBlend03Get(const A3DSurfBlend03 *pSrf, A3DSurfBlend03Data *pData)
Populates the A3DSurfBlend03Data structure.
- Version
2.0
- Attention
FUNCTION IS NOT IMPLEMENTED YET
- 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 A3DSurfBlend03Create(const A3DSurfBlend03Data *pData, A3DSurfBlend03 **ppSrf)
Creates an A3DSurfBlend03 from an A3DSurfBlend03Data structure.
- Version
2.0
- Attention
FUNCTION IS NOT IMPLEMENTED YET
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfConeGet(const A3DSurfCone *pSrf, A3DSurfConeData *pData)
Populates the A3DSurfConeData 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 A3DSurfConeCreate(const A3DSurfConeData *pData, A3DSurfCone **ppSrf)
Creates an A3DSurfCone from an A3DSurfConeData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfCylindricalGet(const A3DSurfCylindrical *pSrf, A3DSurfCylindricalData *pData)
Populates the A3DSurfCylindricalData 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 A3DSurfCylindricalCreate(const A3DSurfCylindricalData *pData, A3DSurfCylindrical **ppSrf)
Creates an A3DSurfCylindrical from an A3DSurfCylindricalData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfRuledGet(const A3DSurfRuled *pSrf, A3DSurfRuledData *pData)
Populates the A3DSurfRuledData 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 A3DSurfRuledCreate(const A3DSurfRuledData *pData, A3DSurfRuled **ppSrf)
Creates an A3DSurfRuled from an A3DSurfRuledData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfPipeGet(const A3DSurfPipe *pSrf, A3DSurfPipeData *pData)
Populates the A3DSurfPipeData 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 A3DSurfPipeCreate(const A3DSurfPipeData *pData, A3DSurfPipe **ppSrf)
Creates an A3DSurfPipe from an A3DSurfPipeData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfTransformGet(const A3DSurfTransform *pSrf, A3DSurfTransformData *pData)
Populates the A3DSurfTransformData 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_SRF_CANNOT_ACCESS_CANONICAL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfTransformCreate(const A3DSurfTransformData *pData, A3DSurfTransform **ppSrf)
Creates an A3DSurfTransform from an A3DSurfTransformData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SRF_CANNOT_CREATE_CANONICAL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code
-
A3DStatus A3DSurfFromCurvesGet(const A3DSurfFromCurves *pSrf, A3DSurfFromCurvesData *pData)
Populates the A3DSurfFromCurvesData 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 A3DSurfFromCurvesCreate(const A3DSurfFromCurvesData *pData, A3DSurfFromCurves **ppSrf)
Creates an A3DSurfFromCurves from an A3DSurfFromCurvesData structure.
- Version
2.0
- Return values
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_SUCCESS –
- Returns
A3D_SUCCESS in case of success or an error code