
############################
A3DComputePhysicalProperties
############################

.. c:function:: A3DStatus A3DComputePhysicalProperties(const A3DRiBrepModel *p, const A3DVector3dData *psScale, A3DPhysicalPropertiesData *psPhysicalPropertiesData)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DComputePhysicalProperties(*const* :c:type:`~A3DRiBrepModel`\ \* **p**\ , *const* :c:struct:`~A3DVector3dData`\ \* **psScale**\ , :c:struct:`~A3DPhysicalPropertiesData`\ \* **psPhysicalPropertiesData**\ )
   
   Function to compute the physical properties (surface area, volume and gravity center, and since 11.2 the surfacic gravity center and the surfacic and volumic inertia matrix) of a BrepModel.
   
   To obtain the values in the unit of the model file, pass the scaling of the B-rep in the psScale parameter.
   
   Note that since 11.2, the input psPhysicalPropertiesData structure now has a couple of input parameters with which precision can be adjusted, in addition to the new return values.
   
   The value of psScale should be the cumulative scaling that results from traversing the assembly tree from the root to the designated B-rep, multiplying the scaling of the current node by the cumulative scaling of all of its parent nodes.
   
   The inertia matrices are provided relative to the computed gravity centers, with respect to the global X, Y and Z directions.
   
   **Parameters**
   
   
      **p**\ : The input B-rep model.
   
      **psScale**\ : The optional scale.
   
      **psPhysicalPropertiesData**\ : The computed physical properties.
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




