A3DSDKDraw.h
Header file for the draw module.
- Author
Tech Soft 3D
- Version
23.0
- Date
January 2023
- Copyright (c) 2010 - 2023 by Tech Soft 3D, Inc. All rights reserved.
Content
Data Structures
Structure for specifying callback functions for drawing. |
Type definitions
Pushes the current matrix onto the stack. |
|
Pops the matrix off the stack. |
|
Multiplies the matrix on the top of the stack by another matrix. |
|
Begins drawing. |
|
Ends drawing. |
|
Returns all the points of a representation item tessellation. |
|
Projects the point. |
|
Un-projects the point. |
|
Draws a list of triangles. |
|
Draws a fan of triangles. |
|
Draws a triangle strip. |
|
Draws a list of triangles where each triangle has only one normal. |
|
Draws a fan of triangles with one normal. |
|
Draws a triangle strip with one normal. |
|
Draws a list of textured triangles. |
|
Draws a fan of textured triangles. |
|
Draws a triangle strip. |
|
Draws a list of textured triangles where each triangle has only one normal. |
|
Draws a fan of textured triangles, where each triangle has only one normal. |
|
Draws a triangle strip with one normal. |
|
Defines the color to be used for all subsequent entities. |
|
Defines the material to be used for all subsequent entities. |
|
Store current materials of the environment. |
|
Restore materials of the environment previously stored. |
|
Requests the projection, modelview matrix and the viewport. |
|
Draws a list of triangles without normals, for markups. |
|
Sets the environment to draw with screen coordinates. |
|
Ends the draw with screen coordinates. |
|
Sets the environment to draw with a fixed size. |
|
Ends the draw with fixed size. |
|
Draws a cylinder. |
|
Draws a polygon. |
|
Sets the environment to draw with a line width. |
|
Ends the draw with a line width. |
|
Draws a list of points. |
|
Defines a font. |
|
Sets the environment to draw with a line stipple. |
|
Ends the draw with a line stipple. |
|
Draws a symbol at the 3D position. |
|
Draws a polyline. |
|
Draws a text at current position. |
|
Draws a pattern. |
|
Draws a picture at current position. |
Functions
Initializes the callbacks used for drawing. |
|
Draws the model file entities, using the callbacks defined by A3DDrawInitCallbacks . |
|
Draws the representation item entities, using the callbacks defined by A3DDrawInitCallbacks . |
|
Draws the markup item entities, using the callbacks defined by A3DDrawInitCallbacks . |
|
Calculates the bounding box of the model file entity, without using any callback functions. |
Type definitions
-
typedef void (*A3DCallbackDrawPushMatrix)(void)
Pushes the current matrix onto the stack.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawPopMatrix)(void)
Pops the matrix off the stack.
- Deprecated:
The Draw module is deprecated.
- 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.
- Version
2.0
-
typedef void (*A3DCallbackDrawBegin)(A3DEDrawBeginEndType eType, const A3DUTF8Char *pcName, A3DUns32 uiTrianglesCount)
Begins drawing.
- Deprecated:
The Draw module is deprecated.
- Version
2.0 The
pcName
argument can be NULL if there is no name. TheuiTriangleCount
argument is meaningful only when theeType
argument has a value ofkA3DDrawBeginEndRepresentationItem
; otherwise, its value is 0.
-
typedef void (*A3DCallbackDrawEnd)(A3DEDrawBeginEndType eType)
Ends drawing.
- Deprecated:
The Draw module is deprecated.
- 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.
- Version
2.0
-
typedef void (*A3DCallbackDrawProject)(const A3DVector3dData *psPoint, A3DVector3dData *psResult)
Projects the point.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawUnProject)(const A3DVector3dData *psPoint, A3DVector3dData *psResult)
Un-projects the point.
- Deprecated:
The Draw module is deprecated.
- 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.
- 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.
- Version
2.0
-
typedef void (*A3DCallbackDrawTriangleStripe)(const A3DVector3dData *pasNormals, const A3DVector3dData *pasPoints, A3DUns32 uiPointsSize)
Draws a triangle strip.
- Deprecated:
The Draw module is deprecated.
- 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.
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.
- 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.
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.
- 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.
- 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.
- 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.
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.
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.
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.
- 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.
- Version
2.0
-
typedef void (*A3DCallbackDrawBeginMaterial)(void)
Store current materials of the environment.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawEndMaterial)(void)
Restore materials of the environment previously stored.
- Deprecated:
The Draw module is deprecated.
- 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.
- 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.
- 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.
- Version
2.0
-
typedef void (*A3DCallbackDrawEndFrameDraw)(void)
Ends the draw with screen coordinates.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawBeginFixedSize)(const A3DVector3dData *psPoint3d)
Sets the environment to draw with a fixed size.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawEndFixedSize)(void)
Ends the draw with fixed size.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawCylinder)(A3DDouble dBaseRadius, A3DDouble dTopRadius, A3DDouble dHeight)
Draws a cylinder.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawPolygon)(const A3DDouble *pdPoints, A3DUns32 uiPointSize)
Draws a polygon.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawBeginLineWidth)(A3DDouble dWidth)
Sets the environment to draw with a line width.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawEndLineWidth)(void)
Ends the draw with a line width.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawPoint)(const A3DDouble *pdPoints, A3DUns32 uiPointSize)
Draws a list of points.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawFont)(const A3DFontKeyData *psFontKeyData)
Defines a font.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawBeginLineStipple)(const A3DGraphStyleData *psGraphStyleData)
Sets the environment to draw with a line stipple.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
-
typedef void (*A3DCallbackDrawEndLineStipple)(void)
Ends the draw with a line stipple.
- Deprecated:
The Draw module is deprecated.
- 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.
- Version
2.0
-
typedef void (*A3DCallbackDrawPolyLine)(const A3DDouble *pdPoints, A3DUns32 uiPointSize)
Draws a polyline.
- Deprecated:
The Draw module is deprecated.
- 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.
- 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.
- Version
2.0
-
typedef void (*A3DCallbackDrawPicture)(const A3DGraphPictureData *psPictureData)
Draws a picture at current position.
- Deprecated:
The Draw module is deprecated.
- Version
2.0
Functions
-
A3DStatus A3DDrawInitCallbacks(A3DDrawCallbacksData *psCallbacks)
Initializes the callbacks used for drawing.
- Deprecated:
The Draw module is deprecated.
- Version
2.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 A3DDraw(const A3DAsmModelFile *pModelFile, A3DUns32 uiDrawFlags)
Draws the model file entities, using the callbacks defined by A3DDrawInitCallbacks.
- Deprecated:
The Draw module is deprecated.
uiDrawFlags
argument, use the flags defined in Flags for Drawing Model File Entities.- Version
2.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 A3DDrawRepresentationItem(const A3DRiRepresentationItem *pRepItem, const A3DMiscCascadedAttributes *pFatherAttr)
Draws the representation item entities, using the callbacks defined by A3DDrawInitCallbacks.
- Deprecated:
The Draw module is deprecated.
- Version
2.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 A3DDrawMarkup(const A3DMkpMarkup *pMarkup, const A3DMiscCascadedAttributes *pFatherAttr)
Draws the markup item entities, using the callbacks defined by A3DDrawInitCallbacks.
- Deprecated:
The Draw module is deprecated.
- Version
2.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 A3DDrawGetBoundingBox(const A3DAsmModelFile *pModelFile, A3DBoundingBoxData *psBoundingBox, A3DUns32 uiDrawFlags)
Calculates the bounding box of the model file entity, without using any callback functions.
- Deprecated:
The Draw module is deprecated.
uiDrawFlags
argument, use the flags defined in Flags for Drawing Model File Entities.- Version
2.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