Entity Base
Creates and accesses a hierarchy of descriptive names and modeller data that can be applied to any PRC entity.
Entity type is kA3DTypeRootBase
This module lets you create a hierarchy of descriptive names and modeller data (called root-level attributes) that can be applied to any PRC entity. These attributes are packaged as an A3DRootBase entity that is referenced from the PRC entity they describe.
The following sample code shows how to create root-level attributes for any PRC entity. In this case, the attributes include modeller data. For restrictions on specifying modeller data, see A3DMiscAttributeData.
A3DVoidsetAttributes(A3DEntity*p)
{
A3DMiscAttribute*pAttr[3];
A3DMiscSingleAttributeDataSingle;
A3D_INITIALIZE_DATA(Single);
Single.m_eType=kA3DModellerAttributeTypeString;
Single.m_pcTitle="Title";
Single.m_pcData="SimpleB-repbuildingdemonstration";
A3DMiscAttributeDatasAttribs;
A3D_INITIALIZE_DATA(sAttribs);
sAttribs.m_pcTitle=Single.m_pcTitle;
sAttribs.m_asSingleAttributesData=&Single;
sAttribs.m_uiSize=1;
A3DInt32iRet=A3DMiscAttributeCreate(&sAttribs,&pAttr[0]);
Single.m_pcTitle="Author";
Single.m_pcData="HOOPSExchange";
sAttribs.m_pcTitle=Single.m_pcTitle;
iRet=A3DMiscAttributeCreate(&sAttribs,&pAttr[1]);
Single.m_pcTitle="Company";
Single.m_pcData="TechSoft3D";
sAttribs.m_pcTitle=Single.m_pcTitle;
iRet=A3DMiscAttributeCreate(&sAttribs,&pAttr[2]);
A3DRootBaseDatasRootData;
A3D_INITIALIZE_DATA(sRootData);
sRootData.m_pcName="Trimmedsurface";
sRootData.m_ppAttributes=pAttr;
sRootData.m_uiSize=3;
iRet=A3DRootBaseSet(p,&sRootData);
//cleaninguptheallocatedattributes
for(A3DUns32i=0;i<sRootData.m_uiSize;++i)
{
A3DEntityDelete(sRootData.m_ppAttributes[i]);
}
}
The following illustration shows the result of the sample code.
The sample code creates an A3DRootBase entity that houses three A3DMiscAttribute entities, each of which reference an A3DMiscSingleAttributeData structure. Each A3DMiscSingleAttributeData structure provides modeller data of type kA3DModellerAttributeTypeString.
Returns
A3D_SUCCESSon success, or an error code on failure
Topics
Structures
Functions
A3DRootBaseGet()A3DRootBaseSet()A3DRootBaseAttributeRemoveAll()A3DRootBaseAttributeRemove()A3DRootBaseAttributeRemoveAt()A3DRootBaseAttributeAppend()A3DRootBaseAttributeAdd()