Markup Module

Types

A3DMkpMarkupData

Functions

A3DStatus

A3DMkpMarkupGet

A3DStatus

A3DMkpMarkupCreate

A3DStatus

A3DMkpLinkForMarkupReferenceGet

A3DStatus

A3DMkpLinkForAdditionalMarkupReferenceGet

Detailed Description

group a3d_markup_module

Creates and accesses markup entities.

Entity type is kA3DTypeMkpMarkup.

There may be a tessellation in the markup and in each leader. The following sample code shows how to retrieve the tessellation.

Sample code

/* code to get the tessellation of a markup or a leader */
/* pTess is a A3DTessMarkup* */
A3DTessBaseData sBaseData;
A3D_INITIALIZE_DATA(sBaseData);
A3DInt32 iErr = A3DTessBaseGet((A3DTessBase*)pTess, &sBaseData);
if (iErr == A3D_SUCCESS)
{
    A3DTessMarkupData sData;
    A3D_INITIALIZE_DATA(sData);
    iErr = A3DTessMarkupGet(pTess, &sData);
    if (iErr == A3D_SUCCESS)
    {
        /* the tessellation is described in sBaseData plus sData */
    }
    A3DTessMarkupGet(NULL, &sData);
}
A3DTessBaseGet(NULL, &sData);

Function Documentation

A3DStatus A3DMkpMarkupGet(const A3DMkpMarkup *pMarkup, A3DMkpMarkupData *pData)

Populates the A3DMkpMarkupData structure.

Version

2.0

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 in case of success or an error code

A3DStatus A3DMkpMarkupCreate(const A3DMkpMarkupData *pData, A3DMkpMarkup **ppMarkup)

Creates the A3DMkpMarkup from A3DMkpMarkupData structure.

Version

2.0

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DMkpLinkForMarkupReferenceGet(const A3DMkpMarkup *pMarkup, A3DUns32 *puiLinkedItemsSize, A3DMiscMarkupLinkedItem ***ppLinkedItems)

Get links corresponding to the A3DMkpMarkup references This function allocates and returns an array of A3DMiscMarkupLinkedItem. To free the allocated array, the function must be called again with pMarkup as NULL.

Remark

Internally there are several types of links such as reference, position, additional reference, owner or datum.This function only returns the reference links.

Version

6.0

Parameters
  • pMarkup[in] The A3DMkpMarkup entity to get linked item list from. If NULL, pppLinkedItems is freed instead of being allocated.

  • puiLinkedItemsSize[out] The number of A3DMiscMarkupLinkedItem in the resulting array.

  • ppLinkedItems[out] The resulting array.

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 in case of success or an error code

A3DStatus A3DMkpLinkForAdditionalMarkupReferenceGet(const A3DMkpMarkup *pMarkup, A3DUns32 *puiLinkedItemsSize, A3DMiscMarkupLinkedItem ***pppLinkedItems)

Get links corresponding to the A3DMkpMarkup additional references such as element defining the toleranced line for line profile. This function allocates and returns an array of A3DMiscMarkupLinkedItem. To free the allocated array, the function must be called again with pMarkup as NULL.

Remark

Internally there are several types of links such as reference, position, additional reference, owner or datum.This function only returns the additional reference links.

Version

6.0

Version

9.0

Parameters
  • pMarkup[in] The A3DMkpMarkup entity to get linked item list from. If NULL, pppLinkedItems is freed instead of being allocated.

  • puiLinkedItemsSize[out] The number of A3DMiscMarkupLinkedItem in the resulting array.

  • pppLinkedItems[out] The resulting array.

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 in case of success or an error code