Markup definition

4.0

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

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.

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.

See the following sample code:

//markupdata

A3DEEntityTypeeType;
A3DInt32iRet=A3DEntityGetType(pMarkup,&eType);
//if(iRet!=A3D_SUCCESS)exit
if(eType==kA3DTypeMkpMarkup)
{
//nodefinitionisset,noinformationtoretrieve
//terminate...
}

//markupdefinitiondata

A3DMarkupDefinitionDatasDataDefinition=A3D_MAKE_DATA(A3DMarkupDefinitionData);
A3DInt32iRet=A3DMarkupDefinitionGet((A3DMarkupDefinition*)pMarkup,&sDataDefinition);//sDataDefinitioncontainsbasicdefinitioninformation

//specificdata

A3DMarkupTextDatasTextData;
A3DMarkupDimensionDatasDimensionData;
switch(eType)
{
casekA3DTypeMarkupText:
{
A3DMarkupTextDatasTextData=A3D_MAKE_DATA(A3DMarkupTextData);
A3DInt32iRet=A3DMarkupTextGet((A3DMarkupText*)pMarkup,&sTextData);
break;
}
casekA3DTypeMarkupDimension:
{
A3DMarkupDimensionDatasDimensionData=A3D_MAKE_DATA(A3DMarkupDimensionData);
A3DInt32iRet=A3DMarkupTextGet((A3DMarkupDimension*)pMarkup,&sDimensionData);
break;
}
casekA3DTypeMarkupGDT:
{
A3DMarkupGDTDatasGDTData=A3D_MAKE_DATA(A3DMarkupGDTData);
A3DInt32iRet=A3DMarkupGDTGet((A3DMarkupGDT*)pMarkup,&sGDTData);
break;
}
...samethingforalltypes

default:
break;

}

Parameters

pMarkupDefinition: is the markup.

pIsScreenLocation: true if the position of the markup is a screen position.

pPosition: is the 2D position of the markup.

pOffsetAnchorPoint: is the offset of position of the markup.

Returns

A3D_SUCCESSon success, or an error code on failure

Topics

Structures

Enumerations

Functions