.. _group__a3d__ripointset:

############################
PointSet Representation Item
############################

An :c:type:`~A3DRiPointSet`\ is a set of 3D points.

When the :c:func:`~A3DRiPointSetGet`\ function populates an :c:struct:`~A3DRiPointSetData`\ structure, it allocates arrays of coordinates. When you no longer need the :c:struct:`~A3DRiPointSetData`\ structure, invoke the :c:func:`~A3DRiPointSetGet`\ function with the first argument set to NULL to free its allocated memory.


Sample code
===========


::

   A3DInt32iErr=A3D_SUCCESS;
   A3DRiPointSet*pA3DRiPointSet=A3D_NULL_HANDLE;
   
   /*ShouldcallsomethinghereinordertogetavalidA3DRiPointSet*/
   
   A3DRiPointSetDatasData=A3D_MAKE_DATA(A3DRiPointSetData);
   iErr=A3DRiPointSetGet(pA3DRiPointSet,&sData);
   if(iErr==A3D_SUCCESS)
   {
   for(A3DUns32ui=0;ui<sData.m_uiSize;ui++)
   {
   /*InserthereyourowncodetousePointSetdata:sData.m_pdX[ui],sData.m_pdY[ui],sData.m_pdZ[ui]*/
   }
   iErr=A3DRiPointSetGet(A3D_NULL_HANDLE,&sData);
   }


**Returns**


   ``A3D_SUCCESS``\ on success, or an error code on failure


.. rst-class:: kind-group kind-record

.. rubric:: Structures
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:struct:`~A3DRiPointSetData`

.. rst-class:: kind-group kind-function

.. rubric:: Functions
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:func:`~A3DRiPointSetGet`
* :c:func:`~A3DRiPointSetCreate`
* :c:func:`~A3DRiPointSetEdit`

.. toctree::
   :maxdepth: 1
   :hidden:

   ../structures/A3DRiPointSetData
   ../functions/A3DRiPointSetGet
   ../functions/A3DRiPointSetCreate
   ../functions/A3DRiPointSetEdit


