Markup definition

Parent module: Markup Module

group a3d_markupdefinition_module

The A3DMkpAnnotationItemData structure references an A3DMkpMarkup. This markup contains tessellation, leaders, and linked item information that is available by using the function A3DMkpMarkupGet. In addition this markup can contain also definition and specific data. Those data are stored in common structure A3DMarkupDefinitionData and in a specific structure corresponding to the type return by the function A3DEntityGetType. For the structures corresponding to markups with definition, only access functions are defined. In other words, the customer can only create A3DMkpMarkup.

Version

4.0

The following illustration shows the available methods to retrieve all the data.

In yellow, the data stored in the structure; in blue, the access function defined for corresponding structure.

../_images/pmi_access.png

Here, it samples of the two ways to obtain markup data. In the first case, the markup contains only a tessellation, a type, and a sub type, in the second case, considering a markup text creation, the markup contains specific data (text, text properties (font…), position definition, display options, with a tessellation, a type, and a sub type. ../_images/pmi_access_sample.png

See the following sample code:

//markup data

A3DEEntityType eType;
A3DInt32 iRet=A3DEntityGetType( pMarkup, &eType);
// if ( iRet!=A3D_SUCCESS ) exit
if(eType == kA3DTypeMkpMarkup)
{
    //no definition is set, no information to retrieve
    //terminate...
}

//markup definition data

A3DMarkupDefinitionData sDataDefinition;
A3D_INITIALIZE_DATA( A3DMarkupDefinitionData, sDataDefinition);
A3DInt32 iRet=A3DMarkupDefinitionGet((A3DMarkupDefinition*)pMarkup, &sDataDefinition);//sDataDefinition contains basic definition information

//specific data

A3DMarkupTextData sTextData;
A3DMarkupDimensionData sDimensionData;
    switch(eType)
    {
    case kA3DTypeMarkupText:
    A3DMarkupTextData sTextData;
    A3D_INITIALIZE_DATA( A3DMarkupTextData, sTextData);
    A3DInt32 iRet=A3DMarkupTextGet((A3DMarkupText*)pMarkup, &sTextData);
    break;
    case kA3DTypeMarkupDimension:
    A3DMarkupDimensionData sDimensionData;
    A3D_INITIALIZE_DATA( A3DMarkupDimensionData, sDimensionData);
    A3DInt32 iRet=A3DMarkupTextGet((A3DMarkupDimension*)pMarkup, &sDimensionData);
    break;

    case kA3DTypeMarkupGDT:
    A3DMarkupGDTData sGDTData;
    A3D_INITIALIZE_DATA( A3DMarkupGDTData, sGDTData);
    A3DInt32 iRet=A3DMarkupGDTGet((A3DMarkupGDT*)pMarkup, &sGDTData);
    break;

    ...same thing for all types

    default:
        break;

}

Sub-modules

Position definition

Position definition

Notes

Notes

Dimension

Dimension

Tolerance

Tolerance

Symbols

Symbols

Welding

Welding

Data Structures

A3DMDTextPropertiesData

Markup text properties data structure.

A3DMarkupDefinitionData

Structure defining common data to all markup with definition.

Functions

A3DMDTextPropertiesGet()

Populates the A3DMDTextPropertiesData structure.

A3DMarkupDefinitionGet()

Populates the A3DMarkupDefinitionData structure.

A3DMarkupPositionIsScreenLocation()

Test if the position of the markup is a screen position, and return the position and the offset of the anchor point.

A3DMDLeaderDefinitionSet()

Creates the A3DMDLeaderDefinition from A3DMDLeaderDefinitionData structure.

A3DMarkupDefinitionSet()

Creates the A3DMarkupDefinition from A3DMarkupDefinitionData structure.

Enumerators

EA3DMDMarkupDisplayType

EA3DMDTextPropertiesScore

Enumerator that describes the score type applied on text.

EA3DMDTextPropertiesFormat

Enumerator that describes the format text.

EA3DMDTextPropertiesJustification

Enumerator that justifies the text.