A3DSDKAdvancedTools.h

Functions

A3DStatus A3DCrvGetInterval()
A3DStatus A3DCrvEvaluate()
A3DStatus A3DCrvEvaluatePointAndNormal()
A3DStatus A3DCrvIsPeriodic()
A3DStatus A3DSurfGetDomain()
A3DStatus A3DSurfEvaluate()
A3DStatus A3DSurfIsDegenerated()
A3DStatus A3DSurfIsPeriodic()
A3DStatus A3DSurfIsG1Continuous()
A3DStatus A3DSimplifyCurveWithAnalytics()
A3DStatus A3DSimplifyCurveWithAnalyticsFromCoEdge()
A3DStatus A3DSimplifySurfaceWithAnalytics()
A3DCrvProjectPoint()
A3DSurfProjectPoint()
A3DCrvLocalProjectPoint()
A3DSurfLocalProjectPoint()
A3DStatus A3DSurfEvaluateNormal()
A3DStatus A3DSewBrep()
A3DStatus A3DAsmModelFileSew()
A3DStatus A3DFaceUVPointInsideManagerCreate()
A3DStatus A3DFaceUVPointInsideManagerDelete()
A3DStatus A3DFaceUVPointInside()
A3DStatus A3DProjectPointCloud()
A3DStatus A3DProjectPointCloudManagerCreateFromRI()
A3DStatus A3DProjectPointCloudManagerCreateFromModelFile()
A3DStatus A3DProjectPointCloudManagerDelete()
A3DStatus A3DProjectPointCloud3()
A3DStatus A3DComputePlanarSectionOnRepresentationItem()
A3DStatus A3DComputePlanarSectionOnModelFile()
A3DCurveLength()
A3DStatus A3DCompareFaces()
A3DStatus A3DCompareFacesInBrepModels()
A3DStatus A3DCutWithMultiPlanarSectionOnRepresentationItems()
A3DStatus A3DCutWithMultiPlanarSectionOnModelFile()
A3DStatus A3DComputeOrthoHLROnRepresentationItems()
A3DStatus A3DComputeOrthoHLROnModelFile3()
A3DStatus A3DHLRRepresentationItemGet()
A3DVoid A3DDllActivateXMLTrace()
A3DXmlParsing()
A3DStatus A3DCollisionCompute()

Detailed Description

Author
Tech Soft 3D
Version
25.7
Date
September 2025
Copyright
Copyright (c) 2010 - 2025 by Tech Soft 3D, Inc. All rights reserved.

Function Documentation

A3DStatus A3DCrvProjectPoint(const A3DCrvBase *pCrv, const A3DVector3dData *pPointToProject, A3DUns32 *puiNbSolutions, A3DDouble **ppdSolutionParameter, A3DDouble **ppdSolutionDistance)

This function projects a point on a curve.

ppdSolutionParameter and ppdSolutionDistance arrays give the parameter on the curve and the spatial distance between pPointToProject and the solution (on the curve). In order to free output arrays call again A3DCrvProjectPoint with curve sets to NULL.

Version
5.0

Parameters:
  • pCrv[in] The input curve.
  • pPointToProject[in] The input point to project on curve.
  • puiNbSolutions[out] The number of returned solutions.
  • ppdSolutionParameter[out] Array of parameters on the curve.
  • ppdSolutionDistance[out] Array of spatial distances between pPointToProject and the solution (on the curve).
Return values:
  • A3D_SUCCESS
  • A3D_ERROR
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DSurfProjectPoint(const A3DSurfBase *pSurf, const A3DVector3dData *pPointToProject, A3DUns32 *puiNbSolutions, A3DVector2dData **ppdSolutionParameters, A3DDouble **ppdSolutionDistance)

This function projects a point on a surface The number of returned solutions is given by puiNbSolutions and for each one, ppdSolutionParameters and ppdSolutionDistance arrays give the 2D point in surface parametric domain and the spatial distance between pPointToProject and the solution (on the surface).

In order to free output arrays call again A3DSurfProjectPoint with surface sets to NULL.

Version
5.0

Parameters:
  • pSurf[in] The input surface.
  • pPointToProject[in] The input point to project on surface.
  • puiNbSolutions[out] The number of returned solutions.
  • ppdSolutionParameters[out] Array of 2D points in the surface parametric domain.
  • ppdSolutionDistance[out] Array of spatial distances between pPointToProject and the solution (on the surface).
Return values:
  • A3D_SUCCESS
  • A3D_ERROR
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DCrvLocalProjectPoint(const A3DCrvBase *pCrv, const A3DVector3dData *pPointToProject, A3DDouble dGuessParameter, A3DBool *pbFindSolution, A3DDouble *pdSolutionParameter, A3DDouble *pdSolutionDistance)

This function projects a point on a curve with a guess parameter pdSolutionParameter and pdSolutionDistance give the parameter on the curve and the spatial distance between pPointToProject and the solution (on the curve).

Version
5.0

Parameters:
  • pCrv[in] The input curve.
  • pPointToProject[in] The input point to project on curve.
  • dGuessParameter[in] The input guess parameters.
  • pbFindSolution[out] Result status.
  • pdSolutionParameter[out] parameter solution.
  • pdSolutionDistance[out] spatial distance (optional).
Return values:
  • A3D_SUCCESS
  • A3D_INVALID_ENTITY_NULL
  • A3D_CRV_INVALID_PARAMETER
  • A3D_ERROR
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DSurfLocalProjectPoint(const A3DSurfBase *pSurf, const A3DVector3dData *pPointToProject, const A3DVector2dData *pGuessPoint, A3DBool *pbFindSolution, A3DVector2dData *pSolutionParameter, A3DDouble *pdSolutionDistance)

This function projects a point on a surface with a guess parameter pSolutionParameter and pdSolutionDistance give the 2D point in surface parametric domain and the spatial distance between pPointToProject and the solution (on the surface).

pGuessPoint must be contained by the domain of the surface.

Version
5.0

Parameters:
  • pSurf[in] The input surface.
  • pPointToProject[in] The input point to project on surface.
  • pGuessPoint[in] The input guess parameters.
  • pbFindSolution[out] Result status.
  • pSolutionParameter[out] parameter solution.
  • pdSolutionDistance[out] spatial distance (optional).
Return values:
  • A3D_SUCCESS
  • A3D_INVALID_ENTITY_NULL
  • A3D_SRF_INVALID_PARAMETERS
  • A3D_ERROR
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DCurveLength(const A3DCrvBase *pCrv, const A3DIntervalData *pOptInterval, A3DDouble *pdLength)

Function to compute the length of a curve (optionally restricted to an interval)

Version
7.0

Parameters:
  • pCrv[in] The curve: A3DCrvBase.
  • pOptInterval[in] The interval of restriction of the curve (if NULL, the natural interval of the curve will be used).
  • pdLength[out] The length of the curve.
Return values:
  • A3D_SUCCESS
  • A3D_INITIALIZE_NOT_CALLED
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INVALID_ENTITY_NULL
  • A3D_INVALID_ENTITY_TYPE
  • A3D_ERROR
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DXmlParsing(const A3DAsmModelFile *pModelfile, const A3DUTF8Char *pcFileName)