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:c:type:~A3DRiCoordinateSystemand:c:type:~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:c:func:~A3DTessBaseGetfunction to get the tessellation base data.
  2. Use the:c:func:~A3DEntityGetTypefunction to determine the specific tessellation type.
  3. Invoke a custom function to parse the entity contents.

Sample code

A3DRiRepresentationItemDatasRiData;
/*CalltheA3DRiRepresentationItemGetfunctiontogettheA3DRiRepresentationItemData*/
if(sRiData.m_pTessBase!=A3D_NULL_HANDLE)
{
A3DEEntityTypeeType;
if(A3DEntityGetType(sRiData.m_pTessBase,&eType)==A3D_SUCCESS)
{
switch(eType)
{
casekA3DTypeTess3D:
{
A3DTess3D*pTess3D=(A3DTess3D*)sRiData.m_pTessBase;
/*Callcorrespondingfunction...*/
break;
}
casekA3DTypeTess3DWire:
{
A3DTess3DWire*pTess3DWire=(A3DTess3DWire*)sRiData.m_pTessBase;
/*Callcorrespondingfunction...*/
break;
}
casekA3DTypeTessMarkup:
{
A3DTessMarkup*pTessMarkup=(A3DTessMarkup*)sRiData.m_pTessBase;
/*Callcorrespondingfunction...*/
break;
}
default:
/*Nothingelse*/
break;
}
}
}


:c:type:`~A3DTess3D`



:c:type:`~A3DTess3DWire`



:c:type:`~A3DTessMarkup`

Parameters

pA3DRepItem: The representation item to tessellate.

pTessellationParametersData: The tessellation parameters.

Returns

A3D_SUCCESS on success or an error code on failure.

Topics

Structures

Enumerations

Functions