A3DRiComputeMesh

A3DStatus A3DRiComputeMesh(const A3DRiRepresentationItem *pRi, const A3DMiscCascadedAttributes *pParentAttributes, A3DMeshData *pMesh, const A3DRiComputeMeshParametersData *psMeshOptionsData)
A3DStatus A3DRiComputeMesh(const A3DRiRepresentationItem* pRi, const A3DMiscCascadedAttributes* pParentAttributes, A3DMeshData* pMesh, const A3DRiComputeMeshParametersData* psMeshOptionsData)

Populate an A3DMeshDatastructure with mesh information extracted from the provided A3DRiRepresentationItementity.

24.0

This function computes the underlying mesh structure contained within the given representation item and fills in an instance of A3DMeshData. If normals are missing from the representation item, they are computed using A3DRiComputeMesh.

Memory Management:

If successful, the pMeshstructure contains heap-allocated memory for which you are responsible. To free the memory in pMesh, call A3DRiComputeMeshwith pRiset to 0:

A3DRiComputeMesh(0,0,&pMesh,0);

Limitations:

A3DRiComputeMeshcomputes the mesh for kA3DTypeRiBrepModeland kA3DTypeRiPolyBrepModelrepresentation items only.

Example:

Before calling the function, ensure that the representation item contains tessellation. Use A3DRiRepresentationItemComputeTessellation()to 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 A3DRiRepresentationItemfrom which to compute the mesh. If nullptr, memory of the mesh is released.

pParentAttributes: The A3DMiscCascadedAttributesof the representation item’s parent.

pMesh: The 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.