Markup definition
Types
Fields
Functions
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.
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:
//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.
Values:
-
enumerator KEA3DMDDisplayType_Unknown
Unknown.
-
enumerator KEA3DMDDisplayType_Unspecified
Unspecified.
-
enumerator KEA3DMDDisplayType_FlatToScreen
Flat to screen.
-
enumerator KEA3DMDDisplayType_FlatToSurface
Flat to surface.
-
enumerator KEA3DMDDisplayType_Unknown
-
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.
-
enumerator KEA3DMDTextPropertiesScoreNone
-
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.
-
enumerator KEA3DMDTextPropertiesFormatNormal
-
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.
-
enumerator KEA3DMDTextPropertiesJustificationLeft
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
-
A3DStatus A3DMDTextPropertiesCreate(const A3DMDTextPropertiesData *pData, A3DMDTextProperties **ppTextProperties)
Set the A3DMDTextPropertiesCreate from A3DMDTextPropertiesData structure.
- Version
24.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 A3DMDTextPositionCreate(const A3DMDTextPositionData *pData, A3DMDTextPosition **ppTextPosition)
Set the A3DMDTextPositionCreate from A3DMDTextPositionData structure.
- Version
24.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 A3DMDLeaderDefinitionSet(A3DMDLeaderDefinition *pLeader, const A3DMDLeaderDefinitionData *pData)
Creates the A3DMDLeaderDefinition from A3DMDLeaderDefinitionData structure.
- Version
10.2
- 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 A3DMarkupDefinitionSet(const A3DMarkupDefinitionData *pData, A3DMarkupDefinition *pMarkupDefinition)
Creates the A3DMarkupDefinition from A3DMarkupDefinitionData structure.
- Version
10.2
- 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