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 A3DRootBaseentity 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_MAKE_DATA(A3DMiscSingleAttributeData);
Single.m_eType=kA3DModellerAttributeTypeString;
Single.m_pcTitle="Title";
Single.m_pcData="SimpleB-repbuildingdemonstration";
A3DMiscAttributeDatasAttribs=A3D_MAKE_DATA(A3DMiscAttributeData);
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_MAKE_DATA(A3DRootBaseData);
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 A3DRootBaseentity that houses three A3DMiscAttributeentities, each of which reference an A3DMiscSingleAttributeDatastructure. Each A3DMiscSingleAttributeDatastructure 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()