:orphan:

##############
COLLADA Reader
##############

.. rst-class:: format-title-block

+--------------------------------------------------------------------------+
|                        **COLLADA**                                       |
+-----------------------------------------+--------------------------------+
| **File Extension**                      | DAE                            |
+-----------------------------------------+--------------------------------+
| **Supported Versions**                  | Any                            |
+-----------------------------------------+--------------------------------+
| **Platforms**                           | |wy| |ly| |my| |an| |iy|       | 
+-----------------------------------------+--------------------------------+
| :ref:`collada_tessellation`             | |t_green| Supported            | 
+-----------------------------------------+--------------------------------+
| :ref:`collada_brep`                     | |c_grey| Unsupported by format | 
+-----------------------------------------+--------------------------------+
| :ref:`collada_pmi`                      | |c_grey| Unsupported by format |
+-----------------------------------------+--------------------------------+

COLLADA is an interchange format for 3D scene content (meshes, materials, and textures).
When read by HOOPS Exchange, it is imported as tessellated data (with textures supported), 
and it does not provide B-rep or assembly concepts.

The file extensions of COLLADA files that you can expect to be loaded by HOOPS 
Exchange include:

* `.DAE`

How to Import From COLLADA 
==========================

Reading ``COLLADA`` files follows the same pattern as other formats: configure load 
parameters, then call the standard load function.

To load a COLLADA file, use :cpp:func:`A3DAsmModelFileLoadFromFile`.
The :cpp:struct:`A3DParamsLoadData` structure is used to customize the loading behavior:

.. code-block:: c

   A3DAsmModelFile* pModelFile = 0;

   A3DRWParamsLoadData sReadParam = A3D_MAKE_DATA(A3DRWParamsLoadData);
   sReadParam.m_sGeneral.m_bReadSolids = true;

   // ... set other A3DRWParamsLoadData fields as necessary

   A3DAsmModelFileLoadFromFile("path/to/file.dae", &sReadParam, &pModelFile);

See :doc:`/guide/basic_operations/load_model` for more about loading model files.

.. _collada_tessellation: 

Tessellation
============

The triangle information is parsed and provided via HOOPS Exchange.

.. _collada_brep: 

Boundary Representation (B-rep)
===============================

Boundary Representation is unsupported by COLLADA.

.. _collada_pmi: 

Product Manufacturing Information (PMI)
=======================================

Product Manufacturing Information (PMI) is not supported by COLLADA.

Assembly
========

Assemblies are unsupported by COLLADA.

Textures
========

Textures are fully supported when parsing COLLADA files.

Views
=====

Views are not supported by COLLADA.
