3D wire data structure More...
Data Fields | |
A3DBool | m_bIsRGBA |
A3DBool | m_bIsSegmentColor |
A3DUns8 * | m_pucRGBAVertices |
A3DUns32 * | m_puiSizesWires |
A3DUns32 | m_uiRGBAVerticesSize |
A3DUns32 | m_uiSizesWiresSize |
A3DUns16 | m_usStructSize |
Detailed Description
3D wire data structure
- Version
- 2.0
- Note
- The A3DTess3DWire entity includes data stored in the A3DTessBaseData structure.
The A3DTessBaseData::m_pdCoords member represents point coordinates, which are interpreted in groups of three (X, Y, Z) to represent 3D vectors.
The m_uiSizesWiresSize member represents the number of wire indexes in the whole A3DTess3DWireData. The m_puiSizesWires member references an array of wire indexes in the array of points A3DTessBaseData::m_pdCoords.
If m_uiSizesWiresSize is zero, the tessellation is given as a single wire edge with the array of points contained as described in A3DTessBaseData::m_pdCoords. Conversely, if m_uiSizesWiresSize is non-zero, the array referenced by m_puiSizesWires describes single edges as follows:
Continuing with the non-zero case, the number of indexes can include the flags described in Flags for Specifying Wire Characteristics.
Consider the following example of two wires of three points, then 4 others:
- m_uiSizesWiresSize = 9 = (3+1+4+1)
- m_puiSizesWires = [3,index point 1, index point 2, index point 3, 4, index point 1, index point 2, index point 3, index point 4]
- m_pucRGBAVertices specifies the number of colors for each vertex. A value of 0 specifies that no colors are associated with any vertex. A non-zero value specifies the number of colors associated with very vertex. Therefore, m_uiRGBAVerticesSize is either 0 or equal to the number of colors per vertex times the number of point indexes as calculated from m_puiSizesWires.
If the last point of the first wire is linked to the first point of the second wire, the stored values are as follows:
m_puiSizesWires = [3, index point 1, index point 2, index point 3, 4 | kA3DTess3DWireDataIsContinuous, index point 1, index point 2, index point 3, index point 4]
If the second wire is closed, the stored values are as follows:
m_puiSizesWires = [3, index point 1, index point 2, index point 3, 4 | kA3DTess3DWireDataIsClosing, index point 1, index point 2, index point 3, index point 4]
- Warning
- Implicit points coming from Flags for Specifying Wire Characteristics must also bear a color.
The following A3DTess3DWireData members also apply to wire representations:
- m_bIsRGBA : A value of true indicates the color is RGBA; a value of false indicates RGB.
- m_bIsSegmentColor : A value of true indicates the color is for the whole segment; in this case, there is n-1 colors for n vertices; otherwise, color is per vertex.
- Warning
- A3DTessBaseData::m_uiCoordSize represents size of array A3DTessBaseData::m_pdCoords and not a number of 3D points.
Field Documentation
A3DBool A3DTess3DWireData::m_bIsRGBA |
See explanations in Detailed Description.
A3DBool A3DTess3DWireData::m_bIsSegmentColor |
See explanations in Detailed Description.
A3DUns8* A3DTess3DWireData::m_pucRGBAVertices |
See explanations above.
A3DUns32* A3DTess3DWireData::m_puiSizesWires |
See explanations in Detailed Description.
A3DUns32 A3DTess3DWireData::m_uiRGBAVerticesSize |
Size of next array.
A3DUns32 A3DTess3DWireData::m_uiSizesWiresSize |
Size of next array.
A3DUns16 A3DTess3DWireData::m_usStructSize |
Reserved; must be initialized with A3D_INITIALIZE_DATA.