Header file for surface entities. More...
Functions | |
A3DStatus | A3DAsmModelFileSew (A3DAsmModelFile **ppModelFile, A3DDouble dToleranceInMM) |
Function to sew one model file. More... | |
A3DStatus | A3DCollisionCompute (A3DCollisionGroupData const *pGroup1, A3DCollisionGroupData const *pGroup2, A3DCollisionParameterData const *pParameterData, A3DUns32 *uCollisionResultsSize, A3DCollisionResultData **pCollisionResults) |
Determine interferences between A3DRiRepresentationItem. More... | |
A3DStatus | A3DCompareFaces (A3DCompareInputData *pInput, A3DCompareOutputData *pOutput) |
Function to compare the faces of two groups of A3DRiBrepModel. This function will detect if every points in a face of the first group (referenced as group of the old faces) can be projected to one of the faces of the other group (referenced as group of the new faces) within the given tolerance. This is useful for exemple to understand what has changed in a part between two versions: a hole has been added, an edge has been blended. More... | |
A3DStatus | A3DCompareFacesInBrepModels (A3DAsmModelFile *pOldModelFile, A3DAsmModelFile *pNewModelFile, A3DDouble dToleranceInMM, A3DCompareOutputData *pOutput) |
Function to compare the faces of two A3DAsmModelFile. This is the same as A3DCompareFaces except that A3DRiBrepModel will be found by traversing the two A3DAsmModelFile. More... | |
A3DStatus | A3DComputeOrthoHLROnModelFile (A3DAsmModelFile const *pModelFile, A3DMkpView const *pOptMrkRView, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DUns32 *pNumberHLRData, A3DHLRRepresentationItemData **pppHLRData) |
Function to compute Hidden Line Removal on a A3DAsmModelFile. More... | |
A3DStatus | A3DComputeOrthoHLROnModelFile2 (A3DAsmModelFile const *pModelFile, A3DMkpView const *pOptMrkRView, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DUns32 *pNumberHLRRepItem, A3DHLRRepresentationItem ***pppHLRRepItem) |
Function to compute Hidden Line Removal on a A3DAsmModelFile. More... | |
A3DStatus | A3DComputeOrthoHLROnModelFile3 (A3DAsmModelFile const *pModelFile, A3DMkpView const *pOptMrkRView, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DHLROptionsData const *psHLROptionsData, A3DUns32 *pNumberHLRRepItem, A3DHLRRepresentationItem ***ppHLRRepItems) |
Function to compute Hidden Line Removal on a A3DAsmModelFile. More... | |
A3DStatus | A3DComputeOrthoHLROnRepresentationItems (A3DUns32 uiNbRepItems, A3DRiRepresentationItem const **apRepItems, A3DDouble **pOptPlacements, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DUns32 *pNumberHLRData, A3DHLRRepresentationItemData **pppHLRData) |
Function to compute Hidden Line Removal on a set of A3DRiRepresentationItem. More... | |
A3DStatus | A3DComputePlanarSectionOnModelFile (A3DAsmModelFile const *pModelFile, A3DPlanarSectionData const *psSectionParametersData, A3DUns32 *pNumberOfSections, A3DRiSet ***pppRISectionElements) |
Function to compute plane section on ModelFile. More... | |
A3DStatus | A3DComputePlanarSectionOnRepresentationItem (A3DRiBrepModel const *pRiBrepModel, A3DPlanarSectionData const *psSectionParametersData, A3DRiSet **ppRISectionResults) |
Function to compute plane section on BrepModel. More... | |
A3DStatus | A3DCrvEvaluate (const A3DCrvBase *pCrv, A3DDouble dParameter, A3DUns32 uiNbDerivatives, A3DVector3dData *pPointAndDerivatives) |
Function to evaluate a point and the derivatives of a curve at a parameter . More... | |
A3DStatus | A3DCrvEvaluatePointAndNormal (A3DCrvBase const *psCrv, A3DDouble dParameter, A3DUns32 uiNbSurfaces, A3DSurfBase **ppsSurfaces, A3DUns32 uiNbDerivatives, A3DVector3dData *psPointAndDerivatives, A3DVector3dData *psNormal) |
Function to evaluate a point and the derivatives of a curve at a parameter, then the normal of this point to each of the given surfaces . More... | |
A3DStatus | A3DCrvGetInterval (const A3DCrvBase *pCrv, A3DIntervalData *pInterval) |
Function to get a curve parametric interval. More... | |
A3DStatus | A3DCrvIsPeriodic (const A3DCrvBase *pCrv, A3DBool *pbIsPeriodic) |
Function to determine if a curve is periodic. More... | |
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). More... | |
A3DStatus | A3DCrvProjectPoint (const A3DCrvBase *pCrv, const A3DVector3dData *pPointToProject, A3DUns32 *puiNbSolutions, A3DDouble **ppdSolutionParameter, A3DDouble **ppdSolutionDistance) |
This function projects a point on a curve The number of returned solutions is given by puiNbSolutions and for each one, 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 A3DSurfProjectPoint with curve sets to NULL. More... | |
A3DStatus | A3DCurveLength (const A3DCrvBase *pCrv, A3DIntervalData *pOptInterval, A3DDouble *pdLength) |
Function to compute the length of a curve (optionally restricted to an interval) More... | |
A3DStatus | A3DCutWithMultiPlanarSectionOnModelFile (A3DAsmModelFile const *pModelFile, A3DMkpView const *pOptMrkRView, A3DMultiPlanarSectionData const *psSectionParametersData, A3DUns32 *pNumberOfRepItems, A3DRiRepresentationItem ***pppRIRepresentationItem, A3DRiRepresentationItem ***pppRIPlanarSections) |
Function to compute the result of a section with several planes on a A3DAsmModelFile. More... | |
A3DStatus | A3DCutWithMultiPlanarSectionOnRepresentationItems (A3DUns32 uiNbRepItems, A3DRiRepresentationItem const **apRepItems, A3DDouble **pOptPlacements, A3DMultiPlanarSectionData const *psSectionParametersData, A3DUns32 *pNumberOfRepItems, A3DRiRepresentationItem ***pppRIRepresentationItem, A3DRiRepresentationItem ***pppRIPlanarSections) |
Function to compute the result of a section with several planes on a set of A3DRiRepresentationItem. More... | |
A3DVoid | A3DDllActivateXMLTrace (A3DBool activate) |
A3DStatus | A3DFaceUVPointInside (A3DFaceUVPointInsideManager *pManager, A3DTopoFace const *psFace, A3DVector2dData const *pUVParameter, A3DDouble dTol3D, A3DUns8 *puiUVInFace) |
This function projects a UV point on a face, and return if it's inside or not. puiUVInFace gives the result: 0 if the point is outside the face, and 1 if it's inside. dTol3D is used to check if a UV point is on edges. If it's set to zero and the point is not inside the face but potentially on its edges, the tolerance check will not happen. More... | |
A3DStatus | A3DFaceUVPointInsideManagerCreate (A3DFaceUVPointInsideManagerData const *pData, A3DFaceUVPointInsideManager **pManager) |
Creates an A3DFaceUVPointInsideManager from an A3DFaceUVPointInsideManagerData structure. More... | |
A3DStatus | A3DFaceUVPointInsideManagerDelete (A3DFaceUVPointInsideManager *pManager) |
Deletes an A3DFaceUVPointInsideManager. More... | |
A3DStatus | A3DGetCurveAsAnalytic (const A3DCrvBase *pCurve, double dTol, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance. Use A3DEntityDelete to delete the analytic curve after using it. More... | |
A3DStatus | A3DGetCurveAsAnalyticFromCoEdge (const A3DTopoCoEdge *pCoEdge, double dTol, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance Try to use UV curves from Edges if exist, otherwise use 3D Curves. Use A3DEntityDelete to delete the analytic curve after using it. More... | |
A3DStatus | A3DGetSurfaceAsAnalytic (A3DSurfBase const *pSrf, double dTol, A3DSurfBase **pAnalyticSurface, A3DEAnalyticType *peAnalyticType) |
Function to get surface as analytic according to a certain tolerance. Use A3DEntityDelete to delete the analytic surface after using it. Recognized surface type are: Conic Surface Cylindrical Surface Plane Surface Spherical Surface Toric Surface. More... | |
A3DStatus | A3DHLRRepresentationItemGet (A3DHLRRepresentationItem const *pHLRRepItem, A3DHLRRepresentationItemData *psRIData) |
Populates the A3DHLRRepresentationItemData structure. More... | |
A3DStatus | A3DProjectPointCloud (unsigned int uRiBrepModelSize, A3DRiBrepModel **pRiBrepModel, A3DUns32 uPointCloudSize, A3DVector3dData *pPointCloudToProject, A3DBool bUseExactComputation, A3DUns32 uNbThreads, A3DProjectedPointCloudData **ppProjectedPointCloud) |
Function to project Point Cloud on BrepModel. More... | |
A3DStatus | A3DProjectPointCloud2 (A3DProjectPointCloudManager *pManager, A3DUns32 uPointCloudSize, A3DVector3dData *pPointCloudToProject, A3DBool bUseExactComputation, A3DUns32 uNbThreads, A3DDouble dInsidePointEdgeTolerance, A3DProjectedPointCloudData **ppProjectedPointCloud) |
Function to project Point Cloud on BrepModel with a A3DProjectPointCloudManager. More... | |
A3DStatus | A3DProjectPointCloudManagerCreateFromModelFile (A3DAsmModelFile *pModelFile, A3DProjectPointCloudManager **pManager) |
Create a Point Cloud Manager from a A3DAsmModelFile. More... | |
A3DStatus | A3DProjectPointCloudManagerCreateFromRI (A3DProjectPointCloudManagerDataFromRI *pData, A3DProjectPointCloudManager **pManager) |
Create a Point Cloud Manager from a set of A3DRiRepresentationItem with matrix placement. More... | |
A3DStatus | A3DProjectPointCloudManagerDelete (A3DProjectPointCloudManager *pManager) |
Deletes an A3DProjectPointCloudManager. More... | |
A3DStatus | A3DSewBrep (A3DRiBrepModel ***p, A3DUns32 uNbBrepModels, double dTolerance, A3DRiBrepModel ***pBrepModelsOut, A3DUns32 *const uNbBrepOut) |
Function to sew multiple B-rep data structures. More... | |
A3DStatus | A3DSimplifyCurveWithAnalytics (const A3DCrvBase *pCurve, A3DDouble dTol, A3DUns32 uNbRecognizedType, A3DEEntityType const *pOptRecognizedType, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance. Use A3DEntityDelete to delete the analytic curve after using it. Recognized curve type are: Linear Curve Circular Curve If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifyCurveWithAnalytics recognizes only given types. More... | |
A3DStatus | A3DSimplifyCurveWithAnalyticsFromCoEdge (const A3DTopoCoEdge *pCoEdge, A3DDouble dTol, A3DUns32 uNbRecognizedType, A3DEEntityType const *pOptRecognizedType, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance Try to use 3D curves from Edges if exist, otherwise use UV Curves on CoEdge. Use A3DEntityDelete to delete the analytic curve after using it. Recognize curve type are: Linear Curve Circular Curve If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifyCurveWithAnalytics recognizes only given types. More... | |
A3DStatus | A3DSimplifySurfaceWithAnalytics (A3DSurfBase const *pSrf, A3DDouble dTol, A3DUns32 uNbRecognizedType, A3DEEntityType const *pOptRecognizedType, A3DSurfBase **pAnalyticSurface, A3DEAnalyticType *peAnalyticType) |
Function to get surface as analytic according to a certain tolerance. Use A3DEntityDelete to delete the analytic surface after using it. Recognized surface type are: Conic Surface Cylindrical Surface Plane Surface Spherical Surface Toric Surface If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifySurfaceWithAnalytics recognizes only given types. More... | |
A3DStatus | A3DSrfGetDomain (const A3DSurfBase *pSrf, A3DDomainData *pDomain) |
Function to get a surface parametric domain. More... | |
A3DStatus | A3DSurfEvaluate (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DUns32 uiNbDerivatives, A3DVector3dData *pPointAndDerivatives) |
Function to evaluate a point and the derivatives on a surface. More... | |
A3DStatus | A3DSurfEvaluateNormal (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DVector3dData *pNormal) |
Function to evaluate a normal on a surface. More... | |
A3DStatus | A3DSurfIsDegenerated (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DDouble dTolerance, A3DBool *pbIsDegenerated, A3DBool *pbUDirection) |
Function to determine if a surface is degenerated at a point. More... | |
A3DStatus | A3DSurfIsG1Continuous (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DDouble dAngleTolerance, A3DBool *pbUG1Continuous, A3DBool *pbVG1Continuous) |
Function to determine if a surface is G1 discontinuous at a point. More... | |
A3DStatus | A3DSurfIsPeriodic (const A3DSurfBase *pSrf, A3DBool *pbUIsPeriodic, A3DBool *pbVIsPeriodic) |
Function to determine if a surface is periodic. More... | |
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). More... | |
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. More... | |
Detailed Description
Header file for surface entities.
- Version
- 11.2
- Date
- May 2018
- Copyright (c) 2010 - 2018 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 The number of returned solutions is given by puiNbSolutions and for each one, 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 A3DSurfProjectPoint with curve sets to NULL.
- Version
- 5.0
- Parameters
-
[in] pCrv The input curve. [in] pPointToProject The input point to project on curve. [out] puiNbSolutions The number of returned solutions. [out] ppdSolutionParameter Array of parameters on the curve. [out] ppdSolutionDistance Array of spatial distances between pPointToProject and the solution (on the curve).
- Returns
- A3D_SUCCESS
-
A3D_ERROR
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
-
[in] pSurf The input surface. [in] pPointToProject The input point to project on surface. [out] puiNbSolutions The number of returned solutions. [out] ppdSolutionParameters Array of 2D points in the surface parametric domain. [out] ppdSolutionDistance Array of spatial distances between pPointToProject and the solution (on the surface).
- Returns
- A3D_SUCCESS
-
A3D_ERROR
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
-
[in] pCrv The input curve. [in] pPointToProject The input point to project on curve. [in] dGuessParameter The input guess parameters. [out] pbFindSolution Result status. [out] pdSolutionParameter parameter solution. [out] pdSolutionDistance spatial distance (optional).
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
-
[in] pSurf The input surface. [in] pPointToProject The input point to project on surface. [in] pGuessPoint The input guess parameters. [out] pbFindSolution Result status. [out] pSolutionParameter parameter solution. [out] pdSolutionDistance spatial distance (optional).
A3DStatus A3DCurveLength | ( | const A3DCrvBase * | pCrv, |
A3DIntervalData * | pOptInterval, | ||
A3DDouble * | pdLength | ||
) |
Function to compute the length of a curve (optionally restricted to an interval)
- Version
- 7.0
- Parameters
-
[in] pCrv The curve: A3DCrvBase. [in] pOptInterval The interval of restriction of the curve (if NULL, the natural interval of the curve will be used). [out] pdLength The length of the curve.