Creates and accesses a hierarchy of descriptive names and modeller data that can be applied to any PRC entity. More...
Data Structures | |
struct | A3DRootBaseData |
A structure representing a hierarchy of descriptive names and modeler data that applies to any PRC entity. More... | |
Modules | |
Miscellaneous Attribute Entity | |
Creates and accesses descriptive names and modeller data associated with PRC entities. | |
Functions | |
A3DStatus | A3DRootBaseAttributeAdd (A3DRootBase *pEntity, A3DUTF8Char *pcTitle, A3DUTF8Char *pcValue) |
Add an attribute to the current attribute array stored in a PRC entity. More... | |
A3DStatus | A3DRootBaseAttributeAppend (A3DRootBase *pEntity, A3DUns32 uiSize, A3DMiscAttribute **m_ppAttributes) |
Append attributes to the current attribute array stored in a PRC entity. More... | |
A3DStatus | A3DRootBaseAttributeRemove (A3DRootBase *pEntity, A3DUTF8Char *pcTitle) |
Remove attribute in the attribute array of PRC entity with a specific title. More... | |
A3DStatus | A3DRootBaseAttributeRemoveAll (A3DRootBase *pEntity) |
Remove all attributes stored in a PRC entity. More... | |
A3DStatus | A3DRootBaseAttributeRemoveAt (A3DRootBase *pEntity, A3DUns32 uIndex) |
Remove attribute of the current attribute array stored in a PRC entity, at a specific position. More... | |
A3DStatus | A3DRootBaseGet (const A3DRootBase *pRootBase, A3DRootBaseData *pData) |
Populates an A3DRootBaseData structure with the data from a PRC entity. More... | |
A3DStatus | A3DRootBaseSet (A3DRootBase *pRootBase, const A3DRootBaseData *pData) |
Adds an A3DRootBaseData structure to an existing PRC entity. More... | |
Detailed Description
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.
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.

- See also
- Root Type Declarations
Function Documentation
◆ A3DRootBaseGet()
A3DStatus A3DRootBaseGet | ( | const A3DRootBase * | pRootBase, |
A3DRootBaseData * | pData | ||
) |
Populates an A3DRootBaseData structure with the data from a PRC entity.
- Version
- 2.0
◆ A3DRootBaseSet()
A3DStatus A3DRootBaseSet | ( | A3DRootBase * | pRootBase, |
const A3DRootBaseData * | pData | ||
) |
Adds an A3DRootBaseData structure to an existing PRC entity.
According to what is defined in the parameter pData, the A3DEntity will be updated.
- If A3DRootBaseData::m_pcName is initialized, the entity will be renamed.
- Persistent and non-persistent id's are systematically replaced.
- The array A3DRootBaseData::m_ppAttributes will be appended to the current attribute array of the Entity. To manipulate just the Entity attributes, please use the following functions: A3DRootBaseAttributeRemoveAll, A3DRootBaseAttributeRemove, A3DRootBaseAttributeRemoveAt, A3DRootBaseAttributeAppend, A3DRootBaseAttributeAdd.
- Version
- 2.0
- Note
- A3DRootBase is an abstract class and cannot be directly created; however, any entity created with a function of the form
A3DEntity_nameCreate
results in the creation of a PRC entity of typeA3DRootBase
and of typeA3DEntity_name
.
◆ A3DRootBaseAttributeRemoveAll()
A3DStatus A3DRootBaseAttributeRemoveAll | ( | A3DRootBase * | pEntity | ) |
Remove all attributes stored in a PRC entity.
- Version
- 11.1
- Returns
- A3D_INVALID_DATA_STRUCT_SIZE
-
A3D_INVALID_DATA_STRUCT_NULL
- A3D_BASE_BAD_ENTITY_TYPE
-
A3D_SUCCESS
- Note
- A3DRootBase is an abstract class and cannot be directly created; however, any entity created with a function of the form
A3DEntity_nameCreate
results in the creation of a PRC entity of typeA3DRootBase
and of typeA3DEntity_name
.
◆ A3DRootBaseAttributeRemove()
A3DStatus A3DRootBaseAttributeRemove | ( | A3DRootBase * | pEntity, |
A3DUTF8Char * | pcTitle | ||
) |
Remove attribute in the attribute array of PRC entity with a specific title.
- Version
- 11.1
- Returns
- A3D_INVALID_DATA_STRUCT_SIZE
-
A3D_INVALID_DATA_STRUCT_NULL
- A3D_BASE_BAD_ENTITY_TYPE
-
A3D_SUCCESS
- Note
- A3DRootBase is an abstract class and cannot be directly created; however, any entity created with a function of the form
A3DEntity_nameCreate
results in the creation of a PRC entity of typeA3DRootBase
and of typeA3DEntity_name
.
◆ A3DRootBaseAttributeRemoveAt()
A3DStatus A3DRootBaseAttributeRemoveAt | ( | A3DRootBase * | pEntity, |
A3DUns32 | uIndex | ||
) |
Remove attribute of the current attribute array stored in a PRC entity, at a specific position.
- Version
- 11.1
- Returns
- A3D_INVALID_DATA_STRUCT_SIZE
-
A3D_INVALID_DATA_STRUCT_NULL
- A3D_BASE_BAD_ENTITY_TYPE
-
A3D_SUCCESS
- Note
- A3DRootBase is an abstract class and cannot be directly created; however, any entity created with a function of the form
A3DEntity_nameCreate
results in the creation of a PRC entity of typeA3DRootBase
and of typeA3DEntity_name
.
◆ A3DRootBaseAttributeAppend()
A3DStatus A3DRootBaseAttributeAppend | ( | A3DRootBase * | pEntity, |
A3DUns32 | uiSize, | ||
A3DMiscAttribute ** | m_ppAttributes | ||
) |
Append attributes to the current attribute array stored in a PRC entity.
- Version
- 11.1
- Returns
- A3D_INVALID_DATA_STRUCT_SIZE
-
A3D_INVALID_DATA_STRUCT_NULL
-
A3D_BASE_BAD_ENTITY_TYPE
-
A3D_SUCCESS
- Note
- A3DRootBase is an abstract class and cannot be directly created; however, any entity created with a function of the form
A3DEntity_nameCreate
results in the creation of a PRC entity of typeA3DRootBase
and of typeA3DEntity_name
.
◆ A3DRootBaseAttributeAdd()
A3DStatus A3DRootBaseAttributeAdd | ( | A3DRootBase * | pEntity, |
A3DUTF8Char * | pcTitle, | ||
A3DUTF8Char * | pcValue | ||
) |
Add an attribute to the current attribute array stored in a PRC entity.
- Version
- 11.1
- Returns
- A3D_INVALID_DATA_STRUCT_SIZE
-
A3D_INVALID_DATA_STRUCT_NULL
-
A3D_BASE_BAD_ENTITY_TYPE
-
A3D_SUCCESS
- Note
- A3DRootBase is an abstract class and cannot be directly created; however, any entity created with a function of the form
A3DEntity_nameCreate
results in the creation of a PRC entity of typeA3DRootBase
and of typeA3DEntity_name
.