A3DSDKTessellation.h

Header file for tessellation.

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

A3DTessBaseData

Structure for defining tessellation base data.

A3DTessFaceData

Structure that describes basic entities of a face in a solid or surface mesh representations.

A3DTess3DData

Structure used to create or parse an A3DTess3D entity.

A3DTess3DWireData

3D wire data structure

A3DTessMarkupData

TessMarkupData structure.

Macro definitions

kA3DTess3DWireDataIsClosing

kA3DTess3DWireDataIsContinuous

Functions

A3DTessBaseGet()

Populates the A3DTessBaseData structure.

A3DTessBaseSet()

Function to set the tessellation base from the A3DTessBaseData structure. Results use a hash table to simplify the final tesselation.

A3DTessBaseSetNoHash()

Function to set the tessellation base from the A3DTessBaseData structure. Results do not use a hash table to simplify the final tesselation.

A3DTess3DGet()

Populates the A3DTess3DData structure.

A3DTess3DCreate()

Creates an A3DTess3D from an A3DTess3DData structure.

A3DTess3DWireGet()

Populates the A3DTess3DWireData structure.

A3DTess3DWireCreate()

Creates the A3DTess3DWire from A3DTess3DWireData structure.

A3DTessMarkupGet()

Populates the A3DTessMarkupData structure.

A3DTessMarkupCreate()

Creates an A3DTessMarkup entity from an A3DTessMarkupData structure.

Macro definitions

kA3DTess3DWireDataIsClosing

The current wire is closed.

kA3DTess3DWireDataIsContinuous

Indicates that the last point of preceding wire should be linked with the first point of the current one.

Functions

A3DStatus A3DTessBaseGet(const A3DTessBase *pTessBase, A3DTessBaseData *pData)

Populates the A3DTessBaseData structure.

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 A3DTessBaseSet(A3DTessBase *pTessBase, const A3DTessBaseData *pData)

Function to set the tessellation base from the A3DTessBaseData structure. Results use a hash table to simplify the final tesselation.

Version

2.0

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_TESSBASE_INCONSISTENT

  • A3D_TESSBASE_POINTS_INCONSISTENT_DATA

  • A3D_TESSBASE_POINTS_BAD_SIZE

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTessBaseSetNoHash(A3DTessBase *pTessBase, const A3DTessBaseData *pData)

Function to set the tessellation base from the A3DTessBaseData structure. Results do not use a hash table to simplify the final tesselation.

Version

10.2

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_TESSBASE_INCONSISTENT

  • A3D_TESSBASE_POINTS_INCONSISTENT_DATA

  • A3D_TESSBASE_POINTS_BAD_SIZE

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTess3DGet(const A3DTess3D *pTess, A3DTess3DData *pData)

Populates the A3DTess3DData structure.

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 A3DTess3DCreate(const A3DTess3DData *pData, A3DTess3D **ppTess)

Creates an A3DTess3D from an A3DTess3DData structure.

Version

2.0

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_TESS3D_NORMALS_INCONSISTENT_DATA

  • A3D_TESS3D_NORMALS_BAD_SIZE

  • A3D_TESS3D_FACE_INCONSISTENT_DATA

  • A3D_TESSFACE_TRIANGULATED_INCONSISTENT_DATA

  • A3D_TESSFACE_TRIANGULATED_INCONSISTENT_EMPTY

  • A3D_TESSFACE_USEDENTITIES_BAD_TYPE

  • A3D_TESSFACE_STARTTRIANGULATED_INCONSISTENT_DATA

  • A3D_TESSFACE_STARTWIRE_INCONSISTENT_DATA

  • A3D_TESSFACE_STYLEINDEXESSIZE_INCONSISTENT_DATA

  • A3D_TESSFACE_RGBAVERTICESSIZE_INCONSISTENT_DATA

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTess3DWireGet(const A3DTess3DWire *pTess, A3DTess3DWireData *pData)

Populates the A3DTess3DWireData structure.

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 A3DTess3DWireCreate(const A3DTess3DWireData *pData, A3DTess3DWire **ppTess)

Creates the A3DTess3DWire from A3DTess3DWireData structure.

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_TESSWIRE_RGBAVERTICESSIZE_INCONSISTENT_DATA

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTessMarkupGet(const A3DTessMarkup *pTess, A3DTessMarkupData *pData)

Populates the A3DTessMarkupData structure.

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 A3DTessMarkupCreate(const A3DTessMarkupData *pData, A3DTessMarkup **ppTess)

Creates an A3DTessMarkup entity from an A3DTessMarkupData structure.

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_TESSMARKUP_HAS_INVALID_FONTKEY

  • A3D_TESSMARKUP_HAS_INVALID_TEXT_INDEX

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code