A3DTopoFaceData Struct Reference

Face structure. More...

Data Fields

A3DBool m_bHasTrimDomain
 
A3DDouble m_dTolerance
 
A3DTopoLoop ** m_ppLoops
 
A3DSurfBasem_pSurface
 
A3DDomainData m_sSurfaceDomain
 
A3DUns32 m_uiLoopSize
 
A3DUns32 m_uiOuterLoopIndex
 
A3DUns16 m_usStructSize
 

Detailed Description

Face structure.

Version
2.0

For the m_sSurfaceDomain member, the face domain for the usage of the surface; must be included in surface's domain. If not defined (that is, invalid domain with Min > Max), the face domain is the surface domain.

The number of loops: m_uiLoopSize can be null, in this case the surface is bounded by its domain or by the face domain: m_sSurfaceDomain if m_bHasTrimDomain is true.

When parsing an A3DTopoFaceData structure, use a tolerance that is the greater of these values:

Field Documentation

A3DUns16 A3DTopoFaceData::m_usStructSize

Reserved; must be initialized with A3D_INITIALIZE_DATA.

A3DSurfBase* A3DTopoFaceData::m_pSurface

Basis surface. Cannot be null.

A3DBool A3DTopoFaceData::m_bHasTrimDomain

Has the surface a trim domain?

A3DDomainData A3DTopoFaceData::m_sSurfaceDomain

Trimming domain for surface.

A3DUns32 A3DTopoFaceData::m_uiLoopSize

Number of A3DTopoLoop in next array.

A3DTopoLoop** A3DTopoFaceData::m_ppLoops

Array of A3DTopoLoop. None can be null.

A3DUns32 A3DTopoFaceData::m_uiOuterLoopIndex

Outer loop index. A3D_LOOP_UNKNOW_OUTER_INDEX if unknown.

If the outer loop index is exactly equal to the number of loops in a surface, it should not be used as an index in the loops array (since the index is zero-based, it will be out of range). In this case, it refers to an implicit outer loop corresponding to the parametric domain bound.

This can happen on closed surfaces when inner or outer loops have no meaning in the 3d space; the implicit outer loop allows users to still have an outer loop representing the outer bound of the surface parametric dimension.

A3DDouble A3DTopoFaceData::m_dTolerance

Face tolerance.