home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C ++ / Applications / Conic Sections 0.9.2 / Include / Conic.h < prev    next >
Encoding:
Text File  |  1997-04-27  |  850 b   |  50 lines  |  [TEXT/CWIE]

  1. //Copyright (c) 1997 Brian and Aidan Cully
  2. //All rights reserved
  3.  
  4. #ifndef __CONIC_H
  5. #define __CONIC_H
  6.  
  7. #include "LTypes.h"
  8. #include "Angle.h"
  9. #include "CLMessenger.h"
  10.  
  11. #define CONICPARTS 80
  12.  
  13. class TPlane:
  14.     public MMessenger
  15. {
  16. protected:
  17.     float mPDis;
  18.     void CalcNormal();
  19.     TAngle mPAng;
  20.     p3d *mAPlane;
  21. public:
  22.     p3d *mPlane;
  23.     p3d mPNorm;
  24.     TPlane();
  25.     ~TPlane();
  26.     void Init();
  27.     void Kill();
  28.     void SetDistance( float dis );
  29.     float GetDistance() {return( mPDis );};
  30.     void SetAngle( float );
  31.     float GetAngle() {return(mPAng.GetAngle());};
  32.     float GetSinAngle() {return(mPAng.GetSinAngle());};
  33.     float GetCosAngle() {return(mPAng.GetCosAngle());};
  34.     void RotPlane();
  35. };
  36.  
  37. class TConic {
  38. protected:
  39.     p3d *mAConic;
  40. public:
  41.     int mNumInt, *mIntersect;
  42.     p3d *mConic;
  43.     TConic();
  44.     ~TConic();
  45.     void Init();
  46.     void Kill();
  47.     void CalcIntersect( const TPlane & );
  48. };
  49.  
  50. #endif