Entity Base with Graphics
Detailed Description
-
group
a3d_rootbasewithgraphics
Creates and accesses global graphic characteristics that apply to any PRC entity in the Graphics.
Entity type is kA3DTypeRootBaseWithGraphics.
- Version
- 11.1
Any PRC entity that bears graphics can have an A3DRootBaseWithGraphics entity.
The A3DRootBaseWithGraphics entity references graphic attributes such as line patterns, RGB colors, and textures. Those graphic attributes are used in the more specific PRC entity.
See also
a3d_graphics
Function Documentation
-
A3DStatus
A3DRootBaseWithGraphicsGet
(const A3DRootBaseWithGraphics *pRoot, A3DRootBaseWithGraphicsData *pData) Populates the A3DRootBaseWithGraphicsData structure.
- Version
- 11.1
Return values: - A3D_INITIALIZE_NOT_CALLED –
- A3D_INVALID_DATA_STRUCT_SIZE –
- A3D_INVALID_DATA_STRUCT_NULL –
- A3D_INVALID_ENTITY_NULL –
- A3D_INVALID_ENTITY_TYPE –
- A3D_SUCCESS –
Returns: A3D_SUCCESS
on success, or an error code on failure
-
A3DStatus
A3DRootBaseWithGraphicsSet
(A3DRootBaseWithGraphics *pRoot, const A3DRootBaseWithGraphicsData *pData) Adds an A3DRootBaseWithGraphicsData structure to an existing A3DRootBaseWithGraphics entity.
- Version
- 11.1
Note
The A3DRootBaseWithGraphics entity type is an abstract class and cannot be directly created; however, any graphic entity created with a function of the form
A3DCreate
results in the creation of a PRC entity of typeA3DRootBaseWithGraphics
and of typeA3D
. That is, a function of the formA3DCreate
adds specific data to the base class, for example A3DRootBaseWithGraphicsData::m_pGraphics.Note
When A3DRootBaseWithGraphicsSet is used to set a new A3DGraphics, its data is copied in the A3DRootBaseWithGraphics but the pointer is not kept nor freed later when the A3DRootBaseWithGraphics is deleted. It must be deleted using A3DGraphicsDelete
Never call A3DGraphicsDelete on an A3DGraphics obtained with A3DRootBaseWithGraphicsGet.A3DGraphicsData sGraphicsData; A3D_INITIALIZE_DATA(A3DGraphicsData, sGraphicsData) // fill in sGraphicsData A3DGraphics* pGraphics = NULL; A3DStatus eStatus = A3DGraphicsCreate(&sGraphicsData, &graphics); A3DRootBaseWithGraphicsData sRootBaseWithGraphicsData; A3D_INITIALIZE_DATA(A3DRootBaseWithGraphicsData, sRootBaseWithGraphicsData) sRootBaseWithGraphicsData.m_pGraphics = pGraphics; // copy pGraphics'content to pEntity eStatus = A3DRootBaseWithGraphicsSet(pEntity, &sRootBaseWithGraphicsData); // free pGraphics eStatus = A3DGraphicsDelete(pGraphics);
Return values: - A3D_INVALID_DATA_STRUCT_SIZE –
- A3D_INVALID_DATA_STRUCT_NULL –
- A3D_SUCCESS –
Returns: A3D_SUCCESS
on success, or an error code on failure