Synopsis

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

Purpose

Determine the planarity of a GDX curve entity

Description

Determines the planarity of a GDX curve entity. The GDX arc, conic, polyline, NURB, parametric spline, and composite curve 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

Not used

db_ptr

The database pointer for the GDX entity

tolerance

The in plane tolerance

Output

planar

PDX_TRUE

The curve is planar.

PDX_FALSE

The curve is not planar

xy_planar

PDX_TRUE

The curve is in an XY plane

PDX_FALSE

The curve is not in an XY plane

zt

The Z translation for an XY planar GDX 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

      GDX_NOERR
      Low level error return
      .fi