A3DRiComputeMesh
-
A3DStatus
A3DRiComputeMesh(const A3DRiRepresentationItem *pRi, const A3DMiscCascadedAttributes *pParentAttributes, A3DMeshData *pMesh, const A3DRiComputeMeshParametersData *psMeshOptionsData) A3DStatusA3DRiComputeMesh(constA3DRiRepresentationItem* pRi, constA3DMiscCascadedAttributes* pParentAttributes,A3DMeshData* pMesh, constA3DRiComputeMeshParametersData* psMeshOptionsData)Populate an:c:struct:~A3DMeshDatastructure with mesh information extracted from the provided:c:type:~A3DRiRepresentationItementity.
24.0This function computes the underlying mesh structure contained within the given representation item and fills in an instance of:c:struct:~A3DMeshData. If normals are missing from the representation item, they are computed using``A3DRiComputeMesh``.
Memory Management:
If successful, the``pMesh``structure contains heap-allocated memory for which you are responsible. To free the memory in``pMesh``, call``A3DRiComputeMesh``with``pRi``set to*0*:
A3DRiComputeMesh(0,0,&pMesh,0);
Limitations:
A3DRiComputeMeshcomputes the mesh for:c:enumerator:~kA3DTypeRiBrepModeland:c:enumerator:~kA3DTypeRiPolyBrepModelrepresentation items only.Example:
Before calling the function, ensure that the representation item contains tessellation. Use:c:func:~A3DRiRepresentationItemComputeTessellationto generate tessellation data if needed:
A3DMeshDatameshData=A3D_MAKE_DATA(A3DMeshData); A3DStatusstatus=A3DRiComputeMesh(pRi,parentGraphicalContext,&meshData,0); if(status!=A3D_SUCCESS) { A3DRWParamsTessellationDatatess_params=A3D_MAKE_DATA(A3DRWParamsTessellationData); tess_params.m_eTessellationLevelOfDetail=kA3DTessLODMedium; A3DRiRepresentationItemComputeTessellation(pRi,&tess_params); status=A3DRiComputeMesh(pRi,parentGraphicalContext,&meshData,0); assert(status==A3D_SUCCESS); }
Parameters
pRi: The:c:type:~A3DRiRepresentationItemfrom which to compute the mesh. If nullptr, memory of the mesh is released.
pParentAttributes: The:c:type:~A3DMiscCascadedAttributesof the representation item’s parent.
pMesh: The:c:struct:~A3DMeshDatato store the computed mesh or release memory if pRi = nullptr.
psMeshOptionsData: Options used to compute Mesh. 0 for now, options structure for future use.
Returns
A3D_SUCCESS if successful, otherwise an error code.