home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / CW MacMindy 1.4 / Examples / QD3D-Viewer / QD3D-Library Sources / QD3DMath.int < prev    next >
Encoding:
Text File  |  1995-07-14  |  4.4 KB  |  168 lines  |  [TEXT/CWIE]

  1. module: QD3DMath
  2.  
  3. define module QD3DMath
  4.     use Dylan;
  5.     use Extern;                            // imports "load-object-file", etc.
  6.     use Extensions;                        // for <boolean>.
  7.     use QD3DTypes;
  8.     
  9.     export
  10.         Q3Point2D-Set,
  11.         Q3Param2D-Set,
  12.         Q3Point3D-Set,
  13.         Q3RationalPoint3D-Set,
  14.         Q3RationalPoint4D-Set,
  15.         Q3Vector2D-Set,
  16.         Q3Vector3D-Set,
  17.         Q3PolarPoint-Set,
  18.         Q3SphericalPoint-Set,
  19.         Q3Point2D-To3D,
  20.         Q3RationalPoint3D-To2D,
  21.         Q3Point3D-To4D,
  22.         Q3RationalPoint4D-To3D,
  23.         Q3Vector2D-To3D,
  24.         Q3Vector3D-To2D,
  25.         Q3Point2D-Subtract,
  26.         Q3Param2D-Subtract,
  27.         Q3Point3D-Subtract,
  28.         Q3Point2D-Distance,
  29.         Q3Point2D-DistanceSquared,
  30.         Q3Param2D-Distance,
  31.         Q3Param2D-DistanceSquared,
  32.         Q3RationalPoint3D-Distance,
  33.         Q3RationalPoint3D-DistanceSquared,
  34.         Q3Point3D-Distance,
  35.         Q3Point3D-DistanceSquared,
  36.         Q3RationalPoint4D-Distance,
  37.         Q3RationalPoint4D-DistanceSquared,
  38.         Q3Point2D-RRatio,
  39.         Q3Param2D-RRatio,
  40.         Q3Point3D-RRatio,
  41.         Q3RationalPoint4D-RRatio,
  42.         Q3Point2D-Vector2D-Add,
  43.         Q3Param2D-Vector2D-Add,
  44.         Q3Point3D-Vector3D-Add,
  45.         Q3Point2D-Vector2D-Subtract,
  46.         Q3Param2D-Vector2D-Subtract,
  47.         Q3Point3D-Vector3D-Subtract,
  48.         Q3Vector2D-Scale,
  49.         Q3Vector3D-Scale,
  50.         Q3Vector2D-Length,
  51.         Q3Vector3D-Length,
  52.         Q3Vector2D-Normalize,
  53.         Q3Vector3D-Normalize,
  54.         Q3Vector2D-Add,
  55.         Q3Vector3D-Add,
  56.         Q3Vector2D-Subtract,
  57.         Q3Vector3D-Subtract,
  58.         Q3Vector2D-Cross,
  59.         Q3Vector3D-Cross,
  60.         Q3Point3D-CrossProductTri,
  61.         Q3Vector2D-Dot,
  62.         Q3Vector3D-Dot,
  63.         Q3Vector2D-Transform,
  64.         Q3Vector3D-Transform,
  65.         Q3Point2D-Transform,
  66.         Q3Param2D-Transform,
  67.         Q3Point3D-Transform,
  68.         Q3RationalPoint4D-Transform,
  69.         Q3Point3D-To3DTransformArray,
  70.         Q3Point3D-To4DTransformArray,
  71.         Q3RationalPoint4D-To4DTransformArray,
  72.         Q3Vector2D-Negate,
  73.         Q3Vector3D-Negate,
  74.         Q3Point2D-ToPolar,
  75.         Q3PolarPoint-ToPoint2D,
  76.         Q3Point3D-ToSpherical,
  77.         Q3SphericalPoint-ToPoint3D,
  78.         Q3Point2D-AffineComb,
  79.         Q3Param2D-AffineComb,
  80.         Q3RationalPoint3D-AffineComb,
  81.         Q3Point3D-AffineComb,
  82.         Q3RationalPoint4D-AffineComb,
  83.         Q3Matrix3x3-Copy,
  84.         Q3Matrix4x4-Copy,
  85.         Q3Matrix3x3-SetIdentity,
  86.         Q3Matrix4x4-SetIdentity,
  87.         Q3Matrix3x3-Transpose,
  88.         Q3Matrix4x4-Transpose,
  89.         Q3Matrix3x3-Invert,
  90.         Q3Matrix4x4-Invert,
  91.         Q3Matrix3x3-Adjoint,
  92.         Q3Matrix3x3-Multiply,
  93.         Q3Matrix4x4-Multiply,
  94.         Q3Matrix3x3-SetTranslate,
  95.         Q3Matrix3x3-SetScale,
  96.         Q3Matrix3x3-SetRotateAboutPoint,
  97.         Q3Matrix4x4-SetTranslate,
  98.         Q3Matrix4x4-SetScale,
  99.         Q3Matrix4x4-SetRotateAboutPoint,
  100.         Q3Matrix4x4-SetRotateAboutAxis,
  101.         Q3Matrix4x4-SetRotate-X,
  102.         Q3Matrix4x4-SetRotate-Y,
  103.         Q3Matrix4x4-SetRotate-Z,
  104.         Q3Matrix4x4-SetRotate-XYZ,
  105.         Q3Matrix4x4-SetRotateVectorToVector,
  106.         Q3Matrix3x3-Determinant,
  107.         Q3Matrix4x4-Determinant,
  108.         Q3Quaternion-Set,
  109.         Q3Quaternion-SetIdentity,
  110.         Q3Quaternion-Copy,
  111.         Q3Quaternion-IsIdentity,
  112.         Q3Quaternion-Invert,
  113.         Q3Quaternion-Normalize,
  114.         Q3Quaternion-Dot,
  115.         Q3Quaternion-Multiply,
  116.         Q3Quaternion-SetRotateAboutAxis,
  117.         Q3Quaternion-SetRotateXYZ,
  118.         Q3Quaternion-SetRotateX,
  119.         Q3Quaternion-SetRotateY,
  120.         Q3Quaternion-SetRotateZ,
  121.         Q3Quaternion-SetMatrix,
  122.         Q3Quaternion-SetRotateVectorToVector,
  123.         Q3Matrix4x4-SetQuaternion,
  124.         Q3Quaternion-MatchReflection,
  125.         Q3Quaternion-InterpolateFast,
  126.         Q3Quaternion-InterpolateLinear,
  127.         Q3Vector3D-TransformQuaternion,
  128.         Q3Point3D-TransformQuaternion,
  129.         Q3BoundingBox-Copy,
  130.         Q3BoundingBox-Union,
  131.         Q3BoundingBox-Set,
  132.         Q3BoundingBox-UnionPoint3D,
  133.         Q3BoundingBox-UnionRationalPoint4D,
  134.         Q3BoundingBox-SetFromPoints3D,
  135.         Q3BoundingBox-SetFromRationalPoints4D,
  136.         Q3BoundingSphere-Copy,
  137.         Q3BoundingSphere-Union,
  138.         Q3BoundingSphere-Set,
  139.         Q3BoundingSphere-UnionPoint3D,
  140.         Q3BoundingSphere-UnionRationalPoint4D,
  141.         Q3BoundingSphere-SetFromPoints3D,
  142.         Q3BoundingSphere-SetFromRationalPoints4D
  143. end module QD3DMath;
  144.  
  145. define interface
  146.     #include ":MacHeaders:QD3DMath.h",
  147.         equate: {
  148.             "float *" => <float-vector>,
  149.             "enum TQ3Boolean" => <boolean>,
  150.             "enum TQ3Status" => <TQ3Status>,
  151.             "struct TQ3Point2D" => <TQ3Point2D>,
  152.             "struct TQ3Param2D" => <TQ3Param2D>,
  153.             "struct TQ3Point3D" => <TQ3Point3D>,
  154.             "struct TQ3RationalPoint3D" => <TQ3RationalPoint3D>,
  155.             "struct TQ3RationalPoint4D" => <TQ3RationalPoint4D>,
  156.             "struct TQ3Quaternion" => <TQ3Quaternion>,
  157.             "struct TQ3Vector2D" => <TQ3Vector2D>,
  158.             "struct TQ3Vector3D" => <TQ3Vector3D>,
  159.             "struct TQ3PolarPoint" => <TQ3PolarPoint>,
  160.             "struct TQ3SphericalPoint" => <TQ3SphericalPoint>,
  161.             "struct TQ3Matrix3x3" => <TQ3Matrix3x3>,
  162.             "struct TQ3Matrix4x4" => <TQ3Matrix4x4>,
  163.             "struct TQ3BoundingBox" => <TQ3BoundingBox>,
  164.             "struct TQ3BoundingSphere" => <TQ3BoundingSphere>
  165.         },
  166.         object-file: "QuickDrawâ„¢ 3D";
  167. end interface;
  168.