------------------------------------------------------------------ -- -- NAME: NDC_TRANSFORM -- DISCREPANCY REPORTS: ------------------------------------------------------------------ -- File: NDC_TRANSFORM.ADA -- Level: 1a, 2a, 1b, 2b with GKS_TYPES; use GKS_TYPES; package NDC_TRANSFORM is -- At level 1b, segment transformations are included in the NDC to NDC -- transformations. Only POINT, VECTOR and POINT_ARRAY are supported. DEFAULT_TRANSFORMATION : TRANSFORMATION_MATRIX := TRANSFORMATION_MATRIX' ((1.0, 0.0, 0.0), (0.0, 1.0, 0.0)); function TRANSFORM (POINT : NDC . POINT; XFORM : TRANSFORMATION_MATRIX := DEFAULT_TRANSFORMATION) return NDC . POINT; function TRANSFORM (VECTOR : NDC . VECTOR; XFORM : TRANSFORMATION_MATRIX := DEFAULT_TRANSFORMATION) return NDC . VECTOR; function TRANSFORM (POINT_ARRAY : NDC . POINT_ARRAY; XFORM : TRANSFORMATION_MATRIX := DEFAULT_TRANSFORMATION) return NDC . POINT_ARRAY; function INVERSE_TRANSFORMATION (XFORM : TRANSFORMATION_MATRIX := DEFAULT_TRANSFORMATION) return TRANSFORMATION_MATRIX; INVERSE_UNDEFINED : exception; -- raised by INVERSE_TRANSFORMATION if error occurs end NDC_TRANSFORM;