Callback-Function Type Definitions

Types

A3DEDrawMaterialType

A3DEDrawBeginEndType

Type Aliases

void(*

A3DCallbackDrawPushMatrix

void(*

A3DCallbackDrawPopMatrix

void(*

A3DCallbackDrawMultMatrix

void(*

A3DCallbackDrawBegin

void(*

A3DCallbackDrawEnd

void(*

A3DCallbackDrawSetTessellationPoints

void(*

A3DCallbackDrawProject

void(*

A3DCallbackDrawUnProject

void(*

A3DCallbackDrawTriangle

void(*

A3DCallbackDrawTriangleFan

void(*

A3DCallbackDrawTriangleStripe

void(*

A3DCallbackDrawTriangleOneNormal

void(*

A3DCallbackDrawTriangleFanOneNormal

void(*

A3DCallbackDrawTriangleStripeOneNormal

void(*

A3DCallbackDrawTriangleTextured

void(*

A3DCallbackDrawTriangleFanTextured

void(*

A3DCallbackDrawTriangleStripeTextured

void(*

A3DCallbackDrawTriangleOneNormalTextured

void(*

A3DCallbackDrawTriangleFanOneNormalTextured

void(*

A3DCallbackDrawTriangleStripeOneNormalTextured

void(*

A3DCallbackDrawColor

void(*

A3DCallbackDrawMaterial

void(*

A3DCallbackDrawBeginMaterial

void(*

A3DCallbackDrawEndMaterial

void(*

A3DCallbackDrawGetDrawContext

void(*

A3DCallbackDrawMarkupTriangle

void(*

A3DCallbackDrawBeginFrameDraw

void(*

A3DCallbackDrawEndFrameDraw

void(*

A3DCallbackDrawBeginFixedSize

void(*

A3DCallbackDrawEndFixedSize

void(*

A3DCallbackDrawCylinder

void(*

A3DCallbackDrawPolygon

void(*

A3DCallbackDrawBeginLineWidth

void(*

A3DCallbackDrawEndLineWidth

void(*

A3DCallbackDrawPoint

void(*

A3DCallbackDrawFont

void(*

A3DCallbackDrawBeginLineStipple

void(*

A3DCallbackDrawEndLineStipple

void(*

A3DCallbackDrawSymbol

void(*

A3DCallbackDrawPolyLine

void(*

A3DCallbackDrawText

void(*

A3DCallbackDrawPattern

void(*

A3DCallbackDrawPicture

Fields

kA3DDrawMaterialAmbient

kA3DDrawMaterialDiffuse

kA3DDrawMaterialSpecular

kA3DDrawMaterialEmission

kA3DDrawMaterialShininess

kA3DDrawBeginEndProductOccurrence

kA3DDrawBeginEndRepresentationItem

kA3DDrawBeginEndMarkup

Detailed Description

group a3d_draw_functions_pointers

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Type Documentation

enum A3DEDrawMaterialType

Enumeration for characterizing material.

Version

2.0

Values:

enumerator kA3DDrawMaterialAmbient

Ambient color.

RGBA.

enumerator kA3DDrawMaterialDiffuse

Diffuse color.

RGBA.

enumerator kA3DDrawMaterialSpecular

Specular color.

RGBA.

enumerator kA3DDrawMaterialEmission

Emission color.

RGBA.

enumerator kA3DDrawMaterialShininess

Shininess color.

Single value.

enum A3DEDrawBeginEndType

Enumeration for characterizing begin and end callbacks.

Version

2.0

Values:

enumerator kA3DDrawBeginEndProductOccurrence

Begins or ends drawing a A3DAsmProductOccurrence.

enumerator kA3DDrawBeginEndRepresentationItem

Begins or ends drawing a A3DRiRepresentationItem.

enumerator kA3DDrawBeginEndMarkup

Begins or ends drawing a A3DMkpMarkup.

Type Alias Documentation

typedef void (*A3DCallbackDrawPushMatrix)(void)

Pushes the current matrix onto the stack.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawPopMatrix)(void)

Pops the matrix off the stack.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawMultMatrix)(const A3DDouble adMatrix[16])

Multiplies the matrix on the top of the stack by another matrix.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawBegin)(A3DEDrawBeginEndType eType, const A3DUTF8Char *pcName, A3DUns32 uiTrianglesCount)

Begins drawing.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0 The pcName argument can be NULL if there is no name. The uiTriangleCount argument is meaningful only when the eType argument has a value of kA3DDrawBeginEndRepresentationItem; otherwise, its value is 0.

typedef void (*A3DCallbackDrawEnd)(A3DEDrawBeginEndType eType)

Ends drawing.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawSetTessellationPoints)(const A3DVector3dData *pasPoint, A3DUns32 uiPointsSize)

Returns all the points of a representation item tessellation.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawProject)(const A3DVector3dData *psPoint, A3DVector3dData *psResult)

Projects the point.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawUnProject)(const A3DVector3dData *psPoint, A3DVector3dData *psResult)

Un-projects the point.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawTriangle)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a list of triangles.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each point of each triangle has its own normal.
Version

2.0

typedef void (*A3DCallbackDrawTriangleFan)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a fan of triangles.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each point of the fan has its own normal.
Version

2.0

typedef void (*A3DCallbackDrawTriangleStripe)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a triangle strip.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each point of the strip has its own normal.
Version

2.0

typedef void (*A3DCallbackDrawTriangleOneNormal)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a list of triangles where each triangle has only one normal.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each triangle has only one normal. Therefore, the number of normals is uiPointsSize/3.
Version

2.0

typedef void (*A3DCallbackDrawTriangleFanOneNormal)(const A3DVector3dData *psNormal, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a fan of triangles with one normal.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

The fan has only one normal, psNormal.
Version

2.0

Version

2.0

typedef void (*A3DCallbackDrawTriangleStripeOneNormal)(const A3DVector3dData *psNormal, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a triangle strip with one normal.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

The strip has only one normal, which is identified by the psNormal argument.
Version

2.0

typedef void (*A3DCallbackDrawTriangleTextured)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a list of textured triangles.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each point of each triangle has its own normal.
Version

2.0

Note

Textures are not yet implemented.

typedef void (*A3DCallbackDrawTriangleFanTextured)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a fan of textured triangles.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each point of the fan has its own normal.
Version

2.0

Note

Textures are not yet implemented.

typedef void (*A3DCallbackDrawTriangleStripeTextured)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a triangle strip.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each point of the strip has its own normal.
Version

2.0

Note

Textures are not yet implemented.

typedef void (*A3DCallbackDrawTriangleOneNormalTextured)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a list of textured triangles where each triangle has only one normal.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Each triangle has only one normal. Therefore, the number of normals is uiPointsSize/3.
Version

2.0

Note

Textures are not yet implemented.

typedef void (*A3DCallbackDrawTriangleFanOneNormalTextured)(const A3DVector3dData *psNormal, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a fan of textured triangles, where each triangle has only one normal.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

The fan has only one normal, which is psNormal.
Version

2.0

Note

Textures are not yet implemented.

typedef void (*A3DCallbackDrawTriangleStripeOneNormalTextured)(const A3DVector3dData *psNormal, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)

Draws a triangle strip with one normal.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

The strip has only one normal, which is returned in the psNormal argument.
Version

2.0

Note

Textures are not yet implemented.

typedef void (*A3DCallbackDrawColor)(const A3DDouble adPoints[3])

Defines the color to be used for all subsequent entities.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

6.1

typedef void (*A3DCallbackDrawMaterial)(A3DEDrawMaterialType eType, const A3DDouble *pdValues, A3DUns32 uiValuesSize)

Defines the material to be used for all subsequent entities.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawBeginMaterial)(void)

Store current materials of the environment.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawEndMaterial)(void)

Restore materials of the environment previously stored.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawGetDrawContext)(A3DDouble adProjection[16], A3DDouble adModelView[16], A3DInt32 aiViewport[4])

Requests the projection, modelview matrix and the viewport.

(See classical Open GL definition for more information.)

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawMarkupTriangle)(const A3DDouble *pdPoints, A3DUns32 uiPointSize)

Draws a list of triangles without normals, for markups.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawBeginFrameDraw)(const A3DVector3dData *psPoint3d, A3DBool bIsZoomable, A3DDouble dFixedSize)

Sets the environment to draw with screen coordinates.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawEndFrameDraw)(void)

Ends the draw with screen coordinates.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawBeginFixedSize)(const A3DVector3dData *psPoint3d)

Sets the environment to draw with a fixed size.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawEndFixedSize)(void)

Ends the draw with fixed size.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawCylinder)(A3DDouble dBaseRadius, A3DDouble dTopRadius, A3DDouble dHeight)

Draws a cylinder.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawPolygon)(const A3DDouble *pdPoints, A3DUns32 uiPointSize)

Draws a polygon.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawBeginLineWidth)(A3DDouble dWidth)

Sets the environment to draw with a line width.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawEndLineWidth)(void)

Ends the draw with a line width.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawPoint)(const A3DDouble *pdPoints, A3DUns32 uiPointSize)

Draws a list of points.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawFont)(const A3DFontKeyData *psFontKeyData)

Defines a font.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawBeginLineStipple)(const A3DGraphStyleData *psGraphStyleData)

Sets the environment to draw with a line stipple.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawEndLineStipple)(void)

Ends the draw with a line stipple.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawSymbol)(const A3DGraphVPicturePatternData *psPatternData, const A3DVector3dData *psPosition)

Draws a symbol at the 3D position.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawPolyLine)(const A3DDouble *pdPoints, A3DUns32 uiPointSize)

Draws a polyline.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawText)(const A3DUTF8Char *pcBuffer, A3DDouble dWidth, A3DDouble dHeight)

Draws a text at current position.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawPattern)(A3DUns32 uiLoopsSize, A3DUns32 uiPatternId, A3DUns32 uiFilledMode, A3DUns32 uiBehaviour, const A3DDouble *pdPoints, const A3DUns32 *puiLoopsPointSize)

Draws a pattern.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0

typedef void (*A3DCallbackDrawPicture)(const A3DGraphPictureData *psPictureData)

Draws a picture at current position.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Version

2.0