Data Structures | |
struct | A3DHLRCurveData |
A3DHLRCurveData structure. More... | |
struct | A3DHLRRepresentationItemData |
A3DHLRCurveData structure. More... | |
Variables | |
A3DUns16 | A3DFaceUVPointInsideManagerData::m_usStructSize |
A3DUns32 | A3DFaceUVPointInsideManagerData::m_uiFaceSize |
A3DUns16 | A3DProjectedPointCloudData::m_usStructSize |
A3DBool | A3DProjectedPointCloudData::m_bSuccess |
A3DDouble | A3DProjectedPointCloudData::m_dDist |
A3DVector3dData | A3DProjectedPointCloudData::m_sPt |
A3DInt32 | A3DProjectedPointCloudData::m_iBRepIndice |
A3DInt32 | A3DProjectedPointCloudData::m_iFaceIndice |
A3DInt32 | A3DProjectedPointCloudData::m_iEdgeIndice |
A3DVector2dData | A3DProjectedPointCloudData::m_sUV |
A3DDouble | A3DProjectedPointCloudData::m_dEdgeParameter |
A3DBool | A3DProjectedPointCloudData::m_bIsInFace |
A3DUns16 | A3DProjectPointCloudManagerDataFromRI::m_usStructSize |
A3DUns32 | A3DProjectPointCloudManagerDataFromRI::m_uRepItemSize |
A3DRiRepresentationItem ** | A3DProjectPointCloudManagerDataFromRI::m_pRepItems |
A3DDouble ** | A3DProjectPointCloudManagerDataFromRI::m_pOptPlacements |
A3DBool | A3DProjectPointCloudManagerDataFromRI::m_bUseExactComputation |
A3DUns16 | A3DPlanarSectionData::m_usStructSize |
A3DVector3dData | A3DPlanarSectionData::m_sOrigin |
A3DVector3dData | A3DPlanarSectionData::m_sDirection |
A3DBool | A3DPlanarSectionData::m_bColor |
A3DUns16 | A3DCompareInputData::m_usStructSize |
A3DDouble | A3DCompareInputData::m_dTol |
A3DUns32 | A3DCompareInputData::m_uiOldRiBrepModelsSize |
A3DRiBrepModel const ** | A3DCompareInputData::m_ppOldRiBrepModels |
A3DMatrix4x4 * | A3DCompareInputData::m_pOldRiBrepModelPlacements |
A3DUns32 | A3DCompareInputData::m_uiNewRiBrepModelsSize |
A3DRiBrepModel const ** | A3DCompareInputData::m_ppNewRiBrepModels |
A3DMatrix4x4 * | A3DCompareInputData::m_pNewRiBrepModelPlacements |
A3DUns16 | A3DCompareOutputData::m_usStructSize |
A3DUns32 | A3DCompareOutputData::m_uiOldFaceSize |
A3DTopoFace ** | A3DCompareOutputData::m_pOldFace |
A3DBool * | A3DCompareOutputData::m_pOldFaceMatch |
A3DUns32 | A3DCompareOutputData::m_uiNewFaceSize |
A3DTopoFace ** | A3DCompareOutputData::m_pNewFace |
A3DBool * | A3DCompareOutputData::m_pNewFaceMatch |
A3DRiSet * | A3DCompareOutputData::m_pResultRiSet |
A3DAsmModelFile * | A3DCompareOutputData::m_pResultAsmModeFile |
A3DUns16 | A3DMultiPlanarSectionData::m_usStructSize |
A3DUns32 | A3DMultiPlanarSectionData::m_uiPointSize |
A3DVector3dData * | A3DMultiPlanarSectionData::m_pPoints |
A3DVector3dData | A3DMultiPlanarSectionData::m_sExtrudeDirection |
A3DVector3dData | A3DMultiPlanarSectionData::m_sProfileNormal |
A3DUns16 | A3DHLRViewPlaneData::m_usStructSize |
A3DDouble | A3DHLRViewPlaneData::m_adOrigin [3] |
A3DDouble | A3DHLRViewPlaneData::m_adAxis1 [3] |
A3DDouble | A3DHLRViewPlaneData::m_adAxis2 [3] |
A3DBool | A3DHLRViewPlaneData::m_bUseClipBox |
A3DUns16 | A3DHLRCurveData::m_usStructSize |
A3DCrvPolyLine * | A3DHLRCurveData::m_pProjectedPolyLine |
A3DTopoEdge * | A3DHLRCurveData::m_psTopoEdge |
A3DTopoFace * | A3DHLRCurveData::m_psTopoFirstFace |
A3DTopoFace * | A3DHLRCurveData::m_psTopoSecondFace |
bool | A3DHLRCurveData::m_bFirstFaceIsSection |
bool | A3DHLRCurveData::m_bSecondFaceIsSection |
A3DUns8 | A3DHLRCurveData::m_cType |
A3DBool | A3DHLRCurveData::m_bIsHidden |
A3DUns16 | A3DHLRRepresentationItemData::m_usStructSize |
A3DDouble | A3DHLRRepresentationItemData::m_adMatrix [16] |
A3DUns32 | A3DHLRRepresentationItemData::m_uiNumberHLRCurves |
A3DHLRCurveData * | A3DHLRRepresentationItemData::m_pppHLRCurves |
#define | A3D_HLR_TYPE_UNKNOWN 0 |
#define | A3D_HLR_TYPE_EDGE 1 |
#define | A3D_HLR_TYPE_SILHOUETTE 2 |
#define | A3D_HLR_TYPE_SECTION 3 |
#define | A3D_HLR_TYPE_SILHOUETTE_SECTION 4 |
enum | A3DEAnalyticType |
Tells what kind of curve has been created by A3DGetCurveAsAnalytic. 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 | 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 | 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 | 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 UV curves from Edges if exist, otherwise use 3D Curves. 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 | 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 | 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 | 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). 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). 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 | 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 | A3DSurfEvaluateNormal (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DVector3dData *pNormal) |
Function to evaluate a normal on a surface. More... | |
A3DStatus | A3DSewBrep (A3DRiBrepModel ***p, A3DUns32 uNbBrepModels, double dTolerance, A3DRiBrepModel ***pBrepModelsOut, A3DUns32 *const uNbBrepOut) |
Function to sew multiple B-rep data structures. More... | |
A3DStatus | A3DAsmModelFileSew (A3DAsmModelFile **ppModelFile, A3DDouble dToleranceInMM) |
Function to sew one model file. 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 | 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 | 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 | A3DProjectPointCloudManagerCreateFromRI (A3DProjectPointCloudManagerDataFromRI *pData, A3DProjectPointCloudManager **pManager) |
Create a Point Cloud Manager from a set of A3DRiRepresentationItem with matrix placement. More... | |
A3DStatus | A3DProjectPointCloudManagerCreateFromModelFile (A3DAsmModelFile *pModelFile, A3DProjectPointCloudManager **pManager) |
Create a Point Cloud Manager from a A3DAsmModelFile. More... | |
A3DStatus | A3DProjectPointCloudManagerDelete (A3DProjectPointCloudManager *pManager) |
Deletes an A3DProjectPointCloudManager. 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 | A3DComputePlanarSectionOnRepresentationItem (A3DRiBrepModel const *pRiBrepModel, A3DPlanarSectionData const *psSectionParametersData, A3DRiSet **ppRISectionResults) |
Function to compute plane section on BrepModel. More... | |
A3DStatus | A3DComputePlanarSectionOnModelFile (A3DAsmModelFile const *pModelFile, A3DPlanarSectionData const *psSectionParametersData, A3DUns32 *pNumberOfSections, A3DRiSet ***pppRISectionElements) |
Function to compute plane section on ModelFile. 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 | 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 | A3DCutWithMultiPlanarSectionOnRepresentationItems (A3DUns32 uiNbRepItems, A3DRiRepresentationItem const **apRepItems, A3DDouble **m_apOptPlacements, A3DMultiPlanarSectionData const *psSectionParametersData, A3DUns32 *pNumberOfRepItems, A3DRiRepresentationItem ***pppRIRepresentationItem, A3DRiRepresentationItem ***pppRIPlanarSections) |
Function to compute the result of a section with serveral plane on a set of A3DRiRepresentationItem. 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 serveral plane on a A3DAsmModelFile. More... | |
#define A3D_HLR_TYPE_UNKNOWN 0 |
Unknown type
#define A3D_HLR_TYPE_EDGE 1 |
curve is a edge in the A3DRiRepresentationItem input
#define A3D_HLR_TYPE_SILHOUETTE 2 |
curve is a silhouette
#define A3D_HLR_TYPE_SECTION 3 |
curve is a section of previous boolean operation
#define A3D_HLR_TYPE_SILHOUETTE_SECTION 4 |
curve is a silhouette and a section of previous boolean operation
enum A3DEAnalyticType |
Tells what kind of curve has been created by A3DGetCurveAsAnalytic.
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.
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.
[in,out] | pCurve | The input curve. |
[in] | dTol | The tolerance. |
[in] | uNbRecognizedType | Size of array pOptRecognizedType. |
[in] | pOptRecognizedType | Optional type of curve we want to recognize. |
[out] | pAnalyticCurve | The new analytic curve. |
[out] | peAnalyticType | The type of analytic curve. |
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.
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 UV curves from Edges if exist, otherwise use 3D Curves. 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.
[in] | pCoEdge | The input coEdge. |
[in] | dTol | The tolerance. |
[in] | uNbRecognizedType | Size of array pOptRecognizedType. |
[in] | pOptRecognizedType | Optional type of curve we want to recognize. |
[out] | pAnalyticCurve | The new analytic curve. |
[out] | peAnalyticType | The type of analytic curve. |
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.
[in] | pSrf | The input surface |
[in] | dTol | Tolerance |
[out] | pAnalyticSurface | The new analytic surface. |
[out] | peAnalyticType | The type of analytic surface |
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.
[in] | pSrf | The input surface. |
[in] | dTol | Tolerance. |
[in] | uNbRecognizedType | Size of array pOptRecognizedType. |
[in] | pOptRecognizedType | Optional type of surface we want to recognize. |
[out] | pAnalyticSurface | The new analytic surface. |
[out] | peAnalyticType | The type of analytic surface. |
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] | 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). |
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] | 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). |
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).
[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.
[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 A3DSurfEvaluateNormal | ( | const A3DSurfBase * | pSurf, |
const A3DVector2dData * | pUVParameter, | ||
A3DVector3dData * | pNormal | ||
) |
Function to evaluate a normal on a surface.
[in] | pSurf | The input surface. |
[in] | pUVParameter | The input UV point to evaluate the normal of the surface. |
[out] | pNormal | The normal of the surface at the UV parameter. |
A3DStatus A3DSewBrep | ( | A3DRiBrepModel *** | p, |
A3DUns32 | uNbBrepModels, | ||
double | dTolerance, | ||
A3DRiBrepModel *** | pBrepModelsOut, | ||
A3DUns32 *const | uNbBrepOut | ||
) |
Function to sew multiple B-rep data structures.
[in] | p | An array of A3DRiBrepModel* to sew. |
[in] | uNbBrepModels | The number of A3DRiBrepModel* in p. |
[in] | dTolerance | The maximum tolerance for the sewing (in file unit). |
[out] | pBrepModelsOut | The output array of sewed A3DRiBrepModel*. |
[out] | uNbBrepOut | The number of A3DRiBrepModel* in pBrepModelsOut. |
A3DStatus A3DAsmModelFileSew | ( | A3DAsmModelFile ** | ppModelFile, |
A3DDouble | dToleranceInMM | ||
) |
Function to sew one model file.
[in] | ppModelFile | The model file to sew. |
[in] | dToleranceInMM | The maximum tolerance for the sewing (in mm). |
A3DStatus A3DFaceUVPointInsideManagerCreate | ( | A3DFaceUVPointInsideManagerData const * | pData, |
A3DFaceUVPointInsideManager ** | pManager | ||
) |
Creates an A3DFaceUVPointInsideManager from an A3DFaceUVPointInsideManagerData structure.
A3DStatus A3DFaceUVPointInsideManagerDelete | ( | A3DFaceUVPointInsideManager * | pManager | ) |
Deletes an A3DFaceUVPointInsideManager.
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.
[in] | pManager | The face manager. |
[in] | psFace | The input face. |
[in] | pUVParameter | The input UV Point. |
[in] | dTol3D | Tolerance to check if the UV point is on the edge. |
[out] | puiUVInFace | Status of the UV point on the face. 0 is outside, 1 is inside. |
A3DStatus A3DProjectPointCloud | ( | unsigned int | uRiBrepModelSize, |
A3DRiBrepModel ** | pRiBrepModel, | ||
A3DUns32 | uPointCloudSize, | ||
A3DVector3dData * | pPointCloudToProject, | ||
A3DBool | bUseExactComputation, | ||
A3DUns32 | uNbThreads, | ||
A3DProjectedPointCloudData ** | ppProjectedPointCloud | ||
) |
Function to project Point Cloud on BrepModel.
[in] | uRiBrepModelSize | Number of BrepModels in pRiBrepModel. |
[in] | pRiBrepModel | Array of Brep Models. |
[in] | uPointCloudSize | Number of points in pPointCloudToProject. |
[in] | pPointCloudToProject | Point cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel. |
[in] | bUseExactComputation | Flag to use exact topology. When this flag is false, the algorithm drops the point cloud on the faceted geometry, otherwise, the exact topology is used. |
[in] | uNbThreads | Number of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores. |
[out] | ppProjectedPointCloud | Point cloud projected. ppProjectedPointCloud is automatically allocated by A3DProjectPointCloud. It must be freed with the custom free memory callback. |
A3DStatus A3DProjectPointCloudManagerCreateFromRI | ( | A3DProjectPointCloudManagerDataFromRI * | pData, |
A3DProjectPointCloudManager ** | pManager | ||
) |
Create a Point Cloud Manager from a set of A3DRiRepresentationItem with matrix placement.
A3DStatus A3DProjectPointCloudManagerCreateFromModelFile | ( | A3DAsmModelFile * | pModelFile, |
A3DProjectPointCloudManager ** | pManager | ||
) |
Create a Point Cloud Manager from a A3DAsmModelFile.
A3DStatus A3DProjectPointCloudManagerDelete | ( | A3DProjectPointCloudManager * | pManager | ) |
Deletes an A3DProjectPointCloudManager.
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.
[in] | pManager | A3DProjectPointCloudManager created by A3DProjectPointCloudManagerCreateFromModelFile function. |
[in] | uPointCloudSize | Number of points in pPointCloudToProject. |
[in] | pPointCloudToProject | Point cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel. |
[in] | bUseExactComputation | Flag to use exact topology. When this flag is false, the algorithm drops the point cloud on the faceted geometry, otherwise, the exact topology is used. |
[in] | uNbThreads | Number of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores. |
[in] | dInsidePointEdgeTolerance | Tolerance used to check if projection point which is inside a face is on edge. |
[out] | ppProjectedPointCloud | Point cloud projected. ppProjectedPointCloud is automatically allocated by A3DProjectPointCloud. It must be freed with the custom free memory callback. |
A3DStatus A3DComputePlanarSectionOnRepresentationItem | ( | A3DRiBrepModel const * | pRiBrepModel, |
A3DPlanarSectionData const * | psSectionParametersData, | ||
A3DRiSet ** | ppRISectionResults | ||
) |
Function to compute plane section on BrepModel.
[in] | pRiBrepModel | B-rep models. |
[in] | psSectionParametersData | Parameters of the planar section. |
[out] | ppRISectionResults | Array of section curves. ppRISectionResults is automatically allocated by A3DComputePlanarSectionOnRepresentationItem. It has to be freed with a call to A3DComputePlanarSectionOnRepresentationItem(NULL, psSectionParametersData, ppRISectionCurvesis). |
A3DStatus A3DComputePlanarSectionOnModelFile | ( | A3DAsmModelFile const * | pModelFile, |
A3DPlanarSectionData const * | psSectionParametersData, | ||
A3DUns32 * | pNumberOfSections, | ||
A3DRiSet *** | pppRISectionElements | ||
) |
Function to compute plane section on ModelFile.
[in] | pModelFile | Model file. |
[in] | psSectionParametersData | Parameters of the planar section. |
[out] | pNumberOfSections | Number of A3DRiSets. |
[out] | pppRISectionElements | Array of A3DRiSets. ppRISectionElements is automatically allocated by A3DComputePlanarSectionOnModelFile. It has to be freed with a call to A3DComputePlanarSectionOnModelFile(NULL, psSectionParametersData, pNumberOfSections, ppRISectionElements). |
A3DStatus A3DCurveLength | ( | const A3DCrvBase * | pCrv, |
A3DIntervalData * | pOptInterval, | ||
A3DDouble * | pdLength | ||
) |
Function to compute the length of a curve (optionally restricted to an interval)
[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. |
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.
[in] | pInput | pointer to a A3DCompareInputData that contains input data. |
[out] | pOutput | pointer to a A3DCompareOutputData that contains returned data. It has to be freed by calling again A3DCompareFaces with NULL as input structure pointer. |
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.
[in] | pOldModelFile | a A3DAsmModelFile containing the first group of A3DRiBrepModel. |
[in] | pNewModelFile | a A3DAsmModelFile containing the second group of A3DRiBrepModel. |
[in] | dToleranceInMM | maximum distance between two matching faces |
[out] | pOutput | pointer to a A3DCompareOutputData that contains returned data. It has to be freed by calling again A3DCompareFacesInBrepModels with NULL as input A3DAsmModelFile pointers. |
A3DStatus A3DCutWithMultiPlanarSectionOnRepresentationItems | ( | A3DUns32 | uiNbRepItems, |
A3DRiRepresentationItem const ** | apRepItems, | ||
A3DDouble ** | m_apOptPlacements, | ||
A3DMultiPlanarSectionData const * | psSectionParametersData, | ||
A3DUns32 * | pNumberOfRepItems, | ||
A3DRiRepresentationItem *** | pppRIRepresentationItem, | ||
A3DRiRepresentationItem *** | pppRIPlanarSections | ||
) |
Function to compute the result of a section with serveral plane on a set of A3DRiRepresentationItem.
[in] | uiNbRepItems | Number of A3DRiRepresentationItem. |
[in] | apRepItems | set of A3DRiRepresentationItem. |
[in] | pOptPlacements | Optional set of representation item placements (16 A3DDouble matrix). |
[in] | psSectionParametersData | define the section to use. |
[out] | pNumberOfRepItems | Number of A3DRiRepresentationItem in pppRIRepresentationItem and pppRIPlanarSections array. |
[out] | pppRIRepresentationItem | A3DRiRepresentationItem corresponding to the boolean section results. Can be NULL if a A3DRiRepresentationItem if fully cutted by the section. |
[out] | pppRIPlanarSections | A3DRiRepresentationItem corresponding to planar section for each A3DRiRepresentationItem |
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 serveral plane on a A3DAsmModelFile.
[in] | pModelFile | Number of BrepModels in pRiBrepModel. |
[in] | pOptMrkRView | optional A3DMkpView (filter and/or move entities). |
[in] | psSectionParametersData | define the section to use. |
[out] | pNumberOfRepItems | Number of A3DRiRepresentationItem in pppRIRepresentationItem and pppRIPlanarSections array. |
[out] | pppRIRepresentationItem | A3DRiRepresentationItem corresponding to the sectionresults. Can be NULL if a A3DRiRepresentationItem if fully cutted by the section. |
[out] | pppRIPlanarSections | A3DRiRepresentationItem corresponding to planar section for each A3DRiRepresentationItem |
A3DUns16 A3DFaceUVPointInsideManagerData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DUns32 A3DFaceUVPointInsideManagerData::m_uiFaceSize |
Number of faces in the cache manager.
A3DUns16 A3DProjectedPointCloudData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DBool A3DProjectedPointCloudData::m_bSuccess |
Store if the point has been projected successfully or not.
A3DDouble A3DProjectedPointCloudData::m_dDist |
Distance between the point to project and the projected point.
A3DVector3dData A3DProjectedPointCloudData::m_sPt |
3D projected point.
A3DInt32 A3DProjectedPointCloudData::m_iBRepIndice |
Index of the RIBRepModel where the point has been projected.
A3DInt32 A3DProjectedPointCloudData::m_iFaceIndice |
Index of the face where the point has been projected.
A3DInt32 A3DProjectedPointCloudData::m_iEdgeIndice |
Index of the edge where the point has been projected.
A3DVector2dData A3DProjectedPointCloudData::m_sUV |
2D projected point.
A3DDouble A3DProjectedPointCloudData::m_dEdgeParameter |
Parameter on edge curve or on coedge curve if 3D curve is not present.
A3DBool A3DProjectedPointCloudData::m_bIsInFace |
Tell if a point which is on edge is also inside or outside face.
A3DUns16 A3DProjectPointCloudManagerDataFromRI::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DUns32 A3DProjectPointCloudManagerDataFromRI::m_uRepItemSize |
m_uRepItemSize number of element in pRepItems.
A3DRiRepresentationItem** A3DProjectPointCloudManagerDataFromRI::m_pRepItems |
pRepItem Array of representation item. Only A3DRiBrepModel is supported
A3DDouble** A3DProjectPointCloudManagerDataFromRI::m_pOptPlacements |
Optional array of representation item placements (16 A3DDouble matrix).
A3DBool A3DProjectPointCloudManagerDataFromRI::m_bUseExactComputation |
Flag to use exact topology. When this flag is false, the algorithm drops the point cloud on the faceted geometry, otherwise, the exact topology is used.
A3DUns16 A3DPlanarSectionData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DVector3dData A3DPlanarSectionData::m_sOrigin |
Section plane origin.
A3DVector3dData A3DPlanarSectionData::m_sDirection |
Section plane normal direction.
A3DBool A3DPlanarSectionData::m_bColor |
Color to apply to the to section curves.
A3DUns16 A3DCompareInputData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DDouble A3DCompareInputData::m_dTol |
maximum distance between two matching faces.
A3DUns32 A3DCompareInputData::m_uiOldRiBrepModelsSize |
Size of next array.
A3DRiBrepModel const** A3DCompareInputData::m_ppOldRiBrepModels |
Array of RiBrepModel of the old group.
A3DMatrix4x4* A3DCompareInputData::m_pOldRiBrepModelPlacements |
Array of RiBrepModel placements of the old group.
A3DUns32 A3DCompareInputData::m_uiNewRiBrepModelsSize |
Size of next array.
A3DRiBrepModel const** A3DCompareInputData::m_ppNewRiBrepModels |
Array of RiBrepModel of the new group.
A3DMatrix4x4* A3DCompareInputData::m_pNewRiBrepModelPlacements |
Array of RiBrepModel placements of the new group.
A3DUns16 A3DCompareOutputData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DUns32 A3DCompareOutputData::m_uiOldFaceSize |
Size of next array.
A3DTopoFace** A3DCompareOutputData::m_pOldFace |
Array of old faces.
A3DBool* A3DCompareOutputData::m_pOldFaceMatch |
Array of old status: true means every point of this face matches a face of the other group.
A3DUns32 A3DCompareOutputData::m_uiNewFaceSize |
Size of next array.
A3DTopoFace** A3DCompareOutputData::m_pNewFace |
Array of new faces.
A3DBool* A3DCompareOutputData::m_pNewFaceMatch |
Array of new status: true means every point of this face matches a face of the other group.
A3DRiSet* A3DCompareOutputData::m_pResultRiSet |
RiSet containing the resulting data: faces with different colors according to their status and also faceted data that represents subparts of the original faces to better understand what's different between the two groups.
A3DAsmModelFile* A3DCompareOutputData::m_pResultAsmModeFile |
An A3DAsmModelFile that contains the previous RiSet. The user can directly export it to PRC for example
A3DUns16 A3DMultiPlanarSectionData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DUns32 A3DMultiPlanarSectionData::m_uiPointSize |
Size of next array.
A3DVector3dData* A3DMultiPlanarSectionData::m_pPoints |
Array of points witch define profile (must be in same plane).
A3DVector3dData A3DMultiPlanarSectionData::m_sExtrudeDirection |
Extrude vector direction. Normal of the plan contains pofile
A3DVector3dData A3DMultiPlanarSectionData::m_sProfileNormal |
Normal to the profile section at the first point
A3DUns16 A3DHLRViewPlaneData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DDouble A3DHLRViewPlaneData::m_adOrigin[3] |
Origin of the projection plane.
A3DDouble A3DHLRViewPlaneData::m_adAxis1[3] |
Horizontal axis and dimension of plane
A3DDouble A3DHLRViewPlaneData::m_adAxis2[3] |
Vertical axis and dimension of plane
A3DBool A3DHLRViewPlaneData::m_bUseClipBox |
Is true, length of horizontal axis, and vertical axis are used to clip generated curve
A3DUns16 A3DHLRCurveData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DCrvPolyLine* A3DHLRCurveData::m_pProjectedPolyLine |
PolyLine curve
A3DTopoEdge* A3DHLRCurveData::m_psTopoEdge |
To retrieve analytics from Edge
A3DTopoFace* A3DHLRCurveData::m_psTopoFirstFace |
To retrieve analytics from face
A3DTopoFace* A3DHLRCurveData::m_psTopoSecondFace |
To retrieve analytics from face
bool A3DHLRCurveData::m_bFirstFaceIsSection |
For future used
bool A3DHLRCurveData::m_bSecondFaceIsSection |
For future used
A3DUns8 A3DHLRCurveData::m_cType |
Type of curve must be /ref A3D_HLR_TYPE_UNKNOWN, /ref A3D_HLR_TYPE_EDGE, /ref A3D_HLR_TYPE_SILHOUETTE, /ref A3D_HLR_TYPE_SECTION or A3D_HLR_TYPE_SILHOUETTE_SECTION
A3DBool A3DHLRCurveData::m_bIsHidden |
if true, the curve is hidden
A3DUns16 A3DHLRRepresentationItemData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.
A3DDouble A3DHLRRepresentationItemData::m_adMatrix[16] |
Global placement of the current representation item (used for A3DHLRCurveData m_psTopoEdge or m_psTopoFirstFace / m_psTopoSecondFace).
A3DUns32 A3DHLRRepresentationItemData::m_uiNumberHLRCurves |
number of element in m_pppHLRCurves.
A3DHLRCurveData* A3DHLRRepresentationItemData::m_pppHLRCurves |
Array of A3DHLRCurveData, describing result hlr curves.