
#########################
A3DMiscComputeBoundingBox
#########################

.. c:function:: A3DStatus A3DMiscComputeBoundingBox(const A3DEntity *pEntity, const A3DMiscComputeBoundingBoxOptions *pOptions, A3DBoundingBoxData *pAABB)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DMiscComputeBoundingBox(*const* :c:type:`~A3DEntity`\ \* **pEntity**\ , *const* :c:struct:`~A3DMiscComputeBoundingBoxOptions`\ \* **pOptions**\ , :c:struct:`~A3DBoundingBoxData`\ \* **pAABB**\ )
   
   Use the tessellation to compute the axis-aligned bounding box (AABB) of the given entity.
   
   An invalid bounding box corresponds to those values:
   
   
   - :c:member:`A3DBoundingBoxData::m_sMin <A3DBoundingBoxData.m_sMin>`\ is ``{1.0, 0.0, 0.0}``
   - :c:member:`A3DBoundingBoxData::m_sMax <A3DBoundingBoxData.m_sMax>`\ is ``{-1.0, 0.0, 0.0}``
   
   \ It can occur under following conditions:
   
   
   - The computation is done on infinite elements.
   - The CAD data do not contain any tessellation.
   - ``pEntity``\ is of type :c:type:`~A3DRiPlane`\ .
   
   
      This function *computes*\ the bounding box using tessellation data. If you want to read the actual bounding box from CAD data, see :c:func:`~A3DMiscGetBoundingBox`\ .
   
   
   **Parameters**
   
   
      **pEntity**\ : The Entity to get the bounding box from. It can be any of :c:type:`~A3DAsmModelFile`\ , :c:type:`~A3DAsmProductOccurrence`\ , :c:type:`~A3DAsmPartDefinition`\ or :c:type:`~A3DRiSet`\ .
   
      **pOptions**\ : Options of the function. Can be NULL.
   
      **pAABB**\ : A pointer to a valid :c:struct:`~A3DBoundingBoxData`\ which will be filled in with the computed bounding box. If not possible an invalid bounding box is filled in (see below).
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




