A3DMiscAttributeData

struct A3DMiscAttributeData

A structure that specifies descriptive names and modeller data.

2.0

The A3DMiscAttributeData structure specifies a descriptive name as a character string or integer. It can also reference an array of A3DMiscSingleAttributeData structure, which specifies modeler data.

If m_bTitleIsInt is A3DTrue, m_pcTitle will be parsed as an A3DUns32.

A3DVoidsetAttributesSample(A3DEntity*pEntity)
{
A3DMiscAttribute*pAttributes[2];

//----------------------------------------------------------------
//creationofthefirstA3DMiscAttributeData

A3DMiscSingleAttributeDatapSingleAttributes[2];
//creationofthefirstA3DMiscSingleAttribute
A3DMiscSingleAttributeDatasSingleAttributeData1;
A3D_INITIALIZE_DATA(A3DMiscSingleAttributeData,sSingleAttributeData1);
sSingleAttributeData1.m_eType=kA3DModellerAttributeTypeString;
sSingleAttributeData1.m_pcTitle=(char*)"Firstsingleattribute";
sSingleAttributeData1.m_pcData=(char*)"Simpleattribute1demonstration";
pSingleAttributes[0]=sSingleAttributeData1;
//creationofthesecondA3DMiscSingleAttribute
A3DMiscSingleAttributeDatasSingleAttributeData2;
A3D_INITIALIZE_DATA(A3DMiscSingleAttributeData,sSingleAttributeData2);
sSingleAttributeData2.m_eType=kA3DModellerAttributeTypeString;
sSingleAttributeData2.m_pcTitle=(char*)"Secondsingleattribute";
sSingleAttributeData2.m_pcData=(char*)"Simpleattribute2demonstration";
pSingleAttributes[1]=sSingleAttributeData2;

//creationofthefirstA3DMiscAttribute
A3DMiscAttributeDatasAttributeData1;
A3D_INITIALIZE_DATA(A3DMiscAttributeData,sAttributeData1);
sAttributeData1.m_pcTitle="Firstattribute";
sAttributeData1.m_bTitleIsInt=false;
sAttributeData1.m_pSingleAttributesData=pSingleAttributes;
sAttributeData1.m_uiSize=2;
A3DMiscAttributeCreate(&sAttributeData1,&pAttributes[0]);

//----------------------------------------------------------------
//creationofthesecondA3DMiscAttribute
A3DMiscAttributeDatasAttributeData2;
A3D_INITIALIZE_DATA(A3DMiscAttributeData,sAttributeData2);
A3DUns32uiTitleAsInt=12345;
sAttributeData2.m_pcTitle=(A3DUTF8Char*)(&uiTitleAsInt);
sAttributeData2.m_bTitleIsInt=true;
sAttributeData2.m_uiSize=0;
A3DMiscAttributeCreate(&sAttributeData2,&pAttributes[1]);


//----------------------------------------------------------------
//creationoftheA3DRootBase
A3DRootBaseDatasRootData;
A3D_INITIALIZE_DATA(A3DRootBaseData,sRootData);
sRootData.m_pcName=(char*)"Rootbaseinformation";
sRootData.m_ppAttributes=pAttributes;
sRootData.m_uiSize=2;
A3DRootBaseSet(pEntity,&sRootData);

for(A3DUns32i=0;i<sRootData.m_uiSize;++i)
{
A3DEntityDelete(sRootData.m_ppAttributes[i]);
}
}

Variables

A3DBool A3DMiscAttributeData.m_bTitleIsInt

A value of A3DTrue indicates that m_pcTitle member represents an integer.

A3DUTF8Char *A3DMiscAttributeData.m_pcTitle

Title as string.

A3DUns32 A3DMiscAttributeData.m_uiSize

Size of m_asSingleAttributesData.

A3DMiscSingleAttributeData *A3DMiscAttributeData.m_asSingleAttributesData

Pointer to an array of single attribute structures.