# 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 `A3DMeshData`structure with mesh information extracted from the provided `A3DRiRepresentationItem`entity.

  > 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 `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:

  `A3DRiComputeMesh`computes the mesh for `kA3DTypeRiBrepModel`and `kA3DTypeRiPolyBrepModel`representation 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 `A3DRiRepresentationItem`from which to compute the mesh. If nullptr, memory of the mesh is released.

  > pParentAttributes: The `A3DMiscCascadedAttributes`of the representation item’s parent.

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

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...