struct A3DTopoFaceData

Face structure.

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:

Public Members

A3DSurfBase *m_pSurface

Basis surface. Cannot be null.

A3DBool m_bHasTrimDomain

Has the surface a trim domain?

A3DDomainData m_sSurfaceDomain

Trimming domain for surface.

A3DUns32 m_uiLoopSize

The size of m_ppLoops.

A3DTopoLoop **m_ppLoops

Array of A3DTopoLoop. None can be null.

A3DUns32 m_uiOuterLoopIndex


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 m_dTolerance

Face tolerance.