# Synopsis

PDX_MSGT igeo_GetCurvePlane(long option, MDA_PTR db_ptr, double tolerance, PDX_BOOL *planar, PDX_BOOL *xy_planar, double *zt, double plane_normal[3])

# Purpose

Determine the plane of an IGES curve entity

# Description

Determines if an IGES curve entity is planar. IGES 100, 102, 104, 106, 110, 112, 126, 130, 141, and 142 curves entities are checked for planarity. If the curve is planar, determines if it is in the XY plane, determines the plane normal and for XY planar the Z translation, otherwise the plane translation to origin( the zt in plane_normal[0]*x + plane_normal[1]*y + plane_normal[2]*z - zt = 0.0). Note: If an entity is colinear and in the XY plane, the planar flag will be PDX_FALSE and the xy_planar flag will be PDX_TRUE since a unique plane can not be defined, but a valid plane is the XY plane.

# Input

## option

### IGES_NOMATRIX

Ignore the IGES curve entity matrix in determining the plane of the IGES curve

## db_ptr

The database pointer for the IGES entity

## tolerance

The in plane tolerance

# Output

## planar

The IGES curve planar flag: PDX_TRUE if planar, PDX_FALSE otherwise

## xy_planar

The IGES curve XY planar flag: PDX_TRUE if planar and in the XY plane, PDX_FALSE otherwise

## zt

The Z translation for an XY planar IGES curve or the plane to origin translation for planar and not XY planar

## plane_normal

The XYZ normal to the plane of the curve if planar

# Tolerances

NORMAL_MAG_TOL

# Return

          IGEO_NOERR
          IGEO_NOMEMORY
          IGEO_ENTITYNOTCURVE
          Low level error return
          .fi