Markup definition

Types

A3DMDTextPropertiesData

A3DMarkupDefinitionData

EA3DMDMarkupDisplayType

EA3DMDTextPropertiesScore

EA3DMDTextPropertiesFormat

EA3DMDTextPropertiesJustification

Fields

KEA3DMDDisplayType_Unknown

KEA3DMDDisplayType_Unspecified

KEA3DMDDisplayType_FlatToScreen

KEA3DMDDisplayType_FlatToSurface

KEA3DMDTextPropertiesScoreNone

KEA3DMDTextPropertiesUnderScored

KEA3DMDTextPropertiesScored

KEA3DMDTextPropertiesOverScored

KEA3DMDTextPropertiesFormatNormal

KEA3DMDTextPropertiesFormatUnderLine

KEA3DMDTextPropertiesFormatOverLine

KEA3DMDTextPropertiesFormatExposant

KEA3DMDTextPropertiesFormatindice

KEA3DMDTextPropertiesJustificationLeft

KEA3DMDTextPropertiesJustificationCenter

KEA3DMDTextPropertiesJustificationRight

Functions

A3DStatus

A3DMDTextPropertiesGet

A3DStatus

A3DMarkupDefinitionGet

A3DStatus

A3DMarkupPositionIsScreenLocation

Detailed Description

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;

}

Type Documentation

enum EA3DMDMarkupDisplayType

The markup position is defined by an attach point and an attach type.

The attach type specifies the point of markup frame on which the attach point will be aligned. See below.../_images/pmi_attach_type.png

Values:

enumerator KEA3DMDDisplayType_Unknown

Unknown.

enumerator KEA3DMDDisplayType_Unspecified

Unspecified.

enumerator KEA3DMDDisplayType_FlatToScreen

Flat to screen.

enumerator KEA3DMDDisplayType_FlatToSurface

Flat to surface.

enum EA3DMDTextPropertiesScore

Enumerator that describes the score type applied on text.

Values:

enumerator KEA3DMDTextPropertiesScoreNone

Text is not scored.

enumerator KEA3DMDTextPropertiesUnderScored

Text is underscored: draw a horizontal line below the text.

enumerator KEA3DMDTextPropertiesScored

Also called strike through, Text is scored: draw a horizontal line through the text.

enumerator KEA3DMDTextPropertiesOverScored

Text is overscored: draw a horizontal line above the text.

enum EA3DMDTextPropertiesFormat

Enumerator that describes the format text.

Values:

enumerator KEA3DMDTextPropertiesFormatNormal

Classical text.

enumerator KEA3DMDTextPropertiesFormatUnderLine

Text positioning under the classical text.

enumerator KEA3DMDTextPropertiesFormatOverLine

Text positioning over the classical text.

enumerator KEA3DMDTextPropertiesFormatExposant

Text positioning as an exposant.

enumerator KEA3DMDTextPropertiesFormatindice

Text positioning as an indice.

enum EA3DMDTextPropertiesJustification

Enumerator that justifies the text.

Values:

enumerator KEA3DMDTextPropertiesJustificationLeft

Justifies the text on the left side.

enumerator KEA3DMDTextPropertiesJustificationCenter

Centers the text.

enumerator KEA3DMDTextPropertiesJustificationRight

Justifies the text on the right side.

Function Documentation

A3DStatus A3DMDTextPropertiesGet(const A3DMDTextProperties *pTextProperties, A3DMDTextPropertiesData *pData)

Populates the A3DMDTextPropertiesData structure.

Version

4.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 A3DMarkupDefinitionGet(const A3DMarkupDefinition *pMarkupDefinition, A3DMarkupDefinitionData *pData)

Populates the A3DMarkupDefinitionData structure.

Version

4.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 A3DMarkupPositionIsScreenLocation(const A3DMarkupDefinition *pMarkupDefinition, A3DBool *pIsScreenLocation, A3DMDPosition2DData *pPosition, A3DVector2dData *pOffsetAnchorPoint)

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

Version

9.2

Parameters
  • pMarkupDefinition[in] is the markup.

  • pIsScreenLocation[out] true if the position of the markup is a screen position.

  • pPosition[out] is the 2D position of the markup.

  • pOffsetAnchorPoint[out] is the offset of position of the markup.

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