
################
A3DEntityGetType
################

.. c:function:: A3DStatus A3DEntityGetType(const A3DEntity *pEntity, A3DEEntityType *peEntityType)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DEntityGetType(*const* :c:type:`~A3DEntity`\ \* **pEntity**\ , :c:enum:`~A3DEEntityType`\ \* **peEntityType**\ )
   
   Gets the actual type of the entity.
   
   This function returns an integer that specifies an Entity type. The integer corresponds to one of the values described by the :c:enum:`~A3DEEntityType`\ enumeration.
   
   In case of non exposed surface or curve, the function abstracts away the entity type by filling-in ``peEntityType``\ with either :c:enumerator:`~kA3DTypeSurfBase`\ or :c:enumerator:`~kA3DTypeCrvBase`\ respectively. This behavior is most commonly encountered with the Inventor format.
   
   
      2.0
   
   
   
   Sample code
   ===========
   
   
   ::
   
      /*codetogetdatafromarepresentationitemstructure*/
      A3DRiRepresentationItem*pRepItem;/*thisisretrievedforexampleonaPartDefinitiondata*/
      A3DInt32iErr=A3D_SUCCESS;
      A3DEEntityTypeeType;
      
      if(A3DEntityGetType(pRepItem,&eType)==A3D_SUCCESS)
      {
      switch(eType)
      {
      casekA3DTypeRiPointSet:
      {
      A3DRiPointSetDatasData=A3D_MAKE_DATA(A3DTessBaseData);
      iErr=A3DRiPointSetGet(pRepItem,&sData);
      /*workwithPointSetdata...*/
      break;
      }
      
      /*treateothertypesofdata*/
      case...:
      
      default:
      returnERROR;
      break;
      }
      }
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




