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