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