# Synopsis

PDX_MSGT gdx_SolidCheckEuler(long option, MDA_PTR gdx_solid_ptr, OLM_LIST **gdx_error_list)

# Purpose

Check the topolgy of a solid

# Description

Traverse a solid structure to find topological errors. Each edge is processed to verify it is traversed exactly twice in different directions. The euler value will be calculated using the following equation: .nf

2*num_shells + num_loops + num_edges - 2*num_faces - num_vertices

.fi Since the genus of the shells can not be easily computed, the calculated euler value will be checked for an even number. The final topology check will verify edges with identical start and end vertices reference closed curves.

# Input

## option

Options (not used)

## gdx_solid_ptr

Database pointer of GDX_SOLID to check

# Output

## gdx_error_list

List of database pointers and correspoding errors (GDX_TOP_ERROR)

# Return

          GDX_NOERR            No error
          GDX_INVALID_EULER    Calculated euler value is invalid
          .fi