Tessellation Module

Detailed Description

group a3d_tessellation_module

Creates and accesses tessellation entities.

This module describes how to access and encode tessellation for a variety of entities. It also provides information about tessellations, associated textures, and markup representations.

Usage

Tessellation entities can appear in the pTessBase member of all types of representation items, except A3DRiCoordinateSystem and A3DRiPointSet.

If your application parses PRC content, you must develop dedicated functions to parse the base tessellation data and to parse each type of tessellation entity. The following sample code demonstrates the following basic steps:

  1. Use the A3DTessBaseGet function to get the tessellation base data.

  2. Use the A3DEntityGetType function to determine the specific tessellation type.

  3. Invoke a custom function to parse the entity contents.

Sample code

A3DRiRepresentationItemData sRiData;
/* Call the A3DRiRepresentationItemGet function to get the A3DRiRepresentationItemData */
if ( sRiData.m_pTessBase != NULL )
{
    A3DEEntityType eType;
    if ( A3DEntityGetType( sRiData.m_pTessBase, &eType) == A3D_SUCCESS )
    {
        switch(eType)
        {
            case kA3DTypeTess3D:
            {
                A3DTess3D* pTess3D = (A3DTess3D*)sRiData.m_pTessBase;
                /* Call corresponding function... */
                break;
            }
            case kA3DTypeTess3DWire:
            {
                A3DTess3DWire* pTess3DWire = (A3DTess3DWire*)sRiData.m_pTessBase;
                /* Call corresponding function... */
                break;
            }
            case kA3DTypeTessMarkup:
            {
                A3DTessMarkup* pTessMarkup = (A3DTessMarkup*)sRiData.m_pTessBase;
                /* Call corresponding function... */
                break;
            }
            default:
                /* Nothing else */
                break;
        }
    }
}

See also

A3DTess3D

See also

A3DTess3DWire

See also

A3DTessMarkup